初始化 (action=init)
客户端启动时首先调用,获取软件配置、公告、版本信息,检查黑名单。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| action | string | 是 | 固定值 init |
| machine_code | string | 是 | 客户端机器码,用于黑名单检查和设备识别 |
| version | string | 建议 | 客户端版本号,用于版本控制检查 |
| timestamp | int | 是 | 10位秒级Unix时间戳 |
| nonce | string | 建议 | 随机字符串,防重放攻击 |
成功响应 (code=1)
| 字段名 | 类型 | 说明 |
| timestamp | int | 服务器时间戳 |
| software_name | string | 软件名称 |
| notice | string | 公告内容,可为空 |
| latest_version | string | 最新版本号 |
| min_version | string | 最低允许版本,低于此版本将被拒绝 |
| download_url | string | 更新下载地址 |
| trial_enabled | int | 是否开启试用:0=关闭,1=开启 |
| trial_minutes | int | 试用时长(分钟) |
| login_mode | int | 登录模式:0=双模式,1=仅卡密,2=仅账号 |
| register_need_card | int | 注册是否需要卡密:0=不需要,1=需要 |
| register_gift_days | int | 注册赠送天数 |
| register_gift_points | int | 注册赠送点数 |
| promo_mode | int | 推广模式:0=关闭,1=奖励被邀请人,2=双方奖励,3=奖励邀请人 |
| promo_days | int | 推广奖励天数 |
| promo_points | int | 推广奖励点数 |
| allow_unbind | int | 是否允许解绑:0=不允许,1=允许 |
| heartbeat_interval | int | 心跳间隔(秒),客户端应按此间隔发送心跳 |
| heartbeat_timeout | int | 心跳超时时间(秒) |
| max_open | int | 最大多开数:0=不限,1=单开,N=最多N个 |
可能的错误码
| 错误码 | 说明 | 处理建议 |
| 1001 | 初始化参数错误 | 检查请求参数 |
| 1002 | 签名验证失败 | 检查签名算法和密钥 |
| 1003 | 时间戳已过期 | 同步系统时间 |
| 1010 | 软件不存在或AppKey错误 | 检查app_key是否正确 |
| 1011 | 软件已停用 | 联系开发者 |
| 1012 | 软件维护中 | 稍后再试 |
| 1013 | 版本过低 | 提示用户更新 |
| 1020 | IP已被封禁 | 显示封禁提示 |
| 1021 | 机器码已被封禁 | 显示封禁提示 |
请求示例
// 加密前的参数
action=init&machine_code=ABC123DEF456×tamp=1700000000&version=1.0.0
响应示例
{
"code": 1,
"msg": "初始化成功",
"timestamp": 1700000001,
"software_name": "我的软件",
"notice": "欢迎使用本软件!",
"latest_version": "2.0.0",
"min_version": "1.0.0",
"trial_enabled": 1,
"trial_minutes": 30,
"login_mode": 0,
"heartbeat_interval": 30,
"max_open": 1
}