Expand description
操作规则:搜索 / 浏览 / 书详情 / 目录 / 正文 的字段抽取与分页配置,以及黄金样例。
Structs§
- Book
Info Op - 书详情操作:详情字段抽取(同
BookRules)+ 可选前置请求链(见 design D7-bis)。 字段与BookRules同名同序,故现有bookInfo:{...}JSON 逐字节解析等价;引擎经BookInfoOp::as_book_rules复用既有eval_book_info(不用flatten以保deny_unknown_fields)。 - Book
Rules - 一本书的字段抽取规则(均可省略)。
- Content
Rules - 正文规则(可选分页)。
- Expect
- 样例期望不变量。
- Explore
Op - 浏览操作:两阶段——
entries生成可选择的入口,page用选中入口的变量取书。 - Fetch
Entry Item - fetch 入口项的生成规则:标题 + 变量。两者对「当前数据项(ctx)+ 外层 forEach 变量(vars)」求值,
故
title/vars规则既能via:json读数据项字段,也能{{name}}引用循环变量。 - Fetch
Entry Source - 远端抓取入口源:请求远端分类数据 →
list抽数组 → 每项经item生成入口。 可选forEach按多组变量重复请求并合并入口(空 = 执行一次)。 - List
Page Spec - 共享列表页规格:search 与 explore 取一页书共用。承载前置链、请求(render / interceptApi /
readyFor / totalPages / hasMore / pageBy / vars 均在
Request上)、列表选择与每项字段抽取。 引擎以run_list_page(spec, vars, page, page_size)统一执行。 - Sample
- 黄金样例。
- Static
Entry - 一个静态入口:固定标题 + 取页变量(字面量)。供「全部·最热」这类固定入口声明。
- TocRules
- 目录规则(章节 + 分卷 + 可选分页)。
Enums§
- Entry
Source - 入口源:静态固定入口 或 远端抓取入口。
explore.entries是其数组,按声明顺序合并 (无独立 chain 类型——「按序合并」即数组遍历)。与Rule一致用 untagged + 唯一键判别 (static/fetch)。
Type Aliases§
- Search
Op - 搜索操作 == 共享列表页规格(裸用,不包
page层;search JSON 形状不变)。