diff --git a/docs/HUYA_CHAT_缺失字段补齐方案.md b/docs/HUYA_CHAT_缺失字段补齐方案.md index e9faa1e..508a3d2 100644 --- a/docs/HUYA_CHAT_缺失字段补齐方案.md +++ b/docs/HUYA_CHAT_缺失字段补齐方案.md @@ -75,7 +75,36 @@ udb_appid, udb_guiddata` —— 4 个匿名设备字段已有(anon_device 协 `sdid/hdid`(设备指纹)、`udb_deviceid/udb_guiddata/udb_anobiztoken/udb_anouid`(anon_device)、 `huya_ua`(normalize 注入)。 -## 四、风险与验证要求 +## 五、实现与端到端验证(2026-09-01 晚) + +实现(commit `5dc7365`): + +- 新增 `core/huya/web_cookie_fields.py`:`fill_web_cookie_fields(cookie, guid, uid)` + 补齐 4 核心(guid 用 wsLaunch 会话值,`_qimei_uuid42`/`__yamid_new`/`game_did` + 随机对齐格式)+ qimei 皮肤 + 22 个统计/会话字段;`missing_web_cookie_fields` 返回缺失集合。 +- `core/huya/elite_session.py`:活动通道初始化时若缺网页字段,先 wsLaunch 预取 + 服务端认可的会话 guid → 补齐 cookie → 重建会话;业务 RPC 统一走补齐后的 + cookie(`_resolve_cookie`)。 + +端到端结果(账号 id=58,yyyyuid=1199664135026,原始 16 字段登录态): + +| 任务 | 结果 | +| --- | --- | +| `query_game_name`(b_act_id=9271) | **success**,角色=收麦季(手Q/苹果iOS),game_name=和平精英,已绑定(QQ 昵称"羊"),change_bind_day=7 | +| `query_points`(sid=2203) | **success**,msg=请求成功,gainScore=4880 / usedScore=4880 / available=0 | + +修复前同类任务全部报"接口无响应"(getConfig 超时);修复后 Web API +(`POST /api/huya/tasks/batch`,账号 58)两条任务均 success 落库。 + +复现命令: + +```bash +cd /Users/yml/codes/live-hub-py +.venv/bin/python /tmp/huya_test_session.py # 原始 DB cookie → 自动补齐 → 查角色/积分 +./dev.sh # 界面 http://localhost:5174 → 精英宝典 +``` + +## 六、风险与验证要求 1. `guid/_qimei_uuid42/__yamid_new/game_did` 的**真实性/关联性**服务端是否校验未知; 必须用生成值跑通线上活动 WSS 全链路才能定论,不能只过长度测试。