Files
autman-plugins/plugins/qdreader/README.md
T

132 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 启点读书 QDReader 签到 Autman 插件
QDReader/起点读书 Autman 签到插件。用户侧触发词统一使用“启点”,避免平台关键词麻烦;QX 只负责抓取 Cookie,账号管理、执行查询和签到都在 Autman 插件内完成。
## 文件位置
正式插件文件:
```text
plugins/qdreader/qdreader_sign_autman.js
```
实机 JS 导入副本:
```text
js/qdreader_sign_autman.js
```
Raw 链接:
```text
https://gitea.chickliu.fun/Hermes/autman-plugins/raw/branch/main/plugins/qdreader/qdreader_sign_autman.js
https://gitea.chickliu.fun/Hermes/autman-plugins/raw/branch/main/js/qdreader_sign_autman.js
```
## 当前交互设计
### 一级菜单
```text
启点账号
启点查询
```
`启点账号` 只负责账号管理:
```text
启点账号管理
1. 查看账号
2. 添加/更新账号
3. 账号详情/修改备注
4. 删除账号
5. 清空账号
q. 退出
请回复序号
```
`启点查询` 只负责执行情况和执行动作:
```text
启点查询
1. 查看最近执行情况
2. 查询单个账号
3. 立即执行签到
q. 退出
请回复序号
```
### 快速通道
```text
启点ck <QX抓到的完整cookie>
启点签到
启点签到 <uid>
qdreader sign
```
`启点ck` 只保留快速提交 Cookie,不再承担查询/导出/批量导入等管理功能。
## 账号与备注
- 保存 Cookie 后自动绑定当前 `sender.getUserID()`
- 查询、删除、手动签到默认只操作当前用户绑定的账号。
- 账号详情、删除、单账号查询都使用编号选择,不要求用户复制/输入 UID。
- 添加/更新账号后会提示是否添加备注。
- 修改备注在“账号详情/修改备注”中完成。
- 删除账号或清空当前用户账号时,会同步清理对应备注。
- 普通回复只展示脱敏 UID 和备注,不输出完整 Cookie。
## 存储
主数据桶:
```text
hermes_qidian
```
主要 key
```text
qdreader_cookie_json # uid -> full cookie
qdreader_user_bind_json # uid -> sender.getUserID()
qdreader_remark_json # uid -> 备注名
qdreader_last_result_json # uid -> 最近执行结果 JSON 字符串
qdreader_sign_api # 签名网关
qdreader_retry_count # 请求失败重试次数
qdreader_cron_silent # 定时无账号静默
```
读取兼容顺序:
```text
bucketGet("hermes_qidian", key)
↓ fallback
get(key)
↓ fallback
bucketGet("otto", key) # 旧数据兼容
```
写入顺序:
```text
bucketSet("hermes_qidian", key, value)
set(key, value)
```
## 签名与签到流程
1. 从 Cookie 解析 `QDHeader/qdh/uid/guid/qimei/qimei36`
2. `POST <qdreader_sign_api>/sign` 获取请求签名头。
3. `POST https://h5.if.qidian.com/argus/api/v3/checkin/checkin` 完成签到。
4. 写入 `qdreader_last_result_json`
5. 汇总每个账号签到结果。
## 本地验证
```bash
node -c plugins/qdreader/qdreader_sign_autman.js
node -c js/qdreader_sign_autman.js
node tests/qdreader_plugin.test.mjs
```