Skip to main content

Module op

Module op 

Source
Expand description

操作规则:搜索 / 浏览 / 书详情 / 目录 / 正文 的字段抽取与分页配置,以及黄金样例。

Structs§

BookInfoOp
书详情操作:详情字段抽取(同 BookRules)+ 可选前置请求链(见 design D7-bis)。 字段与 BookRules 同名同序,故现有 bookInfo:{...} JSON 逐字节解析等价;引擎经 BookInfoOp::as_book_rules 复用既有 eval_book_info(不用 flatten 以保 deny_unknown_fields)。
BookRules
一本书的字段抽取规则(均可省略)。
ContentRules
正文规则(可选分页)。
Expect
样例期望不变量。
ExploreOp
浏览操作:两阶段——entries 生成可选择的入口,page 用选中入口的变量取书。
FetchEntryItem
fetch 入口项的生成规则:标题 + 变量。两者对「当前数据项(ctx)+ 外层 forEach 变量(vars)」求值, 故 title/vars 规则既能 via:json 读数据项字段,也能 {{name}} 引用循环变量。
FetchEntrySource
远端抓取入口源:请求远端分类数据 → list 抽数组 → 每项经 item 生成入口。 可选 forEach 按多组变量重复请求并合并入口(空 = 执行一次)。
ListPageSpec
共享列表页规格:search 与 explore 取一页书共用。承载前置链、请求(render / interceptApi / readyFor / totalPages / hasMore / pageBy / vars 均在 Request 上)、列表选择与每项字段抽取。 引擎以 run_list_page(spec, vars, page, page_size) 统一执行。
Sample
黄金样例。
StaticEntry
一个静态入口:固定标题 + 取页变量(字面量)。供「全部·最热」这类固定入口声明。
TocRules
目录规则(章节 + 分卷 + 可选分页)。

Enums§

EntrySource
入口源:静态固定入口 或 远端抓取入口。explore.entries 是其数组,按声明顺序合并 (无独立 chain 类型——「按序合并」即数组遍历)。与 Rule 一致用 untagged + 唯一键判别 (static / fetch)。

Type Aliases§

SearchOp
搜索操作 == 共享列表页规格(裸用,不包 page 层;search JSON 形状不变)。