fix(web): 审核回归 — 5 项修复 (渠道写入丢失/斗鱼WS生命周期/归属校验/恢复订阅/画像key稳定)

B1 routers/huya.py: 批量 Web 登录 login_channel/status 回填在 helper 内部 commit
   之后赋值且未再提交 → 丢失; 补 db.commit() 并统一 status=active
B2 routers/login.py + services/login_service.py: 斗鱼登录 WS 断线即 pop 批次,
   刷新后无法重连订阅 → 对齐虎牙模式 (BatchRegistry.mark_finished, 仅结束后清理)
B3 routers/login.py: WS 增加批次归属校验 (非 view_all 仅可订阅自建批次)
S1 LoginTasksPage: effectiveBatchId 从任务列表推导活跃批次, 刷新后停止按钮/
   日志订阅自动恢复
S4 services/huya_service.py: username 仅在为空时回填, 防止 udb_passport 覆盖
   登录名导致一号一设备绑定 key 漂移

验证: 77 后端单测 OK; tsc + vite build OK
This commit is contained in:
yml2213
2026-08-29 18:20:27 +08:00
parent a369829df3
commit 22aa485536
5 changed files with 82 additions and 12 deletions
+4
View File
@@ -932,7 +932,11 @@ def password_login_selected_accounts(
tag=account.tag or "",
username_hint=username,
)
# save_huya_login_cookie_to_account 内部已 commit,渠道/状态回填需再次提交,
# 否则 get_db 关闭会话时丢弃(GUI 登录渠道列会显示"仅导入")。
saved.status = "active"
saved.login_channel = "web"
db.commit()
success_count += 1
results.append({
"line": account.id,