fix(qdreader): treat duplicate sign and unsupported optional tasks correctly

This commit is contained in:
2026-05-20 17:47:54 +08:00
parent 6aa020ca49
commit 85405751b8
5 changed files with 118 additions and 21 deletions
+9 -7
View File
@@ -156,7 +156,8 @@ set(key, value)
- 同时提取 `qdh/QDHeader/guid/qimei/qimei36` 供签名网关使用,其中 `qdh` 只取 Cookie 的 `qdh/QDH`,不再用 `QDHeader` 顶替,避免签名网关 `decodeQDHAuto` 解码失败。
2. `POST <qdreader_sign_api>/sign` 获取请求签名头。默认签名网关基址是 `https://api.120399.xyz/qdreader`
3. `POST https://h5.if.qidian.com/argus/api/v3/checkin/checkin` 完成签到。
4. 按账号读取 `qdreader_task_pref_json` 后追加完全体任务链路:
4. “今日已签到/已经签到/重复签到”等签到响应按成功处理,避免重复执行时误计失败。
5. 按账号读取 `qdreader_task_pref_json` 后追加完全体任务链路:
- 固定执行领取奖励状态查询:`GET /argus/api/v3/checkin/getcurrentweekcheckininfo`
- 可选激励任务:`GET /argus/api/v2/video/adv/mainPage`
- 可选每日任务:`GET /argus/api/v2/video/adv/packageList`
@@ -164,12 +165,13 @@ set(key, value)
- 可选每周兑换:`GET /argus/api/v2/video/exchange/page`,仅北京时间周日执行;
- 可选章节卡片:`GET /argus/api/v2/video/chapterCard/info`
- 可选大咖荐书:`GET /ajax/message/getMessageBox`
5. 写入单账号当日结果 `qdreader_last_result_json`,包括 `ok/msg/time/source/runId/tasks`
6. 写入当日批次日志 `qdreader_last_run_json`,包括触发来源、开始/结束时间、成功/失败/总数和每账号结果;即使账号执行异常也会记录失败日志
7. 插件内只有一个 cron`1 7 * * *`
8. 每日 07:01 触发时执行签到链路
9. 签到运行结束后,马上把本次 `qdreader_last_run_json` 按完成日期写入 `qdreader_archive_json`,再清空 `qdreader_last_result_json` / `qdreader_last_run_json`;手动签到同样会立即归档
10. 汇总每个账号签到/完整任务结果,并在回复中提示归档日期
6. 对签名网关返回 `url 不在允许的接口列表内` 的可选任务,记为“已跳过”而不是账号失败,用于兼容网关白名单尚未覆盖的上游接口
7. 写入单账号当日结果 `qdreader_last_result_json`,包括 `ok/msg/time/source/runId/tasks`
8. 写入当日批次日志 `qdreader_last_run_json`,包括触发来源、开始/结束时间、成功/失败/总数和每账号结果;即使账号执行异常也会记录失败日志
9. 插件内只有一个 cron`1 7 * * *`
10. 每日 07:01 触发时执行签到链路
11. 签到运行结束后,马上把本次 `qdreader_last_run_json` 按完成日期写入 `qdreader_archive_json`,再清空 `qdreader_last_result_json` / `qdreader_last_run_json`;手动签到同样会立即归档
12. 汇总每个账号签到/完整任务结果,并在回复中提示归档日期。
## 查询数据来源