baolong/open-client

There is no license information available for the latest version (v1.0.1) of this package.

openClient for ThinkPhp

Installs: 7

Dependents: 0

Suggesters: 0

Security: 0

Type:openclient

pkg:composer/baolong/open-client

v1.0.1 2026-01-10 04:38 UTC

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 共同完善此项目。