Skip to main content

Module source

Module source 

Source
Expand description

v2 书源配置类型(纯 serde,镜像 book-source.schema.json)。

规则是显式结构化对象,无任何紧凑字符串 DSL。Rule 既是配置、也是供求值器 遍历的语法树(见 design D1/D6)。

Structs§

BookInfoOp
书详情操作:详情字段抽取(同 BookRules)+ 可选前置请求链(见 design D7-bis)。 字段与 BookRules 同名同序,故现有 bookInfo:{...} JSON 逐字节解析等价;引擎经 BookInfoOp::as_book_rules 复用既有 eval_book_info(不用 flatten 以保 deny_unknown_fields)。
BookRules
一本书的字段抽取规则(均可省略)。
BookSource
v2 书源。
Capture
一条结构化命名捕获:对所属请求的响应value 规则求一个字符串, 写入 scope 指定的作用域层,后续步骤/抽取规则以 {{name}} 引用。
Category
浏览分类。
CipherStep
加解密算子。默认值贴合「解密正文」主场景:op=decryptinputEnc=base64outputEnc=utf8
CleanStep
单步后处理。步内多算子按固定顺序执行: regex/replace → trim → prepend → append → decode → encode → hash → cipher → fontMap → cn
ContentRules
正文规则(可选分页)。
Expect
样例期望不变量。
ExploreOp
浏览操作。
HashStep
哈希算子(可选 HMAC)。
Http
HTTP 配置块。
LeafRule
叶子规则:在当前上下文做一次抽取。
PreStep
前置请求链中的一步:一个请求 + 其响应上的有序命名捕获(见 design D7-bis)。 本步 url/headers/body 可引用更早步骤捕获的 {{name}}。显式列字段(#[serde(flatten)] 内嵌 Request:Rule 为 untagged 兜底,flatten 会令 deny_unknown_fields 校验失效)。
RateLimit
速率限制。
Request
单个请求。
Retry
重试策略。
RowUi
声明式登录表单的一行(TUI 渲染对应控件,收集值加密存为 loginInfo)。
Sample
黄金样例。
SearchOp
搜索操作。
TocRules
目录规则(章节 + 分卷 + 可选分页)。

Enums§

ByteEnc
crypto 的 key/iv/输入/输出字节编码。
Charset
字符集。
CipherAlgo
对称加密算法。
CipherMode
加密模式。
CipherOp
加解密方向。
CnConvert
繁简转换方向。
Codec
编解码方式(decode/encode 算子,以及 crypto 的字节↔串编码)。
Extract
取值方式(枚举字符串 或 { "attr": "..." })。
ExtractOp
文本/HTML 取值算子。
FetchMode
取页模式:是否动用浏览器解反爬挑战。 真正是否开浏览器还需 app/用户级授权(两级取交集,见 OpenSpec change browser-fetcher D12)。
HashAlgo
哈希算法。
HashOut
哈希/HMAC 输出编码。
Method
HTTP 方法。
Padding
填充方式(gcm 忽略)。
RowUiType
声明式登录表单项类型。
Rule
一条规则:叶子,或组合子。组合子按其唯一键判别(见 design D1)。
UrlOrRule
URL 字段:可为字符串模板,或一条规则。
VarScope
多步编排:捕获变量的作用域(三级级联 章节→书籍→书源,见 design D7-bis)。 默认 Chapter——最短寿命、零持久、零跨书外溢;get 时按 章节→书籍→书源 取第一个非空。
Via
抽取后端(决定 select 的语义)。

Constants§

SCHEMA_ID
期望的 schema 标识。