心跳 (action=heartbeat)
保持在线状态,按 heartbeat_interval 间隔定时发送。心跳会刷新会话有效期,并返回最新的用户状态。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| action | string | 是 | 固定值 heartbeat |
| token | string | 是 | 登录时获取的令牌 |
| machine_code | string | 建议 | 机器码,用于验证一致性 |
| timestamp | int | 是 | 时间戳 |
成功响应 (code=3)
| 字段名 | 类型 | 说明 |
| timestamp | int | 服务器时间戳 |
| expire_time | string | 最新到期时间 |
| points | int | 最新点数 |
| balance | float | 最新余额 |
| exec_token | string | 新的执行令牌(每次心跳轮换) |
可能的错误码
| 错误码 | 说明 | 处理建议 |
| 3001 | 心跳参数错误 | 检查参数 |
| 3002 | token无效 | 重新登录 |
| 3003 | token已过期 | 重新登录 |
| 3004 | 机器码不匹配 | 可能被盗用,强制下线 |
| 3005 | 账号已被禁用 | 联系管理员 |
| 3006 | 账号已过期 | 提示充值 |
心跳间隔建议使用init返回的heartbeat_interval值,通常为30秒。连续3次心跳超时会话将失效。
请求示例
action=heartbeat&machine_code=ABC123×tamp=1700000000&token=eyJhbGciOiJIUzI1NiIs...
响应示例
{
"code": 3,
"msg": "心跳成功",
"timestamp": 1700000001,
"expire_time": "2024-12-31 23:59:59",
"points": 95,
"balance": 10.50,
"exec_token": "newtoken123"
}