yml2213
|
7ca0f7ee28
|
fix(huya): 刷新开通商品不再依赖已下线的活动任务接口
真机(2026-10-15)实测 webActUI.getActTaskDetail(act 25135) 返回
601「活动已下线」,刷新开通商品第一步就失败,下拉框一直为空。
- 商品来源改为内置候选(积分中心页面「赠送指定礼物得积分」那一排,
全部经 getGoodsInfoV5 真机验证 code=200):精英宝典 hy-8328015 ¥30、
精英币 hy-8327356 ¥0.1、精英徽章 hy-5872824 ¥1、精英令 hy-5879346 ¥10、
精英令*10 hy-5874269 ¥100、精英令*100 hy-5874270 ¥1000;
旧版精英宝典 hy-5879340 页面已不再使用,从候选移除
- 活动任务详情降级为可选补充:返回非 200 只记 warning 并写入
result.task_detail_error,不再让整次刷新失败;失败原因以商品详情为准
- 刷新时清掉该账号全部旧商品行(不限 sid),避免同名商品重复
- 列表接口只返回账号级快照并过滤 2026-07-04 的全局种子行,
同一 spu_id 保留最新一行(原先 精英宝典 会出现两次)
- 前端:下拉标签带 spu 便于区分,按内置顺序排序,默认自动选中第一项
- 新增 tests/test_huya_recharge_goods_source.py(6 条):活动下线响应字节
回归、下线不阻断刷新、活动商品仍会并入、失败原因归属、跨 sid 清理、
列表去重与隐藏种子行(均已做反向验证)
真机验证:刷新成功 6 个商品,价格/库存与网页一致
|
2026-10-15 15:57:25 +08:00 |
|
yml2213
|
905a7ef22c
|
fix(huya): 查询积分改走积分中心新接口(含成长等级)
旧活动接口 webActUI.getUserScore 对任何 sid 都返回 603「活动已结束」
(接口已下线,与工作台 SID/活动配置无关),刷新积分只会报错。
- 协议层新增两个 RPC(WSS + HTTP 双侧同签名):
shopMiddleUI.getRedeemNeedGoods(tag2=当前积分、tag3=兑换门槛,
兑换商品号 POINTS_REDEEM_GOODS_NUM=8315982,传错直接 500)
与 GameBizUI.getGrowLevelUserInfo(成长值/成长等级/昵称/头像)
- 新增结构体 GetRedeemNeedGoodsReq / GetGrowLevelUserInfoReq,
与 HuyaEliteWssSession 透传
- 服务层 _execute_query_points 主源改为积分中心接口,结果带
points/redeem_threshold/grow_level/grow_value,并同步 account.points;
接口无响应时才回退旧活动接口并如实报告其 603 返回
- 开通支付成功后的积分刷新同样改走积分中心接口
- 前端任务页积分结果优先读 points(兼容旧记录的 available_score),
并在有成长等级时一并展示
- 新增 tests/test_huya_points_query.py:真机响应字节回归 + 请求参数
字面量断言 + 服务层积分来源/回退语义(已做反向验证)
真机验证:HTTP 通道取到积分 280 / 门槛 20 / 成长等级 3
|
2026-10-15 15:32:46 +08:00 |
|
yml2213
|
f540dcfc29
|
feat(huya): 对齐积分中心开通链路(2026-10-13 抓包)
按 10.13「开通精英宝典/购买幸运币」抓包(m-shop.huya.com/points.html)对齐商城链路:
- WSS host 改为 launch.queryHttpDns 动态解析(失败回退抓包实测 host);握手 baseinfo
只带 uid/guid/页面 UA/exp,Origin 与页面同源
- wsLaunch 改为带真实 lUid/sGuid;初始化补上 AUTH(0x0A) → getConfig →
UpdateUserExps(0x17),并把 getConfig 下发的版本 map 原样回传(不回传则业务 RPC 无响应)
- 补齐新 RPC:getSupplierInfoV5 / acceptHyProtocolV5 / calcOrderPromotion /
PlayMallUI.getMyPromotion|queryAllocation / wupui.* / huyauserui.getUserProfile
- 下单参数对齐:shopAppInfo.scene=7 与订单 src/orderScene=4 分离、orderType=6、
bizType=5、gameCategoryId=507、extraParam.bizParams 标记 jifencenter、env 仅空点击
序列、支付回调指向 m-shop.huya.com/points.html
- 开通链路抽到 services/huya_shop_flow.py,充值任务改为调用它
验证:新增 tests/test_huya_points_shop_protocol.py 与抓包逐字节比对(心跳、版本回传、
wsLaunch/getConfig/下单/支付帧与新 RPC 参数,共 10 条);按 AGENTS.md 做了反向验证
(把 jifencenter 改成 0 后该用例变红,还原后恢复)。ruff format --check 与全量 pytest 通过。
|
2026-10-15 14:56:30 +08:00 |
|
yml2213
|
8309072120
|
统一推送前Python代码格式
|
2026-09-05 19:25:46 +08:00 |
|
yml2213
|
48c37bb8d7
|
虎牙网页Cookie来源驱动合并与WSS传输门禁
|
2026-09-01 19:17:32 +08:00 |
|
yml2213
|
26514b332d
|
完成虎牙宝典WSS绑定与快照隔离重构
|
2026-09-01 12:40:22 +08:00 |
|
yml2213
|
aab84e0fb5
|
切换虎牙宝典开通任务到WSS会话
|
2026-09-01 12:20:58 +08:00 |
|
yml2213
|
eb065a7c77
|
接入虎牙精英宝典最新商城前置流程
|
2026-09-01 11:42:52 +08:00 |
|
yml2213
|
684e16a07a
|
重构虎牙精英宝典协议与支付状态链路
|
2026-09-01 11:31:15 +08:00 |
|
yml2213
|
b58c6b4357
|
执行 Ruff 安全自动修复
|
2026-08-31 10:28:14 +08:00 |
|
yml2213
|
0efd84a281
|
type: 收窄虎牙绑定与充值执行器类型
|
2026-08-30 19:52:49 +08:00 |
|
yml2213
|
b9eb944d2f
|
refactor(huya): runner 按功能域拆分 Mixin
huya_runner.py (1664行) → core/bind/goods/recharge 四个 Mixin + 入口聚合:
- huya_runner_core.py: 批次状态/日志/任务落库/注册表 + 共用常量 sourceId
- huya_runner_bind.py: 绑定状态机/扫码确认绑定/轮询
- huya_runner_goods.py: 积分/兑换记录/商品刷新/兑换
- huya_runner_recharge.py: 充值商品/下单/到账轮询
- 对外 API 不变 (HuyaBatchRunner/huya_batch_registry), routers 零改动
- pyflakes 全净 (含 TYPE_CHECKING 注解/跨域常量导入修复), 99 单测通过
|
2026-08-30 11:25:35 +08:00 |
|