🚀 开放接口 PHP 客户端

完整的 PHP 客户端实现,包含签名计算、请求封装、错误处理等功能。

📁 文件清单

📦
OpenApiClient.php
PHP 客户端类,封装所有调用逻辑
quickstart.php
快速开始示例,最简单的调用方式
🧪
openapi-student-list-test.php
完整测试示例,演示多种查询场景
📖
README.md
详细使用文档,包含所有接口说明
📝
使用说明.txt
纯文本快速参考指南
🌐
index.html
本页面,可视化使用指南

🚀 快速开始(3 步)

获取应用凭证

登录管理后台 → 应用管理 → 获取 AppCode 和 AppSecret

修改配置

编辑 quickstart.php,填入您的应用信息

运行测试
php quickstart.php

💻 使用示例

方式一:命令行调用

# 基本用法 php openapi-student-list-test.php <appCode> <appSecret> # 示例 php openapi-student-list-test.php YY000001 a1b2c3d4e5f6789012345678901234ab # 指定服务地址 php openapi-student-list-test.php YY000001 a1b2c3d4e5f6789012345678901234ab http://your-domain.com:8080

方式二:代码集成

<?php
require_once 'OpenApiClient.php';

// 1. 创建客户端
$client = new OpenApiClient(
    'http://localhost:8080',
    'YY000001',
    'your-app-secret',
    false  // 调试模式
);

// 2. 调用接口
$result = $client->get('/open/api/student/list', [
    'pageNum' => 1,
    'pageSize' => 10,
    'studentName' => '张'
]);

// 3. 处理响应
if ($result['code'] === 200) {
    echo "总记录数: {$result['total']}\n";
    foreach ($result['rows'] as $student) {
        echo "{$student['studentName']}\n";
    }
}
?>

🔐 签名算法

签名计算步骤:
  1. 收集请求参数(不含签名)
  2. 按参数名 ASCII 码升序排序
  3. 拼接:key1=value1&key2=value2&appSecret=xxx
  4. MD5 加密并转大写
function calculateSign($params, $appSecret) {
    ksort($params);
    $signStr = '';
    foreach ($params as $key => $value) {
        if ($signStr) $signStr .= '&';
        $signStr .= $key . '=' . $value;
    }
    $signStr .= '&appSecret=' . $appSecret;
    return strtoupper(md5($signStr));
}

❌ 常见错误

错误信息 原因 解决方法
签名验证失败 appSecret 错误 检查应用密钥
请求已过期 时间戳超过5分钟 同步服务器时间
无权访问该接口 未授权 在管理后台配置授权
应用已停用 应用状态异常 启用应用
💡 调试技巧:

创建客户端时设置 debug = true,可以查看完整的请求详情和签名计算过程。

$client = new OpenApiClient($url, $code, $secret, true);

🔗 相关资源