开发文档
简验证用户验证系统接口文档,支持用户注册、登录、信息查询、卡密验证、心跳验证等功能。
协议规则
传输方式:HTTP
数据格式:JSON / XML / TEXT(后台可配置)
签名算法:MD5
字符编码:UTF-8
通用返回参数
| 字段名 | 说明 |
|---|---|
| code | 状态码,200 表示成功,其他为错误码 |
| msg | 成功时为业务数据数组,失败时为错误提示 |
| time | 服务器时间戳 |
| check | 校验密钥,md5(time + secretkey + value),用于客户端校验返回值是否被篡改 |
加密类型对照表
| 加密类型 (encrypt_type) | 名称 | 说明 |
|---|---|---|
| 0 | 明文 | 数据不加密,直接提交 |
| 1 | RC4 (hex+GBK) | RC4 加密,密钥经 GBK 转码,输出 hex |
| 2 | BASE64 标准 | 标准 Base64 编码 |
| 3 | RC4-2 (hex) | RC4 加密,输入输出均为 hex |
| 4 | RSA | RSA 私钥解密(服务端持有私钥,客户端用公钥加密) |
| 5 | BASE64 编码集 | 自定义 64 字符表 Base64 |
| 6 | AES-256 | AES-256-CBC 加密 |
| 7 | DES-ECB | DES-ECB 加密 |
签名模式对照表
| 模式 (sign_switch) | 说明 |
|---|---|
| off | 关闭签名校验 |
| request | 请求签名:请求参数需携带 sign=md5(参与签名的字段按 key=value 连接 + 签名密钥) |
| both | 双向签名:请求签名 + 返回签名(返回值额外携带 token) |
[GET] 获取应用配置
获取应用版本号、更新信息、更新地址、强制更新状态与累计接口调用次数。
接口地址:http://userx.top/api.php?api=ini&app={应用ID}
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 应用ID | app | 是 | Int | 应用ID |
| 随机值 | value | 否 | String | 随机字符串 |
返回结果
{"code":200,"msg":{"version":"1.0","version_info":"...","app_update_show":"...","app_update_url":"...","app_update_must":"n","api_total":"88"},"time":1700000000,"check":"..."} [GET] 获取应用公告
获取应用公告内容,客户端可展示在关于页面或公告栏。
接口地址:http://userx.top/api.php?api=notice&app={应用ID}
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 应用ID | app | 是 | Int | 应用ID |
返回结果
{"code":200,"msg":{"app_gg":"这里是应用公告内容"},"time":1700000000,"check":"..."} [POST] 卡密登录
卡密登录验证。免费模式下任意卡密返回永久会员;付费模式下校验卡密有效性、设备绑定、IP绑定与到期时间。
接口地址:http://userx.top/api.php?api=kmlogon&app={应用ID}
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 应用ID | app | 是 | Int | 应用ID |
| 卡密 | kami | 是 | String | 卡密字符串 |
| 机器码 | markcode | 是 | String | 设备唯一标识 |
| 数据签名 | sign | 否 | String | 开启签名时必填 |
返回结果
{"code":200,"msg":{"kami":"XXXX-XXXX","vip":"1735689600"},"time":1700000000,"check":"..."} [POST] 卡密解绑
卡密解绑设备,支持时卡扣时、次卡扣次、永久卡扣解绑次数。需应用开启解绑限制。
接口地址:http://userx.top/api.php?api=kmunmachine&app={应用ID}
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 应用ID | app | 是 | Int | 应用ID |
| 卡密 | kami | 是 | String | 卡密字符串 |
| 机器码 | markcode | 是 | String | 原绑定设备标识 |
返回结果
{"code":200,"msg":"卡密解绑成功","time":1700000000,"check":"..."} [GET] 获取应用文件
获取应用关联的外部文件/下载地址,支持蓝奏云直链解析。
接口地址:http://userx.top/api.php?api=getfile&app={应用ID}
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 应用ID | app | 是 | Int | 应用ID |
| 文件ID | id | 否 | Int | 不传则返回全部 |
返回结果
{"code":200,"msg":[{"file_url":"https://...","date":"2026-08-01 12:00:00","note":"备注"}],"time":1700000000,"check":"..."} [POST] 心跳验证
客户端登录成功后,需定期调用此接口维持在线状态。登录状态码有效期由后台「登录状态码有效期」配置控制,默认 3600 秒。
接口地址:http://userx.top/api.php?api=kmheartbeat&app={应用ID}
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 应用ID | app | 是 | Int | 应用ID |
| 卡密 | kami | 是 | String | 卡密字符串 |
| 登录状态码 | token | 是 | String | 登录成功后返回的 token(也可用 statecode 字段名) |
| 数据签名 | sign | 否 | String | 开启签名时必填 |
返回结果
{"code":200,"msg":"心跳验证成功","time":1700000000,"check":"..."} [GET] Sign签名计算方式
所有接口的 POST 参数(除 sign 外)按 key=value 用 & 连接,最后拼上 SecretKey(即应用配置中的通信密钥 secretkey),再取 MD5 值即为 sign。签名开关开启时需携带该参数。
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 数据签名 | sign | 否 | String | 开启签名时必填,值为 MD5 |
返回结果
Sign = 取MD5值("参数1=" + 值1 + "&参数2=" + 值2 + "&...&" + SecretKey)