docs: capture qdreader plugin menu patterns
This commit is contained in:
+86
-48
@@ -1,6 +1,6 @@
|
||||
# 起点读书签到 Autman 插件
|
||||
# 启点读书 QDReader 签到 Autman 插件
|
||||
|
||||
起点读书(QDReader)Autman 签到插件。QX 只负责抓取 Cookie,签到由本插件在 Autman 内完成。
|
||||
QDReader/起点读书 Autman 签到插件。用户侧触发词统一使用“启点”,避免平台关键词麻烦;QX 只负责抓取 Cookie,账号管理、执行查询和签到都在 Autman 插件内完成。
|
||||
|
||||
## 文件位置
|
||||
|
||||
@@ -23,66 +23,104 @@ https://gitea.chickliu.fun/Hermes/autman-plugins/raw/branch/main/plugins/qdreade
|
||||
https://gitea.chickliu.fun/Hermes/autman-plugins/raw/branch/main/js/qdreader_sign_autman.js
|
||||
```
|
||||
|
||||
## 功能
|
||||
## 当前交互设计
|
||||
|
||||
- QX 抓到 Cookie 后,把 `起点ck <cookie>` 发给 Autman 保存。
|
||||
- 手动全部签到:`起点签到`。
|
||||
- 手动单账号签到:`起点签到 <uid>`。
|
||||
- 定时签到:头注 `//[cron: 15 7 * * *]`,每日 07:15 自动签到。
|
||||
- 查询/维护:`起点ck 查询`、`起点ck 导出`、`起点ck 删除 <uid|all>`。
|
||||
- 签到结果按成功/失败汇总;普通状态输出 uid 会脱敏,导出命令除外。
|
||||
|
||||
## v2.2.0 优化点
|
||||
|
||||
- 存储兼容:同时兼容 `get/set` 和 `bucketGet/bucketSet("otto", key)`。
|
||||
- 消息兼容:兼容 `getContent/GetContent/input/sender.getContent/sender.getMessage`。
|
||||
- 请求兼容:兼容 `request/$request`,并统一解析 `body/data` JSON。
|
||||
- 签名兼容:兼容 `{code:0,data:{headers:{...}}}`、`{code:200,data:{...}}`、`{headers:{...}}` 等签名网关返回形态。
|
||||
- 网络健壮性:新增 `otto.qdreader_retry_count`,默认重试 1 次,最大 3 次。
|
||||
- 定时体验:新增 `otto.qdreader_cron_silent`,可让定时触发且无账号时静默。
|
||||
- 安全脱敏:保存/查询/签到结果不直接输出完整 Cookie;`导出` 是管理员主动行为,会输出完整 JSON。
|
||||
- 测试覆盖:`tests/qdreader_plugin.test.mjs` 覆盖手动、定时、bucket 存储、重试、查询脱敏、删除全部。
|
||||
|
||||
## 配置
|
||||
|
||||
Autman 参数:
|
||||
### 一级菜单
|
||||
|
||||
```text
|
||||
otto.qdreader_cookie_json = {"uid":"cookie"}
|
||||
otto.qdreader_sign_api = https://api.120399.xyz
|
||||
otto.qdreader_retry_count = 1
|
||||
otto.qdreader_cron_silent = false
|
||||
启点账号
|
||||
启点查询
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
- `qdreader_cookie_json`:机器人命令维护,JSON Map 格式。
|
||||
- `qdreader_sign_api`:兼容 `/sign` 的签名网关,默认 `https://api.120399.xyz`。
|
||||
- `qdreader_retry_count`:请求异常重试次数,默认 1,范围 0-3。
|
||||
- `qdreader_cron_silent`:`true` 时,如果定时触发但没有账号,不发送提醒。
|
||||
|
||||
## 命令
|
||||
`启点账号` 只负责账号管理:
|
||||
|
||||
```text
|
||||
起点ck <QX抓到的完整cookie>
|
||||
起点ck json {"uid":"cookie"}
|
||||
起点ck 查询
|
||||
起点ck 导出
|
||||
起点ck 删除 <uid>
|
||||
起点ck 删除 all
|
||||
起点签到
|
||||
起点签到 <uid>
|
||||
启点账号管理
|
||||
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)
|
||||
```
|
||||
|
||||
## 签名与签到流程
|
||||
|
||||
签名与签到流程沿用上游 QDReader:
|
||||
|
||||
1. 从 Cookie 解析 `QDHeader/qdh/uid/guid/qimei/qimei36`。
|
||||
2. `POST https://api.120399.xyz/sign` 获取起点请求签名头。
|
||||
2. `POST <qdreader_sign_api>/sign` 获取请求签名头。
|
||||
3. `POST https://h5.if.qidian.com/argus/api/v3/checkin/checkin` 完成签到。
|
||||
4. 汇总每个账号签到结果。
|
||||
4. 写入 `qdreader_last_result_json`。
|
||||
5. 汇总每个账号签到结果。
|
||||
|
||||
## 本地验证
|
||||
|
||||
|
||||
Reference in New Issue
Block a user