Files
QieKan-3.0/docs/dev/source-fields.md
T

7.8 KiB
Raw Blame History

源字段速查 (Source Fields)

toc

本文档列出源 JSON 中各部分(搜索、发现、详情页、目录、正文)的所有可用字段。

1. 基本字段

字段 必须 说明
bookSourceUrl 源 URL,唯一标识,不可重复。与其他源相同会覆盖
bookSourceName 源名称,可重复
bookSourceGroup 源分组,用于整理
bookSourceType 源类型:0(文本,默认)、1(音频)
bookUrlPattern 书籍 URL 正则,添加网址时用于识别源
header 请求头 JSON 字符串,见 请求头配置
loginUrl 登录 URL,见 认证与登录
exploreUrl 发现地址,见 发现 URL 配置
searchUrl 搜索地址
weight 源权重,搜索排序时使用
enabled 是否启用
enabledExplore 是否启用发现
customOrder 自定义排序
lastUpdateTime 最后更新时间
bookSourceComment 源备注

2. 搜索字段 (ruleSearch)

字段 说明
url 搜索地址。{{key}} 为关键字,{{page}} 为页码
bookList 书籍列表规则
name 书名规则
author 作者规则
kind 分类规则
wordCount 字数规则
lastChapter 最新章节规则
intro 简介规则
coverUrl 封面规则
bookUrl 详情页 URL 规则

3. 发现字段 (ruleExplore)

字段 说明
url 发现地址。{{page}} 为页码,支持 JSON 数组格式
bookList 书籍列表规则
name 书名规则
author 作者规则
kind 分类规则
wordCount 字数规则
lastChapter 最新章节规则
intro 简介规则
coverUrl 封面规则
bookUrl 详情页 URL 规则

4. 详情页字段 (ruleBookInfo)

字段 说明
bookInfoInit 预处理规则(仅支持 AllInOne 正则或 JS
name 书名规则
author 作者规则
kind 分类规则
wordCount 字数规则
lastChapter 最新章节规则
intro 简介规则
coverUrl 封面规则
tocUrl 目录 URL 规则(仅支持单个 URL)
canReName 允许修改书名作者
relatedBooks 关联书籍配置,见 关联书籍配置

预处理规则 (bookInfoInit)

只能使用 AllInOne 正则(以 : 开头)或 JS。JS 返回值需为 JSON 对象:

(function(){
    return {
        a: "书名",
        b: "作者",
        c: "分类",
        d: "字数",
        e: "最新章节",
        f: "简介",
        g: "封面URL",
        h: "目录URL"
    };
})()

此时各规则字段填对应的 keynameaauthorb,以此类推。

canReName 逻辑

条件 行为
规则不为空 且 详情页书名不为空 使用详情页书名
否则 使用搜索页书名
规则不为空 且 详情页作者不为空 使用详情页作者
否则 使用搜索页作者

5. 目录字段 (ruleToc)

字段 说明
chapterList 目录列表规则。首字符 - 可使列表反序
chapterName 章节名称规则
chapterUrl 章节 URL 规则
isVip VIP 标识。结果为 nullfalse0"" 时为非 VIP
updateTime 章节信息(可用 java.timeFormat(timestamp) 转换时间戳)
nextTocUrl 目录下一页规则。支持单个 URL、URL 数组,JS 返回 []/null/"" 时停止

6. 正文字段 (ruleContent)

字段 说明
content 正文规则
nextContentUrl 正文下一页 URL 规则。支持单个 URL、URL 数组
sourceRegex 资源正则,用于嗅探媒体资源
webJs WebView JS,用于模拟点击等操作。必须有返回值(不为空表示执行成功)

WebView JS (webJs)

用于模拟鼠标点击等操作,返回值不为空表示执行成功(否则会无限循环),返回值用于资源正则或正文。

示例:

getDecode();$('#content').html();

资源正则 (sourceRegex)

用于嗅探 WebView 加载的媒体资源。配合章节 URL 的 {"webView": true} 使用。

一般写 .*\.(mp3|mp4).* 即可匹配常见媒体格式。

7. 完整 JSON 结构

{
    "bookSourceUrl": "https://www.example.com",
    "bookSourceName": "示例源",
    "bookSourceGroup": "分组",
    "bookSourceType": 0,
    "bookUrlPattern": "",
    "header": "",
    "loginUrl": "",
    "searchUrl": "/search?key={{key}}&page={{page}}",
    "exploreUrl": "",
    "enabled": true,
    "enabledExplore": false,
    "weight": 0,
    "ruleSearch": {
        "bookList": "",
        "name": "",
        "author": "",
        "kind": "",
        "wordCount": "",
        "lastChapter": "",
        "intro": "",
        "coverUrl": "",
        "bookUrl": ""
    },
    "ruleExplore": {
        "bookList": "",
        "name": "",
        "author": "",
        "bookUrl": ""
    },
    "ruleBookInfo": {
        "name": "",
        "author": "",
        "kind": "",
        "intro": "",
        "coverUrl": "",
        "tocUrl": ""
    },
    "ruleToc": {
        "chapterList": "",
        "chapterName": "",
        "chapterUrl": "",
        "nextTocUrl": ""
    },
    "ruleContent": {
        "content": "",
        "nextContentUrl": "",
        "sourceRegex": "",
        "webJs": ""
    }
}