fix qdreader upstream task edge cases

This commit is contained in:
2026-05-20 22:15:56 +08:00
parent 510f7f086a
commit c850f2bbbe
5 changed files with 46 additions and 13 deletions
+1 -1
View File
@@ -647,7 +647,7 @@ QDReader 签到结果判定补充:
## 12. QDReader 上游完全体任务修复记录
- 不要只凭接口名猜测“激励任务/每日任务/大咖荐书”的调用链;应先反混淆上游 `Yuheng0101/X/Tasks/QDReader/qdreader.js`,再按真实流程移植。
- 激励任务 `finishWatch` 可能返回 `result=9`,上游将其视为可继续/已受理,再回查 `mainPage` 判断任务是否完成;插件不能把 `result=9` 直接计为失败。
- 激励任务 `finishWatch` 可能返回 `result=9``Result=9`,上游将其视为可继续/已受理,再回查 `mainPage` 判断任务是否完成;插件不能把大小写不同的 `result=9` 直接计为失败。
- 每日任务不是简单取任务列表第一个。上游会先处理 `packagelist` 里的惊喜/前置任务,再从任务列表按标题定位“每日任务”,执行多次 `finishWatch` 后回查完成状态。
- 大咖荐书不是一次 `pullmessage` 即结束。消息 token 需要由 `UserId` 经过 `(uid * 4 & 0x7ffffffffffffffc) ^ 0x113a4f` 后转 base62;流程是:拉会话列表 → 对红点会话带 `senderId` 拉消息 → 从最近消息提取 `orderId``getrewarddetail` → 根据奖励类型走 `rewardcallback``addbookshelf`。如果直接用十进制 token 或缺少 `senderId`,容易返回“参数错误”。
- “无可领取礼包/今日已签到”属于幂等成功类提示;这类提示不应让整个账号汇总失败。