完善虎牙短信登录与图形安全验证

This commit is contained in:
yml
2026-11-14 02:11:23 +08:00
parent 9d738becd3
commit 2c2dc26a93
17 changed files with 2914 additions and 148 deletions
@@ -3,14 +3,14 @@ type: 权威架构与实施计划
description: 订单、内部 SKU、履约路由、履约执行、商品、成本与财务的唯一权威口径及重构计划。
tags: [订单, 内部SKU, 履约, 商品, 成本, 财务, 迁移]
status: authoritative
version: 2.11
updated_at: 2026-11-13
version: 2.14
updated_at: 2026-11-14
---
# 统一订单、履约与财务模型
> 状态:**唯一权威文档**。
> 最后校准:2026-11-13。
> 最后校准:2026-11-14。
> 生产基线:迁移 `151`。
> 开发基线:迁移 `161`(仅本地,尚未部署生产)。
>
@@ -312,9 +312,15 @@ manual fulfillment
`embedded` 为 order_site 内置真实实现并作为默认值,`external` 为显式配置的远程真实实现,
`mock` 为 order_site 内置开发 Mock 且仅在非生产环境可用。开发 Mock 造单时默认选择 `embedded`,
只有需要完全脱离虎牙接口联调页面时才显式选择 `mock`。三种模式都必须能导出统一 Cookie JSON。
- 虎牙二维码登录有效期 `5` 分钟;登录成功后的 Connector 内存会话有效期 `24` 小时,
账号级 CK 由内部凭证表保存并通过健康检查判定有效性;浏览器一次性注入票据 `2` 分钟且消费后立即失效。
重新登录前必须撤销旧 Connector 会话。
- 虎牙默认使用手机号短信验证码登录,扫码登录作为同页可选方式。短信验证码只能在客户点击
“发送验证码”后触发,页面不得在加载、轮询或切换 Tab 时自动发码;短信登录会话有效期 `5` 分钟。
登录成功后的 Connector 内存会话有效期 `24` 小时,账号级 CK 由内部凭证表保存并通过健康检查判定有效性;
浏览器一次性注入票据 `2` 分钟且消费后立即失效。重新登录前必须撤销旧 Connector 会话。
虎牙发码触发图形安全验证时,应由客户在 order_site 页面完成:`pt_auth` 使用滑块拼图,
`dx_auth` 使用按序点选,`rotate_auth` 使用旋转调整。服务端只接收客户最终位置、角度或点击坐标,
生成对应交互轨迹并重试发码,不自动识别、伪造或绕过平台风控。发码原始响应必须记录到集成日志,
但日志系统必须继续屏蔽 Cookie、令牌、验证码等敏感字段。`qr_auth` 和二次短信验证必须明确提示,
不得伪装成可完成的图形验证。
- 虎牙客户登录成功后,无论账号此前是否已有角色,都立即保存 CK 并进入等待客服处理。
角色绑定、换绑和角色状态查询在后续独立流程实现,不能阻塞当前 CK 获取。
- 浏览器扩展复用 live-hub-py 的 `web/extension/huya-exchange-helper`,不新增第二个扩展;
@@ -968,6 +974,7 @@ docs/archive/
4. 执行 `finance:rebuild-derived` 的 dry-run,核对 A 级数据守恒后,
再按窗口执行 `--execute --confirm=REBUILD_DERIVED`,并验证第二次重建幂等。
5. 观察一个完整财务期间,确认页面、履约、事实和总账持续对平。
6. 半自动平台当前只负责客户登录和账号 CK 获取;继续完善微博手机号登录、易盾二次验证、
完整域名 Cookie 保存和会话恢复。角色绑定与换绑后续独立设计,不阻塞 CK 获取和客服处理。
6. 半自动平台当前只负责客户登录和账号 CK 获取;微博支持手机号登录、易盾二次验证、
完整域名 Cookie 保存和会话恢复;虎牙支持客户手动触发的短信验证码登录和扫码登录。
角色绑定与换绑后续独立设计,不阻塞 CK 获取和客服处理。
7. 观察期结束后,再单独发布兼容表、旧脚本别名和 `legacy_*` 字段的删除迁移。