登录 (action=login)
用户登录验证,统一使用 username + password 参数。卡密登录时 username=卡号,password=0。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| action | string | 是 | 固定值 login |
| machine_code | string | 是 | 客户端机器码 |
| username | string | 是 | 用户名或卡密号 |
| password | string | 是 | 密码(卡密登录时固定为 "0") |
| timestamp | int | 是 | 时间戳 |
| nonce | string | 建议 | 随机字符串 |
登录模式说明
- login_mode=0(双模式):服务端自动判断,password="0"时优先尝试卡密登录
- login_mode=1(仅卡密):username=卡号,password必须为"0"
- login_mode=2(仅账号):正常账号密码登录
成功响应 (code=2)
| 字段名 | 类型 | 说明 |
| timestamp | int | 服务器时间戳 |
| token | string | 登录令牌,后续请求必须携带 |
| username | string | 用户名 |
| expire_time | string | 到期时间,格式:2006-01-02 15:04:05 |
| points | int | 剩余点数 |
| exec_token | string | 执行令牌,用于ban等敏感操作的二次验证 |
| promo_reward | object | 推广奖励通知(如有),包含count/days/hours/points |
可能的错误码
| 错误码 | 说明 | 处理建议 |
| 2001 | 登录参数错误 | 检查username和password |
| 2002 | 用户不存在 | 提示用户注册或检查用户名 |
| 2003 | 密码错误 | 提示重新输入密码 |
| 2004 | 账号已被禁用 | 联系管理员 |
| 2005 | 账号已过期 | 提示充值续费 |
| 2006 | 机器码不匹配 | 提示解绑后重新登录 |
| 2007 | 超出多开限制 | 提示关闭其他客户端 |
| 2008 | IP地址不匹配 | 提示解绑后重新登录 |
| 2020 | IP已被封禁 | 显示封禁提示 |
| 2021 | 机器码已被封禁 | 显示封禁提示 |
| 2030 | 卡密不存在 | 检查卡密是否正确 |
| 2031 | 卡密已被使用 | 提示使用新卡密 |
| 2032 | 卡密已被冻结 | 联系管理员 |
| 2033 | 卡密已过期 | 使用新卡密 |
| 2034 | 卡密与软件不匹配 | 检查卡密是否属于当前软件 |
连续登录失败10次后,账号将被锁定30分钟。
卡密登录示例
// 请求参数(卡密登录:username=卡号,password=0)
action=login&machine_code=ABC123&password=0×tamp=1700000000&username=XXXX-XXXX-XXXX
// 成功响应
{
"code": 2,
"msg": "登录成功",
"timestamp": 1700000001,
"token": "eyJhbGciOiJIUzI1NiIs...",
"username": "XXXX-XXXX-XXXX",
"expire_time": "2024-12-31 23:59:59",
"points": 100,
"exec_token": "abc123def456"
}
账号密码登录示例
// 请求参数
action=login&machine_code=ABC123&password=mypassword×tamp=1700000000&username=myuser
// 成功响应
{
"code": 2,
"msg": "登录成功",
"timestamp": 1700000001,
"token": "eyJhbGciOiJIUzI1NiIs...",
"username": "myuser",
"expire_time": "2024-06-30 12:00:00",
"points": 50,
"exec_token": "xyz789"
}