baolong / open-client
openClient for ThinkPhp
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Type:openclient
pkg:composer/baolong/open-client
Requires
- php: >=7.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-zlib: *
This package is auto-updated.
Last update: 2026-01-10 04:54:06 UTC
README
OpenClient 是一个 PHP 客户端库,提供简单易用的 HTTP 请求、加密解密、数据处理等功能,适用于快速集成第三方服务。
功能特性
- HTTP 请求:支持 GET、POST 等多种请求方式,自定义请求头
- JWT 签名:支持 HS256/HS384/HS512 算法
- 数据处理:
- UUID、唯一 ID 生成
- 文本编码转换
- JSON 与数组互转
- 加解密:
- 对称加密/解密
- Base64 安全编码
- 数据压缩/解压
- 异常处理:完善的异常体系,支持自定义错误信息
- 数据验证:数组数据访问与验证
环境要求
- PHP >= 7.4
- Composer 依赖管理
安装
通过 Composer 安装:
composer require open-client/open-client
快速开始
配置客户端
use OpenClient\OpenClient;
// 初始化配置
OpenClient::config([
'app_id' => 'your_appid',
'app_secret' => 'your_secret'
]);
发送消息
// 发送消息
$result = OpenClient::Msg()->send([
'mobile' => '手机号码',
'template_id' => '模版ID int类型',
'params' => [
'code' => '模版 code 内容',
'text' => '模版 text 内容',
],
]);
// 查询消息状态
$status = OpenClient::Msg()->query();
身份证验证
$result = OpenClient::IdentityCard()->send([
'name' => '张三',
'idcard' => '110101199001011234',
'mobile' => '1388888888',
]);
核心类说明
OpenClient
主入口类,负责配置管理和实例创建。
// 配置
OpenClient::config($option);
// 调用服务(自动实例化)
OpenClient::Msg()->send($data);
Contracts\Basic
基类,提供 JWT 签名和 Token 获取等基础功能。
Contracts\HttpExtend
HTTP 请求封装,支持 GET/POST 方法。
// GET 请求
HttpExtend::get($location, $data, $options);
// POST 请求
HttpExtend::post($location, $data, $options);
Contracts\CodeExtend
工具类,提供多种编码/加密功能。
// 生成 UUID
CodeExtend::uuid();
// 加密
$encrypted = CodeExtend::encrypt($data, $skey);
// 解密
$decrypted = CodeExtend::decrypt($encrypted, $skey);
Contracts\DataArray
数组访问类,支持通过属性方式访问数组数据。
$data = new DataArray(['key' => 'value']);
echo $data->key; // 输出 'value'
异常处理
项目定义了完善的异常体系:
InvalidArgumentException- 参数错误InvalidDecryptException- 解密失败InvalidInstanceException- 实例化错误InvalidResponseException- 响应错误LocalCacheException- 本地缓存错误
use OpenClient\Exceptions\InvalidResponseException;
try {
$result = OpenClient::Msg()->send($data);
} catch (InvalidResponseException $e) {
echo $e->getMessage();
}
版本历史
- v1.1.1 - 优化代码结构,增强稳定性
许可证
本项目遵循开源许可证,具体信息请查看 LICENSE 文件。
贡献
欢迎提交 Issue 和 Pull Request 共同完善此项目。