账号登录流程
使用 self_id + protocol_id 选择账号。协议 ID 从 get_protocol_list 获取,0 是有效值;账号必须属于当前框架。
创建账号
通过 get_device_profile_list 选择设备指纹,再调用 add_account。创建后账号处于离线状态,不会自动登录。
Android 账号需要密码,可选择 NT 或 WTLogin;Linux 使用 NT,密码可留空。修改账号使用 update_account。
发起登录
调用 login_account,按账号保存的登录方式执行:
{
"type": "action",
"id": "login-1",
"action": "login_account",
"params": { "self_id": 123456789, "protocol_id": 0 }
}读取响应 data.next 判断后续步骤,外层 ok: true 不代表账号已经在线。
| next | 处理方式 |
|---|---|
done | 登录完成 |
slider | 完成滑块后,按登录方式调用 ntlogin_submit_slider 或 wtlogin_submit_slider |
security | 查询对应登录方式的安全验证方式,使用服务器提供的验证类型与标识继续 |
identity | 按 identity_url 与身份验证接口继续 |
qr | 展示 Linux 登录二维码,使用 query_login_qr 查询状态 |
failed | 读取 code、message,修正问题后重试 |
Linux 扫码登录
调用 get_login_qr,将 url 绘制成二维码,并保存 qr_sig。使用 query_login_qr 查询;login_complete: true 且 next: "done" 才表示登录完成。
账号使用密码登录时,安全验证二维码由 get_security_verify_qr 创建,两类二维码不能混用。
短信与安全验证
NT 使用 ntlogin_get_security_verify_methods、ntlogin_get_sms 和 ntlogin_check_sms。WTLogin 使用对应的 wtlogin 接口。
使用当前响应提供的 sign 和验证类型,不复用其他账号、协议或之前会话的验证材料。每次验证后重新读取 next,可能仍需完成其他步骤。
NT 登录要求在网页完成安全验证时,完成后调用 ntlogin_retry_security_verify,传入同一账号的 self_id 与 protocol_id,继续当前登录。不要重新发起 login_account 或清理缓存;重新读取返回的 next,直到 done 才视为登录完成。WTLogin 不使用这个接口。
缓存登录
先调用 check_cache,缓存可用时调用 cache_login。网络超时不等于缓存失效,不应立即清理缓存或反复申请验证码。
状态查询使用 get_bot_info。需要主动下线时使用 offline_account。
