API 接口文档
所有 API 请求通过 /api/v1.php 入口访问。
通用说明
请求格式
支持 GET / POST,Content-Type: application/json 或 application/x-www-form-urlencoded
通用参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app_id | string | 是 | 商户 AppID |
| timestamp | int | 是 | 当前时间戳(秒),5分钟有效 |
| nonce | string | 是 | 随机字符串(防重放) |
| sign | string | 是 | HMAC-SHA256 签名 |
| data | string | 否 | AES加密后的业务数据(JSON) |
签名算法
- 收集所有请求参数(排除 sign 和 file)
- 按键名升序排列
- 拼接为 key1=value1&key2=value2 格式
- 使用 AppSecret 作为密钥,HMAC-SHA256 签名
加密方式
业务参数 JSON 使用 AES-256-CBC 加密,密钥为安装时生成的 crypt_key 的 SHA256 哈希。
1. 用户注册
action: register
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | 用户名 |
| password | string | 是 | 密码(明文,已通过AES加密传输) |
| string | 否 | 邮箱 |
响应示例
{
"status": 200,
"message": "注册成功",
"data": { "user_id": 1 },
"time": 1700000000
}
2. 用户登录
action: login
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | 用户名 |
| password | string | 是 | 密码 |
| device_code | string | 否 | 设备码(如启用设备绑定) |
| device_info | string | 否 | 设备信息 |
3. 卡密验证
action: verify_card
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| card_key | string | 是 | 卡密 |
| username | string | 否 | 绑定的用户名 |
4. 卡密使用(绑定到用户)
action: use_card
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| card_key | string | 是 | 卡密 |
| username | string | 是 | 要绑定的用户名 |
5. 设备绑定
action: bind_device
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | 用户名 |
| device_code | string | 是 | 设备码 |
| device_info | string | 否 | 设备信息 |
6. 设备解绑
action: unbind_device
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | 用户名 |
| device_code | string | 是 | 设备码 |
7. IP授权验证
action: check_ip
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | 用户名 |
系统自动获取客户端 IP 进行验证。
8. 用户信息查询
action: user_info
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | 用户名 |
错误码
| 状态码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 参数错误 |
| 401 | 未授权 / 签名验证失败 |
| 403 | 禁止访问(IP未授权/设备未绑定等) |
| 404 | 资源不存在 |
| 429 | 请求频率过高 |
| 500 | 服务器错误 |