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