外观
Connect 单码登录
Connect 是可独立配置返回格式的简化兼容接口,不使用 V1/V3 或 SDK 签名。它的开放方式由管理员设置为基础开放、权益等级开放、用户自行开通或关闭。
先确认当前项目的 Connect 状态
打开接口中心 管理员可将它设为默认启用、按权益等级开放或用户自行开通;启用后可进入独立页面配置兼容响应。
请求
POST
https://gnyanzheng.cn/connect/{程序ID}独立兼容协议http
POST /connect/{程序ID}
Content-Type: application/x-www-form-urlencoded
user_key=YOUR_CARD&serial=DEVICE_ID/conncet/{程序ID} 仅作为历史拼写入口;新客户端统一使用 /connect/{程序ID}。
| 字段 | 必填 | 说明 |
|---|---|---|
user_key | 是 | 卡密 |
serial | 是 | 设备码 |
nonce | 否 | 客户端请求随机串,长度 1~96,仅限字母、数字和 _.:- |
nonce 是唯一的防重放手段
Connect 协议没有签名,服务端只靠 nonce 识别重复请求:不传 nonce 时,同一 user_key + serial 的请求可以无限重放(重复登录本身幂等,但会累计卡密使用次数并产生重复日志)。需要防重放的客户端必须为每次请求生成一个新鲜的 nonce;同一 nonce 在 60 秒内重复提交会返回 409。
成功判断
json
{
"status": true,
"code": 1,
"reason": "登录成功",
"data": {
"token": "...",
"expires_at": "2026-12-31 23:59:59",
"device_limit": 1,
"server_time": 1780000000,
"machine_code": "DEVICE_ID",
"announcement": "当前程序发布的公告"
},
"request_id": "..."
}必须以 status === true 判断成功。不要使用标准接口的 code === 0 规则判断 Connect 响应。
成功后从 data.token 读取 token,不要读取顶层 token。data.announcement 只可能是当前程序已启用且已授权的程序公告,绝不会混入平台站长公告;没有可展示公告时可为空。
失败响应
json
{
"status": false,
"code": -1,
"reason": "卡密无效或服务暂时不可用",
"request_id": "..."
}兼容协议的部分失败仍可能返回 HTTP 200,因此必须解析 JSON。平台故障还可能附带 error_id;业务拒绝只向用户展示 reason,不要无限重试。
兼容旧客户端返回格式
项目所有者可在用户端「接口中心 → Connect 兼容响应」为当前程序单独配置字段名、Token 算法与拼接模板。未配置时始终使用上面的平台默认响应;配置错误时可一键恢复默认。
- 支持
MD5、SHA-256、HMAC-SHA256,不允许运行自定义代码。 - 模板仅支持平台列出的白名单占位符,兼容密钥加密保存且不会回显。
- 自定义只改变响应外观和成功 Token,不能绕过卡密、设备、程序状态、接口授权、配额、会话或下线判断。
- 失败仍由平台强制输出失败状态,项目所有者不能把失败伪装为成功。
- 修改只影响当前程序的
/connect/{程序ID}与历史别名/conncet/{程序ID}。
不要使用 HEAD 测试登录
curl -I 发送的是 HEAD 请求,不能验证 POST 登录链路。测试时必须提交真实的表单字段,并以 JSON 中的 status 判断结果。