chore: 固化NapCat验证码工作流

This commit is contained in:
sunlei 2026-06-13 09:25:50 +08:00
parent 1d899734b4
commit 76bcbffcfe

View File

@ -607,6 +607,7 @@ export function buildComponentWorkflow(
"后端拿旧 login state 判断成功",
"把 ACCOUNT 当成登录凭据,忽略 QQ 历史登录态、账号密码或扫码兜底",
"在请求日志、Loki 或列表接口里暴露 QQ 登录密码",
"把 proofWaterUrl 当作验证码完成链接,或伪造 ticket/randstr 继续登录",
],
files: [
"Node/kt-template-online-api/src/qqbot/account",
@ -619,6 +620,8 @@ export function buildComponentWorkflow(
"看门狗自动登录只跑 quick -> password扫码必须由管理员手动触发",
"账号登录密码前端只传 RSA-OAEP 加密字段 encryptedLoginPassword后端用 QQBOT_ACCOUNT_SECRET_KEY 二次加密落库,列表不回显",
"ACCOUNT 只指定目标账号;免扫码优先依赖数据卷历史登录态,密码登录失败或触发强制扫码时再进二维码",
"密码登录触发验证码时保持 scan session pendingAdmin 通过 TencentCaptcha 拿 ticket/randstr/sid再由 API 调用同一 NapCat 容器 /api/QQLogin/CaptchaLogin",
"验证码 pending、cancel、expire、success 和失败终态都必须清理临时密码环境变量,清理失败要阻断成功或二维码兜底",
"SSE 返回 step/status/qrcode/error",
"容器重启只在必要时触发,优先直接通信 NapCat API",
],
@ -627,7 +630,7 @@ export function buildComponentWorkflow(
"docker inspect 确认已绑定容器存在 ACCOUNT=<selfId>",
"docker restart 后 WebUI CheckLoginStatus/GetQQLoginInfo 验证 isLogin/online/uin失败时检查 NapCat 日志是否为无历史登录记录、密码登录失败或需扫码验证",
"scan/events 能看到 quick-login-start/quick-login-fallback/password-login-start/password-login-fallback/重置/生成二维码/等待扫码/成功或失败",
"目标 Jest 覆盖 quick 成功、password 成功、password 失败进二维码、密文保存、容器 env 注入",
"目标 Jest 覆盖 quick 成功、password 成功、password 失败进二维码、验证码 CaptchaLogin 回传、密文保存、容器 env 注入和清理失败阻断",
"手动刷新不超时",
"过期二维码不再复用",
],