更新记录

1.4.8(2025-02-08) 下载此版本

  • 这是一次大更新,版本升级为3.0
  • 2.0的源不能在该版本上使用
  • 需要2.0版本源码请去我得gitee仓库下载
  • 具体更新功能请下载打包之后体验

1.4.7(2023-11-08) 下载此版本

  • 修复android13分享文件提示复制资源失败的问题

1.4.6(2023-11-06) 下载此版本

  • 修复导入网络源一直转圈的问题
查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.99 app-vue app-nvue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

应用介绍

  • 1、该项目为聚合资源APP,暂只支持安卓APP
  • 2、聚合资源包括小说、漫画、视频、直播、文章、论坛、音乐等
  • 3、该项目支持加载外部来源,也支持内置来源
  • 4、为避免版权问题,该项目不提供内置源
  • 5、1.0版本的好用聚合库链接
  • 6、项目使用图标库
  • 7、有什么不懂的,可以加群 1087735942 聊

免责声明

  • 本免责声明(以下简称“免责声明”或“本声明”)适用于好用聚合项目(以下简称"好用聚合"),在使用人及组织(以下简称"使用者")阅读本声明后若不同意此声明中的任何条款,或对本声明存在质疑,请立刻停止使用此项目。若您已经开始或正在使用此项目,则表示您已阅读并同意本声明的所有条款之约定。
  • 1.使用者通过任何形式或方式使用好用聚合即表示您已经同意本声明,本声明立即自动生效。
  • 2.使用者使用好用聚合自行承担风险,作者不做任何形式的保证, 因代码质量、系统BUG等任何技术原因而引起的问题,作者也不承担任何法律责任。
  • 3.使用者保证好用聚合不用于任何违法犯罪行为,如传播色情、赌博等。
  • 4.使用者保证好用聚合所展示内容不涉及版权或隐私等问题。
  • 5.使用者保证好用聚合不用于任何商业或盈利等行为。
  • 6.使用者使用好用聚合违反上述任何行为所造成的一切后果均由使用者承担。

源规则详解

  • 内置方法
方法名 说明
HTMLParser 格式化html字符串,用于获取数据
Base64 base64加密和解密方法
CryptoJS CryptoJS工具组
Xhr xmlHttpRequest方法
Http uni.request方法
GBK 转gbk编码格式
HtmlDecode 解密特殊字符
DecodeUnicode 三方字体解码
DateFormat 日期转换
TimeFormat 时间转换
TimeToseconds 时间转换秒数
RandomSoleNumbers 生成随机不重复数字
RandomNumberString 生成随机不重复数字字符串
RandomId 生成随机id
RandomString 生成随机字符串
TypeCall 判断变量类型
TimeMinuse 计算2个时间差的分钟数或者秒数
Suffix 获取文件名或者路径的文件后缀
RemoveUrl 移除http域名
Zeroize 给数字补零
ConvertUrlQueryObject 转化url参数为对象
  • 关键词
方法名 说明
条件判断
满足条件判断执行
不满足条件判断执行
执行js
  • 特殊转义字符
转义字符 原字符 说明
&es; \ 斜杠
&wrap; \n 换行
&nbsp ; 空格
&tabu; \t 制表符
&quot ; \" 双引号
&apos ; \' 单引号
&lt ; < 左尖括号
&gt ; > 右尖括号
&oe; { 左大括号
&ce; } 右大括号
  • 声明符
方法名 说明
@text: 文本声明符(直接返回文本)
@sync: 同步方法声明符
@async: 异步方法声明符
@sel: dom方法声明符(实例化html字符串提取dom)
@json: json方法声明符(获取json属性)
@for: for循环声明符
@map: map循环声明符(返回最终的列表)
@filter: 过滤声明符(过滤不满足条件的循环项)
@find: 查找声明符(找到满足条件的一项)
@sort: 排序声明符(排序)
@replace: 替换声明符(替换单个字符串)
@replaceAll: 替换全部声明符(替换所有满足条件的字符串)
@plain: 纯文本声明符(去除文本中的所有html标签和换行符只保留文本内容)
@split: 分割声明符(分割字符串为数组)
@string: 转化字符串声明符(将数组转化为字符串等同于toString)
@dateFormat: 日期格式转换声明符
@join: 数组转字符串声明符
@slice: 字符串和数组切割声明符
@trim: 修剪声明符(去除字符串左右空格)
@have: 包含声明符(判断字符串中是否包含某个字符串)
@unhave: 不包含声明符(判断字符串中是否不包含某个字符串)
@equal: 相等声明符(判断两个参数是否相等)
@unequal: 不等声明符(判断两个参数是否不等)
@eval: 字符串转函数声明符(尝试转换字符串为函数)
@query: 链接参数获取并转换对象声明符(将url链接上拼接的参数转化为对象并返回)
@match: 正则匹配声明符(使用正则表达式匹配字符串中的字符)
@reverse: 反转声明符(反转数组)
@encodeUri: 转义声明符(等同于js的encodeURIComponent)
@decodeUri: 反转义声明符(等同于js的decodeURIComponent)
@objectKeys: 对象key属性整合数组声明符(等同于js的Object.keys)
@objectArray: 对象转换数组声明符(将对象转化为数组)
@upper: 大写字母声明符(转化小写字母为大写字母)
@lower: 小写字母声明符(转化大写字母为小写字母)
@response: 返回结果声明符(直接使用该返回结果)
  • 使用示例:

//@text:使用示例
{
    "test1": "@text:玄幻小说",//通常形式(输出 "玄幻小说")
    "test2": "玄幻小说",//当没有其它声明符时可省略(输出 "玄幻小说")
    "test3": "@text:@sync:return '玄幻小说'",//当有其它声明符时不可省略(输出 "@sync:return '玄幻小说'")
    "test4": "@text:你好这是一本<js>@sync:return '玄幻小说'</js>"//配合<js></js>可以选择编译任意声明符而不是直接输出文本(输出 "你好这是一本玄幻小说")
}

//@sync:使用示例
{
    "test1": "@sync:return '玄幻小说'",//普通用法(输出 "玄幻小说")
    "test2": "@sync:return '玄幻小说'@sync:return lastResult.replace('小说','')",//继承上类规则结果lastResult(输出 "玄幻")
    "test3": "@sync:return Suffix('这是一个文件.mp4')"//调用内置方法(输出 "mp4")
}

//@async:使用示例
{
    "test1": "@async:return await Http.get('https://www.baidu.com')",//普通用法(输出 "百度页面的html")
    "test2": "@sync:return 'https://www.baidu.com'@async:return await Http.get(lastResult)"//继承上类规则结果lastResult(输出 "百度页面的html")
}

//@json:使用示例
{
    "test1": "@sync:return {'name': '名字', value: '123'}@json:name",//调用对象(输出 "名字")
    "test2": "@sync:return {list: ['你好', '不好', '很好']}@json:list[1]"//调用数组(输出 "不好")
}

//@sel:使用示例
{
    "test1": "@sel:id.text>>text",//id选择器 假设有html文本 <span id="text">玄幻小说</span>(输出 "玄幻小说")
    "test2": "@sel:class.text[0]>>text",//class选择器 假设有html文本 <span class="text">玄幻小说</span>(输出 "玄幻小说")
    "test3": "@sel:tag.span[0]>>text",//tag选择器 假设有html文本 <span>玄幻小说</span>(输出 "玄幻小说")
    "test4": "@sel:class.item[0]>>class.text[1]>>text",
    //多层选择 假设有html文本 <div class="item"><span class="text">玄幻小说</span><span class="text">悬疑小说</span></div>(输出 "悬疑小说")
    "test5": "@sel:class.text[0]>>attr.title",//获取标签属性 假设有html文本 <span class="text" title="玄幻小说"></span>(输出 "玄幻小说")
    "test6": "@sel:id.item>>content",//获取innerHTML内容 假设有html文本 <div id="item"><span>玄幻小说</span></div>(输出 "<span>玄幻小说</span>")
    "test6": "@sel:id.item>>html",//获取outerHTML内容 假设有html文本 <div id="item"><span>玄幻小说</span></div>(输出 "<div id="item"><span>玄幻小说</span></div>")
}

//@for:使用示例
{
    "test1": "@sync:return [{name: '玄幻'},{name: '悬疑'}]@for:result.push(item.name)"//普通用法(输出 "['玄幻', '悬疑']")
}

//@map:使用示例
{
    "test1": "@sync:return [{name: '玄幻'},{name: '悬疑'}]@map:item.name",//普通用法(输出 "['玄幻', '悬疑']")
    "test2": "@sync:return [{name: '玄幻', value: 1},{name: '悬疑', value: 2}]@map:{ return item.name + item.value}"//复杂用法(输出 "['玄幻1', '悬疑2']")
}

//@filter:使用示例
{
    "test1": "@sync:return [{name: '玄幻'},{name: '悬疑'},{name: '古风'}]@filter:item.name == '玄幻'",//普通用法(输出 "[{name: '玄幻'}]")
    "test2": "@sync:return [{name: '玄幻', value: 1},{name: '悬疑', value: 2}]@filter:{ return item.name == '悬疑' && item.value == 2}"//复杂用法(输出 "[{name: '悬疑', value: 2}]")
}

//@sort:使用示例
{
    "test1": "@sync:return [4,1,6,8,10]@sort:a-b",//普通用法(输出 "[1,4,6,8,10]")
    "test2": "@sync:return [{name: '悬疑', value: 2}, {name: '玄幻', value: 1}, {name: '古风', value: 3}]@sort:{ return a.value - b.value }"//复杂用法(输出 "[{name: '玄幻', value: 1}, {name: '悬疑', value: 2}, {name: '古风', value: 3}]")
}

//@find:使用示例
{
    "test1": "@sync:return [{name: '悬疑'}, {name: '玄幻'}, {name: '古风'}]@find:item.name == '悬疑'",//普通用法(输出 "{name: '悬疑'}")
    "test2": "@sync:return [{name: '悬疑'}, {name: '玄幻'}, {name: '古风'}]@find:{ var name = '悬疑';return item.name == name }"//复杂用法(输出 "{name: '悬疑'}")
}

//@replace:使用示例
{
    "test1": "@sync:return '玄幻小说'@replace:小说>>漫画",//普通用法(输出 "玄幻漫画")
    "test2": "@sync:return '玄幻小说'@replace:小说"//替换字符串为空(输出 "玄幻")
}

//@replaceAll:使用示例
{
    "test1": "@sync:return '玄幻小说科幻小说'@replaceAll:小说>>漫画",//普通用法(输出 "玄幻漫画科幻漫画")
    "test2": "@sync:return '玄幻小说科幻小说'@replaceAll:小说"//替换字符串为空(输出 "玄幻科幻")
}

//@plain:使用示例
{
    "test1": "@sync:return '<p>玄幻小说</p>'@plain:"//普通用法(输出 "玄幻小说")
}

//@split:使用示例
{
    "test1": "@sync:return '玄幻,科幻'@split:,",//普通用法(输出 "['玄幻', '科幻']")
    "test2": "@sync:return '玄幻,科幻'@split:,>>1"//指定下标(输出 "科幻")
}

//@string:使用示例
{
    "test1": "@sync:return ['玄幻','科幻','古风']@string:",//普通用法(输出 "玄幻,科幻,古风")
    "test2": "@sync:return 10@string:2",//转换2进制(输出 "1010")
    "test3": "@sync:return 10@string:16"//转换16进制(输出 "A")
}

//@dateFormat:使用示例
{
    "test1": "@sync:return 1695608527060@dateFormat:",//时间戳转换(输出 "2023-09-25 10:23:21")
    "test2": "@sync:return 1695608527060@dateFormat:yyyy-mm-dd",//只转换日期(输出 "2023-09-25")
    "test3": "@sync:return 1695608527060@dateFormat:hh:mm:ss"//只转换时间(输出 "10:23:21")
}

//@join:使用示例
{
    "test1": "@sync:return ['玄幻','科幻','古风']@join:;"//普通用法(输出 "玄幻;科幻;古风")
}

//@slice:使用示例
{
    "test1": "@sync:return '玄幻小说'@slice:0>>1",//截取字符串(输出 "玄")
    "test1": "@sync:return ['玄幻', '科幻']@slice:0>>1",//截取数组(输出 "['玄幻']")
    "test1": "@sync:return '玄幻小说'@slice:1"//不传最后位置默认截取到最后(输出 "幻小说")
}

//@trim:使用示例
{
    "test1": "@sync:return ' 这是一段2边有空格的文本 '@trim:"//普通用法(输出:"这是一段2边有空格的文本")
}

//@have:使用示例
{
    "test1": "@sync:return '这本小说已完结'@have:已完结"//普通用法(输出:"true")
}

//@equal:使用示例
{
    "test1": "@sync:return 500@equal:50"//普通用法(输出:"false")
}

//@unequal:使用示例
{
    "test1": "@sync:return 500@unequal:50"//普通用法(输出:"true")
}

//@eval:使用示例
{
    "test1": "@sync:return 'function () { return [1,2,3,4,5] }'@eval:",//普通用法(输出:"[1,2,3,4,5]")
    "test2": "@sync:return '[1,2,3,4,5]'@eval:function"//普通字符串强制转化为function用法(输出:"[1,2,3,4,5]")
}

//@query:使用示例
{
    "test1": "@sync:return '/article/read.html?id=150&c=123'@query:",//普通用法(输出:"{id: 150, c: 123}")
}

//@match:使用示例
{
    "test1": "@sync:return '你看过这本小说吗这是一本不错的小说'@match:小说>>小说",//普通用法(输出:"['小说吗这是一本不错的小说', '吗这是一本不错的']")
    "test2": "@sync:return '/article/150215.html'@match:article&es;/>>.html>>1"//复杂用法(输出:"150215")
}

//@reverse:使用示例
{
    "test1": "@sync:return [1,2,3]@reverse:"//普通用法(输出:"[3,2,1]")
}

//@encodeUri:使用示例
{
    "test1": "@sync:return '?id=123&c=123'@encodeUri:"//普通用法(输出:"id%3D123%26c%3D123")
}

//@decodeUri:使用示例
{
    "test1": "@sync:return 'id%3D123%26c%3D123'@decodeUri:"//普通用法(输出:"?id=123&c=123")
}

//@objectKeys:使用示例
{
    "test1": "@sync:return {name: 1, value: 2}@objectKeys:"//普通用法(输出:"['name', 'value']")
}

//@objectArray:使用示例
{
    "test1": "@sync:return {name: 1, value: 2}@objectArray:"//普通用法(输出:"[1, 2]")
}

//@upper:使用示例
{
    "test1": "@sync:return 'name'@upper:"//普通用法(输出:"NAME")
}

//@lower:使用示例
{
    "test1": "@sync:return 'NAME'@lower:"//普通用法(输出:"name")
}

//@response:使用示例
{
    "list": "@sel:class.item",//获取class为item的所有元素,输出数组
    "title": "@sel:text",//获取每一项中的文本内容
    "description": "@response:@sel:class.intro>>text"//通过response声明该项不从列表中获取数据,直接指定从元数据中获取
}

//<if></if><then></then><else></else>使用示例
{
    "test1": "<if>@sync:return true</if><then>@sync: return '正确'</then>",//(输出:"正确")
    "test2": "<if>@sync:return false</if><then>@sync: return '正确'</then><else>@sync: return '错误'</else>"//(输出:"错误")
}

源规则基本结构

属性名 类型 默认值 可选值 说明
id String ---- ---- 应用唯一id
name String ---- ---- 应用名称
type String ---- ---- 应用类型
creator String ---- ---- 应用创建者
description String ---- ---- 应用简介
versionCode Number 100 ---- 应用版本号
versionName String 1.0.0 ---- 应用版本名称
href String ---- ---- 应用主域名(在请求缺少域名时会使用该域名拼接)
logo String ---- ---- 应用图标网络路径
themeColor String ---- ---- 主题颜色
cacheEfficiency Number 100000 ---- 请求结果缓存有效时间
isAdult Number 0 1/0 是否包含敏感内容
dynamic Object ---- ---- 动态域名请求规则
globalStyle Object ---- ---- 公共样式
tabbar Object ---- ---- 应用底部导航栏
pages Array ---- ---- 应用页面集合
  • 示例用法
{
    "id": "......",//应用id
    "name": "......",//应用名称
    "type": "......",//应用类型
    "creator": "......",//应用创建者
    "versionCode": 100,//应用版本号
    "versionName": "1.0.0",//应用版本
    "description": "......",//应用简介
    "href": "......",//应用链接
    "logo": "......",//应用图标
    "themeColor": "#F5F5F5",//主题颜色
    "cacheEfficiency": 100000,//缓存有效时间
    "isAdult": 0,//是否敏感
    "dynamic": {},//动态链接请求
    "globalStyle": {},//应用公共样式
    "tabbar": {},//应用tabbar
    "pages": []//应用页面列表
}

request(请求)

  • 注意事项
    • 在请求中的属性出现{{}}双大括号包裹的内容表示动态绑定 例:"url": "/cat/1.html?&page={{page}}",page表示当前的页数
属性名 类型 默认值 可选值 说明
url String ---- ---- 请求链接
device String 电脑 电脑/手机 请求平台
method String get get/post/postget 请求方式
params Object ---- ---- 请求参数
header Object ---- ---- 请求头
timeout Number 10000 ---- 请求超时时间
charset String utf-8 utf-8/gbk 请求编码格式
response String ---- ---- 请求结果处理规则
cacheEfficiency Number 10000 ---- 请求结果缓存时间
  • 可能出现的动态绑定数据
属性名 类型 默认值 可选值 说明
page Number 1 ---- 当前页数
keyword String ---- ---- 搜索关键字(页面开启搜索功能后)
$ + 序号(例:$1) String ---- $1/$2/$3/... filter(筛选页)选中的选项值
left String ---- ---- linkage(双向联动页面)左边选项栏选中值
top String ---- ---- linkage(双向联动页面)顶部选项栏选中值
  • 示例用法
{
    "request": {
        "url": "https://www.test.com/cat/1.html?&page={{page}}",//请求链接
        "params": {
            "sort": "{{$1}}",
            "sign": "{{$2}}"
        },
        "device": "电脑"//请求平台
    }//请求
}

dynamic(动态域名请求规则)(同上方request结构相同,只是多了result结果返回)

属性名 类型 默认值 可选值 说明
result String ---- ---- 最后返回的结果规则
  • 示例用法
{
    "id": "......",//应用id
    "name": "......",//应用名称
    "type": "......",//应用类型
    "creator": "......",//应用创建者
    "versionCode": 100,//应用版本号
    "versionName": "1.0.0",//应用版本
    "description": "......",//应用简介
    "href": "......",//应用链接
    "logo": "......",//应用图标
    "isAdult": 0,//是否敏感
    "dynamic": {
        "url": "https://www.test.com",//请求链接
        "deivce": "电脑",//请求平台
        "result": "@sel:class.link>>attr.href"//返回结果
    }
}

页面样式

  • globalStyle(默认样式)
  • darkStyle(暗黑样式)
属性名 类型 默认值 可选值 说明
navigationTitle String ---- ---- 顶部导航栏标题
navigationTextColor String ---- ---- 顶部导航栏文字颜色
navigationCapsuleStyle String auto dark/light/auto 胶囊按钮样式
navigationBackground String ---- ---- 顶部导航栏背景(支持网络图片路径)
navigationBackgroundOpacity Number 1 ---- 顶部导航栏背景透明度
enableNavigationTransparent Number 0 1/0 开启顶部导航栏背景透明
enableNavigationCapsuleBorder Number 0 1/0 开启胶囊按钮边框
enableNavigationSearchInput Number 0 1/0 开启顶部导航栏搜索框
navigationSearchInputUrl String ---- ---- 顶部导航栏搜索框点击跳转链接(支持在线网址和规则页面)
navigationInputBackgroundColor String ---- ---- 顶部导航栏搜索框背景色
navigationInputTextColor String ---- ---- 顶部导航栏搜索框提示文字颜色
enablePulldown Number 0 1/0 开启下拉刷新
enableLoadmore Number 0 1/0 开启上拉加载更多
enableBackTop Number 0 1/0 开启返回顶部按钮
enableBounce Number 0 1/0 开启页面回弹
enableSwiper Number 0 1/0 开启左右滑动(仅支持filter/linkage/column/user类型页面)
enableSearch Number 0 1/0 开启搜索功能(仅支持module/column/filter/linkage类型页面)
enableTopGap Number 1 1/0 开启顶部间隔
enableFilterIcon Number 1 1/0 强制开启筛选页面的筛选图标(仅支持filter页面)
backTopImage String ---- ---- 自定义返回按钮网络图片路径
pulldownRefreshImage String ---- ---- 自定义下拉刷新图片网络路径
background String ---- ---- 页面背景(支持网络图片路径)
backgroundBlur Number 10 ---- 页面背景高斯模糊
pageMarginGap Number 20 ---- 页面左右边距
componentBackgroundOpacity Number 1 ---- 统一设置页面组件背景透明度
subsectionMainIndex Number 0 ---- 选项栏tabs的主要索引(仅支持filter页面)
subsectionColumn Number/String auto auto/任意整数 选项栏tabs列数(仅支持filter/linkage/column/user类型页面)
subsectionBackgroundColor String ---- ---- 选项栏tabs背景色(仅支持filter/linkage/column/user类型页面)
subsectionSelectedColor String ---- ---- 选项栏tabs选中高亮色(仅支持filter/linkage/column/user类型页面)
loadingColor String ---- ---- 加载提示色
themeColor String ---- ---- 应用主题色(统一设置高亮色)
  • 示例用法
{
    "id": "......",//应用id
    "name": "......",//应用名称
    "type": "......",//应用类型
    "creator": "......",//应用创建者
    "versionCode": 100,//应用版本号
    "versionName": "1.0.0",//应用版本
    "description": "......",//应用简介
    "href": "......",//应用链接
    "logo": "......",//应用图标
    "isAdult": 0,//是否敏感
    "globalStyle": {
        "navigationTitle": "首页",//导航栏标题
        "navigationTextColor": "#333333",//导航栏文字颜色
        "darkStyle": {//暗黑模式
            "navigationTextColor": "#999999",//导航栏文字颜色
        }
    }
}

tabbar(底部导航栏)

  • style(默认样式)
  • darkStyle(暗黑样式)
属性名 类型 默认值 可选值 说明
background String ---- ---- 底部导航栏背景(支持网络图片路径)
color String ---- ---- 底部导航栏默认颜色
selectedColor String ---- ---- 底部导航栏选中高亮颜色
backgroundOpacity Number 1 ---- 底部导航栏背景透明
  • list(底部导航栏列表)
属性名 类型 默认值 可选值 说明
name String ---- ---- 绑定页面名称
icon String ---- ---- 默认图标 可使用网络图片路径或者图标库
selectedIcon String ---- ---- 选中显示图标 可使用网络图片路径或者图标库
text String ---- ---- 文字
  • 示例用法
{
    "id": "......",//应用id
    "name": "......",//应用名称
    "type": "......",//应用类型
    "creator": "......",//应用创建者
    "versionCode": 100,//应用版本号
    "versionName": "1.0.0",//应用版本
    "description": "......",//应用简介
    "href": "......",//应用链接
    "logo": "......",//应用图标
    "isAdult": 0,//是否敏感
    "tabbar": {
        "style": {
            "background": "#ffffff",//tabbar背景
            "color": "#cccccc",//默认颜色
            "selectedColor": "#333333",//选中颜色
            "darkStyle": {
                "background": "#050505",//tabbar背景
                "color": "#999999",//默认颜色
                "selectedColor": "#cccccc",//选中颜色
            }//暗黑模式 结构和style一样
        },
        "list": [{
            "name": "index",//页面名称
            "icon": "home",//默认图标
            "selectedIcon": "home_fill",//选中图标
            "text": "首页"//文字
        },{
            "name": "filter",//页面名称
            "icon": "form",//默认图标
            "selectedIcon": "form_fill",//选中图标
            "text": "分类"//文字
        }]//tabbar列表
    },//应用tabbar
}

pages(页面)

属性名 类型 默认值 可选值 说明
name String ---- ---- 页面名称
style Object ---- ---- 页面样式(详情查看上方globStyle)
type String ---- module/filter/column/linkage/short/user/novel/comic/article/picture/video/audio/live 页面类型

页面跳转

  • 1、通过每个页面的name来实现跳转,例如:
{
    "pages": [{
        "name": "index",
        "type": "module",
        "style": {
            "navigationTitle": "首页"
        },
        "components": [
            {
                "name": "search-input",
                "style": {
                    "url": "search",//跳转name为search的规则页面
                    "placeholder": "点击搜索内容",//提示文字
                    "borderRadius": 10//圆角
                }
            }
        ]
    },{
        "name": "search",
        "type": "module",
        "style": {
            "navigationTitle": "搜索页面",
            "enableSearch": 1//开启搜索功能
        }
    }]//应用页面列表
}
  • 2、跳转时可以携带参数,例如:
{
    "pages": [{
        "name": "index",
        "type": "module",
        "style": {
            "navigationTitle": "列表"
        },
        "cell": {
            "staticData": [{
                "title": "......",
                "cover": "......",
                "subtitle": "......",
                "url": "detail?id=123"//跳转时携带id参数
            }]
        }
    }, {
        "name": "detail",
        "type": "novel",
        "style": {
            "navigationTitle": "详情"
        },
        "detail": {
            "request": {
                "url": "/detail/{{id}}.html"//可以在请求当中动态绑定传过来的参数
            },
            "dynamicData": {
                "title": "......",
                "subtitle": "......",
                "cover": "......"
            }
        }
    }]//应用页面列表
}
  • 3、跳转时可以携带固定参数来实现修改跳转页面的样式,例如:
{
    "pages": [{
        "name": "index",
        "type": "module",
        "style": {
            "navigationTitle": "列表"
        },
        "cell": {
            "staticData": [{
                "title": "......",
                "cover": "......",
                "subtitle": "......",
                "url": "detail?id=123&background=https://www.test.com/images/151545.png"//跳转时background参数,该参数会覆盖掉跳转页面style样式中的background
            }]
        }
    }, {
        "name": "detail",
        "type": "novel",
        "style": {
            "navigationTitle": "详情",
            "background": "#f5f5f5"//跳转参数中携带background,则该样式会被覆盖
        },
        "detail": {
            "request": {
                "url": "/detail/{{id}}.html"//可以在请求当中动态绑定传过来的参数
            },
            "dynamicData": {
                "title": "......",
                "subtitle": "......",
                "cover": "......"
            }
        }
    }]//应用页面列表
}
  • 4、跳转时可以携带固定参数来实现修改拥有选项栏页面的默认选项(比如column, filter, linkage页面):
{
    "pages": [{
        "name": "index",
        "type": "module",
        "style": {
            "navigationTitle": "首页"
        },
        "components": [
            {
                "name": "menu",
                "style": {
                    "column": 2,
                    "columnGap": 15
                },
                "staticData": [,{
                    "icon": "close",
                    "title": "韩漫",
                    "url": "type?$2=2"//跳转参数中携带($+数字),filter页面默认选中第二个选项栏值为1的选项
                },{
                    "icon": "close",
                    "title": "日漫",
                    "url": "art?selected=1"//跳转时携带selected参数,column页面默认显示第二栏
                },{
                    "icon": "close",
                    "title": "排行",
                    "url": "rank?top=3&left=4"//跳转时携带top和left参数,linkage页面默认选中顶部导航栏值为3的选项和侧边导航栏值为4的选项
                }]
            }
        ]
    }]
}

module(模块页)

属性名 类型 默认值 可选值 说明
cell Object ---- ---- 单元格列表(具体见下方cell单元格讲解)
components Array ---- ---- 组件集合(具体见下方components组件讲解)
  • 示例用法
{
    "pages": [{
        "name": "index",
        "type": "module",
        "style": {
            "navigationTitle": "首页"
        },
        "components": [
            {
                "name": "search-input",
                "style": {
                    "url": "search",//跳转name为search的规则页面
                    "placeholder": "点击搜索内容",//提示文字
                    "borderRadius": 10//圆角
                }
            }
        ],
        "cell": {
            "style": {
                "cellName": "h-cell",
                "cellImageWidth": 160,
                "cellImageHeight": 220,
                "cellDescriptionLines": 4
            },
            "request": {
                "url": "/index",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.rank-book-list[0]>>tag.a",
                "title": "@sel:class.book-name[0]>>text",
                "cover": "@sel:class.book-cover[0]>>tag.img[0]>>attr.src",
                "subtitle": "@sel:class.book-extra[0]>>text",
                "description": "@sel:class.book-intro[0]>>text",
                "url": "book?id=<js>@sel:attr.href@match:book&es;/>>.html>>1</js>"
            }
        }
    }]//应用页面列表
}

filter(筛选页)

  • 注意事项
    • filter页面如果有多个选项栏默认会折叠只显示一行,样式中subsectionMainIndex用于控制折叠后显示哪一个选项栏
    • 选中的选项栏的值会以($ + 序号)的方式传给cell单元格列表的请求中,如第一行选项栏的值为($1)例:"url": "/cat/{{$1}}.html"
属性名 类型 默认值 可选值 说明
subsection Object ---- ---- 选项栏tabs
cell Object ---- ---- 单元格列表(具体见下方cell单元格讲解)
  • subsection(选项栏)
属性名 类型 默认值 可选值 说明
staticData Array ---- ---- 静态数据
request Object ---- ---- 请求(详情见上方request请求讲解)
dynamicData Object ---- ---- 动态数据
  • 数据
属性名 类型 默认值 可选值 说明
label String ---- ---- 选项栏标题
children Array/Object ---- ---- 选项栏集合
  • children
属性名 类型 默认值 可选值 说明
label String ---- ---- 选项栏标题
value String ---- ---- 选项栏绑定值
  • 示例用法
{
    "pages": [{
        "name": "type",
        "type": "filter",
        "style": {
            "navigationTitle": "小说分类",
            "background": "#fff",
            "subsectionMainIndex": 2,
            "enableSwiper": 0,
            "enableNavigationSearchInput": 1,
            "navigationSearchInputUrl": "search",
            "enableLoadmore": 1
        },
        "darkStyle": {
            "background": "#131313"
        },
        "subsection": {
            "request": {
                "url": "/cat/-1.html",
                "device": "电脑"
            },
            "staticData": [{
                "label": "排序",
                "children": [{
                    "label": "综合排序",
                    "value": "hot"
                },{
                    "label": "最多援力",
                    "value": "supp"
                },{
                    "label": "最多收藏",
                    "value": "fav"
                },{
                    "label": "最多字数",
                    "value": "wrods"
                },{
                    "label": "最近更新",
                    "value": "updates"
                }]
            }],//静态数据
            "dynamicData": [{
                "label": "@sel:class.search-condition[1]>>class.condition-type[0]>>text",
                "children": {
                    "list": "@sel:class.search-condition[1]>>tag.li",
                    "label": "@sel:tag.a[0]>>text",
                    "value": "@sel:tag.a[0]>>attr.href@split:sign=>>1"
                }
            },{
                "label": "@sel:class.search-condition[2]>>class.condition-type[0]>>text",
                "children": {
                    "list": "@sel:class.search-condition[2]>>class.special",
                    "label": "@sel:tag.a[0]>>text",
                    "value": "@sel:tag.a[0]>>attr.href@match:cat&es;/>>.html>>1"
                }
            }]//动态数据
        },
        "cell": {
            "style": {
                "cellImageWidth": 160,
                "cellImageHeight": 220,
                "cellDescriptionLines": 4
            },
            "request": {
                "url": "/cat/{{$3}}.html",
                "device": "电脑",
                "params": {
                    "sort": "{{$1}}",
                    "sign": "{{$2}}",
                    "page": "{{page}}"
                }
            },
            "dynamicData": {
                "list": "@sel:class.rank-book-list[0]>>class.rank-book",
                "title": "@sel:class.book-name[0]>>text",
                "cover": "@sel:class.book-cover[0]>>tag.img[0]>>attr.src",
                "subtitle": "@sel:class.book-extra[0]>>text",
                "description": "@sel:class.book-intro[0]>>text",
                "url": "book?id=<js>@sel:class.book-mask-left[0]>>attr.href@match:book&es;/>>.html>>1</js>"
            }
        }
    }]//应用页面列表
}

column(分栏页)

  • 注意事项
    • column页面结构和module(模块页)基本一样,只是多了一层subsection包裹
属性名 类型 默认值 可选值 说明
subsection Array ---- ---- 选项栏tabs和页面类容
  • subsection
属性名 类型 默认值 可选值 说明
label String ---- ---- 分栏标题
components Array ---- ---- 组件集合(具体见下方components组件讲解)
cell Object ---- ---- 单元格列表(具体见下方cell单元格讲解)
  • 示例用法
{
    "name": "article",
    "type": "column",
    "style": {
        "navigationTitle": "文章列表",
        "background": "#fff",
        "enableNavigationSearchInput": 1,
        "enableLoadmore": 1,
        "navigationSearchInputUrl": "search",
        "enableSwiper": 0
    },
    "darkStyle": {
        "background": "#131313"
    },
    "subsection": [{
        "label": "轻之专栏",
        "cell": {
            "style": {
                "cellName": "v-cell",
                "cellColumn": 1,
                "cellImageHeight": 280
            },
            "request": {
                "url": "/article/list?cat=1&page={{page}}",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.article-list[0]>>class.media",
                "title": "@sel:class.media-object[0]>>attr.alt",
                "cover": "@sel:class.media-object[0]>>attr.src",
                "subtitle": "@sel:class.text-muted[0]>>text",
                "url": "articledetail?id=<js>@sel:tag.a[0]>>attr.href@match:article&es;/>>.html>>1</js>"
            }
        }

    },{
        "label": "作者须知&公告",
        "cell": {
            "style": {
                "cellName": "v-cell",
                "cellColumn": 1,
                "cellImageHeight": 280
            },
            "request": {
                "url": "/article/list?cat=2&page={{page}}",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.article-list[0]>>class.media",
                "title": "@sel:class.media-object[0]>>attr.alt",
                "cover": "@sel:class.media-object[0]>>attr.src",
                "subtitle": "@sel:class.text-muted[0]>>text",
                "url": "articledetail?id=<js>@sel:tag.a[0]>>attr.href@match:article&es;/>>.html>>1</js>"
            }
        }
    }]
}

linkage(双向联动页)

  • 注意事项
    • 选中的顶部选项栏的值会top方式传给cell单元格列表的请求中,例:"url": "/cat/{{top}}.html"
    • 选中的左边选项栏的值会left方式传给cell单元格列表的请求中,例:"url": "/cat/{{left}}.html"
属性名 类型 默认值 可选值 说明
topSubsection Object ---- ---- 顶部选项栏tabs
leftSubsection Object ---- ---- 左边选项栏tabs
cell Object ---- ---- 单元格列表(具体见下方cell单元格讲解)
  • topSubsection(顶部选项栏)
属性名 类型 默认值 可选值 说明
staticData Array ---- ---- 静态数据
request Object ---- ---- 请求(详情见上方request请求讲解)
dynamicData Object ---- ---- 动态数据
  • leftSubsection(左边选项栏)
属性名 类型 默认值 可选值 说明
staticData Array ---- ---- 静态数据
request Object ---- ---- 请求(详情见上方request请求讲解)
dynamicData Object ---- ---- 动态数据
  • 数据
属性名 类型 默认值 可选值 说明
label String ---- ---- 选项栏标题
value String ---- ---- 选项栏值
  • 示例用法
{
    "name": "rank",
    "type": "linkage",
    "style": {
        "navigationTitle": "排行榜",
        "background": "#f5f5f5",
        "subsectionColumn": 3,
        "enableSwiper": 1,
        "enableNavigationSearchInput": 1,
        "navigationSearchInputUrl": "search",
        "enableLoadmore": 1
    },
    "darkStyle": {
        "background": "#050505"
    },
    "topSubsection": {
        "staticData": [{
            "label": "周排行",
            "value": "week"
        },{
            "label": "月排行",
            "value": "month"
        },{
            "label": "新书排行",
            "value": "new"
        }]
    },
    "leftSubsection": {
        "request": {
            "url": "/list/top",
            "device": "手机"
        },
        "dynamicData": {
            "list": "@sel:class.top-slide-menu[0]>>class.slide-menu-item",
            "label": "@sel:text",
            "value": "@sel:attr.value"
        }
    },
    "cell": {
        "style": {
            "cellImageWidth": 160,
            "cellImageHeight": 220,
            "cellDescriptionLines": 4
        },
        "request": {
            "url": "/hub/getTopBooks?unit={{left}}&page={{page}}&time={{top}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@json:data.books",
            "title": "@json:name",
            "cover": "@json:coverUrl",
            "subtitle": "@text:<js>@json:author</js>/<js>@json:hot</js>",
            "description": "@json:about",
            "url": "book?id=<js>@json:id</js>"
        }
    }
}

short(短视频页)

  • 注意事项
    • 想要实现短视频滑动加载必须设置enableLoadmore为1
属性名 类型 默认值 可选值 说明
cell Object ---- ---- 单元格列表(具体见下方cell单元格讲解)
  • cell
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
src String ---- ---- 播放视频链接
isLive Number 0 1/0 是否直播视频
isAdult Number 0 1/0 是否敏感内容
  • 示例用法
{
    "name": "recome",
    "type": "short",
    "style": {
        "navigationTitle": "推荐",
        "enableNavigationTransparent": 1,
        "enablePulldown": 1,
        "enableLoadmore": 1
    },
    "cell": {
        "request": {
            "url": "/graphql",
            "method": "post",
            "params": {
                "operationName": "visionNewRecoFeed",
                "variables": {}
            }
        },
        "dynamicData": {
            "list": "@sync:return lastResult.data.visionNewRecoFeed ? lastResult.data.visionNewRecoFeed.feeds : lastResult.data.sameCityData.feeds",
            "title": "@json:photo.caption",
            "cover": "@json:photo.coverUrl",
            "src": "@json:photo.photoUrl"
        }
    }
}

novel(小说页)

  • 注意事项
    • 每个属性(例如:detail和items)中都默认包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
items Object ---- ---- 章节列表
context Object ---- ---- 章节正文
comments Object ---- ---- 评论列表
components Array ---- ---- 组件列表(详情见下方components组件讲解)
cell Object ---- ---- 单元格列表(详情见下方cell单元格讲解)
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
tags Object ---- ---- 标签列表
isAdult Number 0 1/0 是否敏感内容
  • tags(标签列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • items(章节列表)
属性名 类型 默认值 可选值 说明
title Array ---- ---- 标题
...(这里可以任意添加属性) Any ---- ---- 自定义属性(用于请求正文内容时使用,你可以自定义为任何内容)
  • context(章节正文)
属性名 类型 默认值 可选值 说明
content String ---- ---- 正文内容
  • comments(评论列表)
属性名 类型 默认值 可选值 说明
avatar String ---- ---- 头像网络图片路径
title String ---- ---- 评论标题
subtitle String ---- ---- 评论二级标题
content String ---- ---- 评论内容
url String ---- ---- 跳转路径(支持在线网址和规则页面)
subComments Object ---- ---- 二级评论列表(结构和评论列表相同)
masterComments Object ---- ---- 顶部评论列表(结构和评论列表相同)
  • 示例用法
{
    "name": "book",
    "type": "novel",
    "style": {
        "navigationTitle": "小说详情",
        "enableLoadmore": 1,
        "componentBackgroundOpacity": 0.7
    },
    "detail": {
        "request": {
            "url": "/book/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "title": "@sel:class.book-title[0]>>text",
            "cover": "@sel:class.book-cover[0]>>tag.img[0]>>attr.src",
            "subtitle": "@sel:class.book-data[0]>>text",
            "description": "@sel:class.about-text[0]>>text",
            "tags": {
                "list": "@sel:class.book-cats>>tag.a",
                "title": "@sel:text",
                "url": "<if>@sel:attr.href@have:cat</if><then>type?$3=<js>@sel:attr.href@match:cat&es;/>>.html>>1</js></then><elseif>@sel:attr.href@have:tag</elseif><then>tag?navigationTitle=<js>@sel:text</js>&tag=<js>@sel:attr.href@split:tag=>>1</js></then><else>matchBooks?navigationTitle=<js>@sel:text</js>&mid=<js>@sel:attr.href@split:mid=>>1</js></else>"
            }
        }
    },
    "items": {
        "request": {
            "url": "/book/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.chapter",
            "title": "@sel:tag.a[0]>>text",
            "href": "@sel:tag.a[0]>>attr.href"
        }
    },
    "context": {
        "request": {
            "url": "{{href}}",
            "device": "电脑"
        },
        "dynamicData": {
            "content": "@sel:class.article-text[0]>>content@replaceAll:&lt;p>>&lt;p style=&quot;margin-top: 10px&quot;"
        }
    },
    "comments": {
        "request": {
            "url": "/comment/items?type=book&tid={{id}}&pageSize=15&page={{page}}&_={{RandomNumberString(13)}}"
        },
        "dynamicData": {
            "list": "@json:items",
            "avatar": "@json:author.avatar",
            "title": "@json:author.nick",
            "subtitle": "@json:date@sync:return lastResult*1000@dateFormat:",
            "content": "@json:content",
            "url": "user?id=<js>@json:author.id</js>",
            "subComments": {
                "list": "@json:replies.items",
                "avatar": "@json:author.avatar",
                "title": "@json:author.nick",
                "subtitle": "@json:date@sync:return lastResult*1000@dateFormat:",
                "content": "@json:content",
                "url": "user?id=<js>@json:author.id</js>"
            }
        }
    },
    "components": [{
        "name": "card",
        "style": {
            "cardTitle": "作者",
            "cellName": "h-cell",
            "cellColumn": 1,
            "cellImageWidth": 80,
            "cellImageHeight": 80,
            "cellDescriptionLines": 1,
            "cellImageBorderRadius": 80
        },
        "request": {
            "url": "/book/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.novelist",
            "title": "@sel:class.name[0]>>tag.a[0]>>text",
            "cover": "@sel:tag.img[0]>>attr.src",
            "description": "@sel:class.about[0]>>text",
            "url": "user?id=<js>@sel:class.name[0]>>tag.a[0]>>attr.href@replace:/user/info?id=</js>"
        }
    },{
        "name": "card",
        "style": {
            "cardTitle": "作者其它作品",
            "cellName": "h-cell",
            "cellColumn": 1,
            "moreText": "更多",
            "moreUrl": "userwork?id=<js>@sel:class.section-helper[0]>>tag.a[0]>>attr.href@split:id=>>1</js>"
        },
        "request": {
            "url": "/book/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.from-author",
            "title": "@sel:class.suggest-book-name[0]>>text",
            "cover": "@sel:class.suggest-cover[0]>>tag.img[0]>>attr.src",
            "description": "@sel:class.suggest-book-desc[0]>>text",
            "url": "book?id=<js>@sel:tag.a[0]>>attr.href@match:book&es;/>>.html>>1</js>"
        }
    }]
}

comic(漫画页)

  • 注意事项
    • 每个属性(例如:detail和items)中都默认包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
items Object ---- ---- 章节列表
context Object ---- ---- 章节正文
comments Object ---- ---- 评论列表
components Array ---- ---- 组件列表(详情见下方components组件讲解)
cell Object ---- ---- 单元格列表(详情见下方cell单元格讲解)
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
tags Object ---- ---- 标签列表
isAdult Number 0 1/0 是否敏感内容
  • tags(标签列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • items(章节列表)
属性名 类型 默认值 可选值 说明
title Array ---- ---- 标题
content String ---- ---- 正文内容
...(这里可以任意添加属性) Any ---- ---- 自定义属性(用于请求正文内容时使用,你可以自定义为任何内容)
  • context(章节正文)
属性名 类型 默认值 可选值 说明
content Array ---- ---- 正文内容
  • comments(评论列表)
属性名 类型 默认值 可选值 说明
avatar String ---- ---- 头像网络图片路径
title String ---- ---- 评论标题
subtitle String ---- ---- 评论二级标题
content String ---- ---- 评论内容
url String ---- ---- 跳转路径(支持在线网址和规则页面)
subComments Object ---- ---- 二级评论列表(结构和评论列表相同)
masterComments Object ---- ---- 顶部评论列表(结构和评论列表相同)
  • 示例用法
{
    "name": "comic",
    "type": "comic",
    "style": {
        "navigationTitle": "漫画详情",
        "enableLoadmore": 1,
        "componentBackgroundOpacity": 0.7
    },
    "detail": {
        "request": {
            "url": "/manhua/detail/{{id}}/",
            "device": "电脑"
        },
        "dynamicData": {
            "title": "@sel:class.detail-info-title[0]>>text",
            "cover": "@sel:class.detail-info-cover[0]>>tag.img[0]>>attr.src",
            "subtitle": "@sel:class.cy_xinxi[0]>>tex",
            "description": "@sel:id.comic-description>>text",
            "tags": {
                "list": "@sel:class.cy_xinxixi[0]>>tag.a",
                "title": "@sel:text",
                "url": "tag?str=<js>@sel:attr.href@replace:https://www.dongman.la</js>"
            }
        }
    },
    "items": {
        "request": {
            "url": "/manhua/detail/{{id}}/",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:id.mh-chapter-list-ol-0>>tag.li@reverse:",
            "title": "@sel:tag.a[0]>>text",
            "href": "@sel:tag.a[0]>>attr.href"
        }
    },
    "context": {
        "request": {
            "url": "{{href}}all.html",
            "device": "电脑"
        },
        "dynamicData": {
            "content": "@sel:class.imgListBox[0]>>tag.img>>attr.data-src"
        }
    },
    "components": [{
        "name": "card",
        "style": {
            "cardTitle": "可能感兴趣的",
            "cellName": "v-cell",
            "cellImageHeight": 300,
            "cellColumn": 3,
            "enableRefresh": 1
        },
        "request": {
            "url": "/manhua/detail/{{id}}/",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:id.similarList>>tag.li",
            "title": "@sel:tag.b[0]>>text",
            "cover": "@sel:tag.img[0]>>attr.src",
            "url": "comic?id=<js>@sel:tag.a[0]>>attr.href@match:detail&es;/>>&es;/>>1</js>"
        }
    }]
}

video(视频页)

  • 注意事项
    • 每个属性(例如:detail和items)中都默认包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
items Object ---- ---- 剧集列表
context Object ---- ---- 剧集正文
barrages Object ---- ---- 弹幕列表
comments Object ---- ---- 评论列表
components Array ---- ---- 组件列表(详情见下方components组件讲解)
cell Object ---- ---- 单元格列表(详情见下方cell单元格讲解)
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
tags Object ---- ---- 标签列表
isAdult Number 0 1/0 是否敏感内容
  • tags(标签列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • items(剧集列表)
属性名 类型 默认值 可选值 说明
title Array ---- ---- 标题
cover String ---- ---- 封面
src String ---- ---- 播放链接
...(这里可以任意添加属性) Any ---- ---- 自定义属性(用于请求正文内容时使用,你可以自定义为任何内容)
  • context(剧集正文)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面
src String ---- ---- 播放链接
  • comments(评论列表)
属性名 类型 默认值 可选值 说明
avatar String ---- ---- 头像网络图片路径
title String ---- ---- 评论标题
subtitle String ---- ---- 评论二级标题
content String ---- ---- 评论内容
url String ---- ---- 跳转路径(支持在线网址和规则页面)
subComments Object ---- ---- 二级评论列表(结构和评论列表相同)
masterComments Object ---- ---- 顶部评论列表(结构和评论列表相同)
  • barrages(弹幕列表)
属性名 类型 默认值 可选值 说明
text String ---- ---- 弹幕
time Number ---- ---- 弹幕显示时间
color String ---- ---- 弹幕颜色
  • 示例用法
{
    "name": "video",
    "type": "video",
    "style": {
        "navigationTitle": "视频详情",
        "enableLoadmore": 1,
        "enableNavigationTransparent": 1
    },
    "detail": {
        "request": {
            "url": "/index.php/vod/detail/id/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "title": "@sel:class.page-title[0]>>text",
            "cover": "@sel:class.video-cover[0]>>tag.img[0]>>attr.data-src",
            "description": "@sel:class.video-info-main[0]>>text",
            "tags": {
                "list": "@sel:class.video-info-aux[0]>>tag.a",
                "title": "@sel:text",
                "url": "tag?href=<js>@sel:attr.href</js>&navigationTitle=<js>@sel:text</js>"
            }
        }
    },
    "items": {
        "request": {
            "url": "/index.php/vod/detail/id/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:id.sort-item-2>>tag.a",
            "title": "@sel:text",
            "requestHref": "@sel:attr.href"
        }
    },
    "context": {
        "request": {
            "url": "{{requestHref}}",
            "device": "电脑"
        },
        "dynamicData": {
            "src": "@sel:class.player-wrapper[0]>>tag.script[0]>>content@replace:var player_aaaa=@sync:return JSON.parse(lastResult)@json:url",
            "formats": "m3u8"
        }
    },
    "comments": {
        "request": {
            "url": "/index.php/comment/ajax.html?rid={{id}}&mid=1&page={{page}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.mxone-comment__item",
            "title": "@sel:class.title[0]>>text",
            "avatar": "@sel:class.face[0]>>attr.src@sync:return lastResult.indexOf('http') == -1 ? 'http://www.lzizy9.com/' + lastResult : lastResult",
            "subtitle": "@sel:class.text-muted@sync:return lastResult[1].trim() + ' ' + lastResult[0].trim()",
            "content": "@sel:class.comment-cont[0]>>text"
        }
    },
    "barrages": {
        "request": {
            "url": "{{requestHref}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@json:data.list",
            "text": "@json:title",
            "time": "@sel:time",
            "color": "@sel:color"
        }
    },
    "components": [{
        "name": "card",
        "style": {
            "cardTitle": "相关影片",
            "cellName": "v-cell",
            "cellColumn": 3
        },
        "request": {
            "url": "/index.php/vod/detail/id/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.module-items[0]>>class.module-item",
            "title": "@sel:class.module-item-title[0]>>text",
            "cover": "@sel:tag.img[0]>>attr.data-src",
            "subtitle": "@sel:class.module-item-text[0]>>text",
            "url": "video?id=<js>@sel:class.module-item-title[0]>>attr.href@match:id&es;/>>.html>>1</js>"
        }
    }]
}

audio(音频页)

  • 注意事项
    • 每个属性(例如:detail和items)中都默认包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
items Object ---- ---- 播放列表
context Object ---- ---- 音频正文
lyrics Object ---- ---- 歌词列表
comments Object ---- ---- 评论列表
components Array ---- ---- 组件列表(详情见下方components组件讲解)
cell Object ---- ---- 单元格列表(详情见下方cell单元格讲解)
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
content String ---- ---- 文本内容
tags Object ---- ---- 标签列表
isAdult Number 0 1/0 是否敏感内容
  • tags(标签列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • items(播放列表)
属性名 类型 默认值 可选值 说明
title Array ---- ---- 标题
cover String ---- ---- 封面
src String ---- ---- 播放链接
...(这里可以任意添加属性) Any ---- ---- 自定义属性(用于请求正文内容时使用,你可以自定义为任何内容)
  • context(音频正文)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面
src String ---- ---- 播放链接
  • comments(评论列表)
属性名 类型 默认值 可选值 说明
avatar String ---- ---- 头像网络图片路径
title String ---- ---- 评论标题
subtitle String ---- ---- 评论二级标题
content String ---- ---- 评论内容
url String ---- ---- 跳转路径(支持在线网址和规则页面)
subComments Object ---- ---- 二级评论列表(结构和评论列表相同)
masterComments Object ---- ---- 顶部评论列表(结构和评论列表相同)
  • lyrics(歌词列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 歌词
time Number ---- ---- 歌词显示时间
  • 示例用法
{
    "name": "music",
    "type": "audio",
    "style": {
        "navigationTitle": "音乐详情",
        "componentBackgroundOpacity": 0.5
    },
    "detail": {
        "request": {
            "url": "/listen/{{id}}",
            "device": "电脑"
        },
        "dynamicData": {
            "title": "@sel:class.frame1[0]>>tag.h1[0]>>text",
            "subtitle": "@sel:class.song_info[0]>>text",
            "cover": "@sel:class.music_intro[0]>>tag.img[0]>>attr.src@sync:return lastResult && lastResult.indexOf('http') == -1 ? 'https://www.itingwa.com' + lastResult : lastResult",
            "content": "@sel:class.music_intro[0]>>content@replaceAll:src=&quot;&es;/file>>src=&quot;https://www.itingwa.com/file"
        }
    },
    "items": {
        "request": {
            "url": "/listen/{{id}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.jp-jplayer",
            "href": "@sel:attr.init-data"
        }
    },
    "context": {
        "request": {
            "url": "{{href}}",
            "device": "电脑"
        },
        "dynamicData": {
            "src": "@sel:attr.init-data"
        }
    },
    "lyrics": {
        "request": {
            "url": "{{href}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.jp-lyrics",
            "title": "@sel:text",
            "time": "@sel:attr.init-date"
        }
    },
    "comments": {
        "request": {
            "url": "?c=comment&m=get_comment&id={{id}}&type=0&p={{page}}"
        },
        "dynamicData": {
            "list": "@json:comments.list",
            "title": "@json:u_name",
            "subtitle": "@json:comm_addtime",
            "avatar": "https://www.itingwa.com/upload/pic/180/<js>@json:u_img</js>",
            "content": "@json:content",
            "url": "user?id=<js>@json:comm_user</js>"
        }
    },
    "components": [{
        "name": "card",
        "style": {
            "cardTitle": "发布者",
            "cellName": "h-cell",
            "cellColumn": 1,
            "cellImageWidth": 90,
            "cellImageHeight": 90
        },
        "request": {
            "url": "/listen/{{id}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.rt_frame",
            "title": "@sel:class.clearfix[0]>>class.nickname[0]>>text",
            "subtitle": "@sel:class.user_data[0]>>text",
            "cover": "@sel:class.clearfix[0]>>tag.img[0]>>attr.src",
            "url": "user?id=<js>@sel:class.clearfix[0]>>tag.a[0]>>attr.href@split:u/>>1</js>"
        }
    },{
        "name": "card",
        "style": {
            "cardTitle": "相关专辑",
            "cellName": "v-cell",
            "cellColumn": 3,
            "cellImageHeight": 200
        },
        "request": {
            "url": "/listen/{{id}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.album_items[0]>>tag.li",
            "title": "@sel:class.top_10[0]>>text",
            "cover": "@sel:tag.img[0]>>attr.src",
            "url": "album?id=<js>@sel:tag.a[0]>>attr.href@split:album/>>1</js>&background=<js>@sel:tag.img[0]>>attr.src</js>"
        }
    }]
}

picture(图片页)

  • 注意事项
    • 每个属性(例如:detail和items)中都默认包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
items Object ---- ---- 图片列表
context Object ---- ---- 图片正文
comments Object ---- ---- 评论列表
components Array ---- ---- 组件列表(详情见下方components组件讲解)
cell Object ---- ---- 单元格列表(详情见下方cell单元格讲解)
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
tags Object ---- ---- 标签列表
isAdult Number 0 1/0 是否敏感内容
  • tags(标签列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • items(图片列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面
src String ---- ---- 图片链接
...(这里可以任意添加属性) Any ---- ---- 自定义属性(用于请求正文内容时使用,你可以自定义为任何内容)
  • context(图片正文)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面
src String ---- ---- 图片链接
  • comments(评论列表)
属性名 类型 默认值 可选值 说明
avatar String ---- ---- 头像网络图片路径
title String ---- ---- 评论标题
subtitle String ---- ---- 评论二级标题
content String ---- ---- 评论内容
url String ---- ---- 跳转路径(支持在线网址和规则页面)
subComments Object ---- ---- 二级评论列表(结构和评论列表相同)
masterComments Object ---- ---- 顶部评论列表(结构和评论列表相同)
  • 示例用法
{
    "name": "picture",
    "type": "picture",
    "style": {
        "navigationTitle": "壁纸详情",
        "enableNavigationTransparent": 1
    },
    "detail": {
        "staticData": {
            "cover": "{{background}}"
        },
        "request": {
            "url": "{{href}}",
            "device": "手机"
        },
        "dynamicData": {
            "title": "@sel:class.detail-title[0]>>text",
            "subtitle": "@sel:class.detail-info[0]>>text"
        }
    },
    "items": {
        "request": {
            "url": "{{href}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.image-content[0]>>class.swiper-slide",
            "title": "@sel:tag.img[0]>>attr.alt",
            "cover": "https:<js>@sel:tag.img[0]>>attr.data-src</js>",
            "src": "https:<js>@sel:tag.img[0]>>attr.data-src</js>"
        }
    },
    "comments": {
        "request": {
            "url": "?c=comment&m=get_comment&id={{id}}&type=0&p={{page}}"
        },
        "dynamicData": {
            "list": "@json:comments.list",
            "title": "@json:u_name",
            "subtitle": "@json:comm_addtime",
            "avatar": "https://www.itingwa.com/upload/pic/180/<js>@json:u_img</js>",
            "content": "@json:content",
            "url": "user?id=<js>@json:comm_user</js>"
        }
    },
    "components": [{
        "name": "card",
        "style": {
            "cardTitle": "相关推荐",
            "cellName": "v-cell",
            "cellColumn": 2,
            "cellImageHeight": 500
        },
        "request": {
            "url": "{{href}}",
            "device": "手机"
        },
        "dynamicData": {
            "list": "@sel:class.list-ul[0]>>class.list-li",
            "title": "@sel:class.li-title[0]>>text",
            "cover": "https:<js>@sel:tag.img[0]>>attr.data-src</js>",
            "url": "picture?href=<js>@sel:tag.a[0]>>attr.href</js>&background=https:<js>@sel:tag.img[0]>>attr.data-src</js>"
        }
    }]
}

live(直播页)

  • 注意事项
    • 每个属性(例如:detail)中都默认包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
barrages Object ---- ---- 弹幕列表
components Array ---- ---- 组件列表(详情见下方components组件讲解)
cell Object ---- ---- 单元格列表(详情见下方cell单元格讲解)
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
tags Object ---- ---- 标签列表
isAdult Number 0 1/0 是否敏感内容
  • tags(标签列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "name": "live",
    "type": "live",
    "style": {
        "navigationTitle": "直播详情",
        "enableNavigationTransparent": 1
    },
    "detail": {
        "request": {
            "url": "/live/detail/{{id}}",
            "device": "电脑"
        },
        "dynamicData": {
            "title": "@sel:class.vod>>attr.alt",
            "cover": "@sel:class.cover>>attr.src",
            "src": "@sel:class.vod>>attr.src"
        }
    }
}

article(文章页)

  • 注意事项
    • 每个属性(例如:detail)中都默认包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
comments Object ---- ---- 评论列表
components Array ---- ---- 组件列表(详情见下方components组件讲解)
cell Object ---- ---- 单元格列表(详情见下方cell单元格讲解)
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
content String ---- ---- 文章内容
tags Object ---- ---- 标签列表
isAdult Number 0 1/0 是否敏感内容
  • tags(标签列表)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • comments(评论列表)
属性名 类型 默认值 可选值 说明
avatar String ---- ---- 头像网络图片路径
title String ---- ---- 评论标题
subtitle String ---- ---- 评论二级标题
content String ---- ---- 评论内容
url String ---- ---- 跳转路径(支持在线网址和规则页面)
subComments Object ---- ---- 二级评论列表(结构和评论列表相同)
masterComments Object ---- ---- 顶部评论列表(结构和评论列表相同)
  • 示例用法
{
    "name": "articledetail",
    "type": "article",
    "style": {
        "navigationTitle": "文章内容",
        "enableLoadmore": 1
    },
    "detail": {
        "request": {
            "url": "/article/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "title": "@sel:class.heading-block[0]>>class.title[0]>>text",
            "subtitle": "@sel:class.heading-block[0]>>class.text-muted[0]>>text",
            "cover": "@sel:class.article-cover[0]>>tag.img[0]>>attr.src",
            "content": "@sel:id.article-content>>content"
        }
    },
    "components": [{
        "name": "card",
        "style": {
            "cardTitle": "热门推荐",
            "cellName": "v-cell",
            "cellColumn": 2,
            "cellImageHeight": 140
        },
        "request": {
            "url": "/article/{{id}}.html",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.recommend-list[0]>>class.recommend-item",
            "title": "@sel:class.recommend-text[0]>>attr.title",
            "cover": "@sel:class.recommend-cover[0]>>attr.style@match:background-image: url&es;(&apos;>>&apos;&es;)>>1",
            "url": "articledetail?id=<js>@sel:attr.href@match:article&es;/>>.html>>1</js>"
        }
    }],
    "comments": {
        "request": {
            "url": "/comment/items?type=article&tid={{id}}&pageSize=15&page={{page}}&_={{RandomNumberString(13)}}"
        },
        "dynamicData": {
            "list": "@json:items",
            "avatar": "@json:author.avatar",
            "title": "@json:author.nick",
            "subtitle": "@json:date@sync:return lastResult*1000@dateFormat:",
            "content": "@json:content",
            "url": "user?id=<js>@json:author.id</js>",
            "subComments": {
                "list": "@json:replies.items",
                "avatar": "@json:author.avatar",
                "title": "@json:author.nick",
                "subtitle": "@json:date@sync:return lastResult*1000@dateFormat:",
                "content": "@json:content",
                "url": "user?id=<js>@json:author.id</js>"
            }
        }
    }
}

user(用户页)

  • 注意事项
    • detail包含staticData,request和dynamicData属性,这里因为内容太多就不显示了
    • subsection为集合,同column页面类似
属性名 类型 默认值 可选值 说明
detail Object ---- ---- 详情信息
subsection Array ---- ---- 分栏列表
  • detail(详情信息)
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
avatar String ---- ---- 头像图片网络路径
cover String ---- ---- 封面图片网络路径
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
isAdult Number 0 1/0 是否敏感
  • subsection
属性名 类型 默认值 可选值 说明
label String ---- ---- 分栏标题
components Array ---- ---- 组件集合(具体见下方components组件讲解)
cell Object ---- ---- 单元格列表(具体见下方cell单元格讲解)
  • 示例用法
{
    "name": "user",
    "type": "user",
    "style": {
        "navigationTitle": "作者信息",
        "enableNavigationTransparent": 1,
        "enableSwiper": 1,
        "background": "#ffffff",
        "subsectionColumn": 3
    },
    "darkStyle": {
        "background": "#131313"
    },
    "detail": {
        "request": {
            "url": "/user/info?id={{id}}",
            "device": "电脑"
        },
        "dynamicData": {
            "title": "@sel:class.r-side[0]>>class.name[0]>>tag.p[0]>>text",
            "avatar": "@sel:class.r-side[0]>>class.profile-cover[0]>>tag.img[0]>>attr.src",
            "cover": "https://eli.linovel.net/static/img/profile_cover.22b302b.jpg",
            "description": "@sel:class.r-side[0]>>class.profile[0]>>class.list[0]>>text"
        }
    },
    "subsection": [{
        "label": "小说",
        "cell": {
            "style": {
                "cellName": "v-cell",
                "cellColumn": 3,
                "cellImageHeight": 300
            },
            "request": {
                "url": "/user/info?id={{id}}",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.works-grid[0]>>class.grid",
                "title": "@sel:class.title[0]>>text",
                "cover": "@sel:tag.img[0]>>attr.src",
                "url": "book?id=<js>@sel:tag.a[0]>>attr.href@match:book&es;/>>.html>>1</js>"
            }
        }
    },{
        "label": "粉丝",
        "style": {
            "enableLoadmore": 1
        },
        "cell": {
            "style": {
                "cellName": "h-cell",
                "cellColumn": 1,
                "cellImageWidth": 80,
                "cellImageHeight": 80,
                "cellImageBorderRadius": 80
            },
            "request": {
                "url": "/user/followerList?id={{id}}&page={{page}}",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.user-list[0]>>tag.li",
                "title": "@sel:class.name[0]>>text",
                "subtitle": "@sel:class.sign[0]>>text",
                "cover": "@sel:tag.img[0]>>attr.data-original",
                "url": "user?id=<js>@sel:tag.a[0]>>attr.href@replace:/user/info?id=</js>"
            }
        }
    },{
        "label": "关注",
        "style": {
            "enableLoadmore": 1
        },
        "cell": {
            "style": {
                "cellName": "h-cell",
                "cellColumn": 1,
                "cellImageWidth": 80,
                "cellImageHeight": 80,
                "cellImageBorderRadius": 80
            },
            "request": {
                "url": "/user/followeeList?id={{id}}&page={{page}}",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.user-list[0]>>tag.li",
                "title": "@sel:class.name[0]>>text",
                "subtitle": "@sel:class.sign[0]>>text",
                "cover": "@sel:tag.img[0]>>attr.data-original",
                "url": "user?id=<js>@sel:tag.a[0]>>attr.href@replace:/user/info?id=</js>"
            }
        }
    }]
}

cell(单元格)

  • h-cell(横向单元格)
  • style(样式)
属性名 类型 默认值 可选值 说明
cellName String h-cell ---- 单元格名称
cellColumn Number 3 ---- 列数
cellImageWidth Number 120 ---- 图片宽度
cellImageHeight Number 160 ---- 图片高度
cellImageBorderRadius Number 10 ---- 图片圆角
cellImageTipSize Number 20 ---- 图片加载提示文字大小
cellTitleLines Number 1 ---- 标题最多显示多少行
cellDescriptionLines Number 3 ---- 简介最多显示多少行
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
subTitle String ---- ---- 二级标题
description String ---- ---- 简介
cover String ---- ---- 图片地址
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "cell": {
        "style": {
            "cellName": "h-cell",
            "cellImageWidth": 160,
            "cellImageHeight": 220,
            "cellDescriptionLines": 4
        },
        "request": {
            "url": "/search/?kw={{keyword}}&sign={{$2}}&sort={{$1}}&words=-1&page={{page}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.rank-book-list[0]>>tag.a",
            "title": "@sel:class.book-name[0]>>text",
            "cover": "@sel:class.book-cover[0]>>tag.img[0]>>attr.src",
            "subtitle": "@sel:class.book-extra[0]>>text",
            "description": "@sel:class.book-intro[0]>>text",
            "url": "book?id=<js>@sel:attr.href@match:book&es;/>>.html>>1</js>"
        }
    }
}
  • v-cell(竖向单元格)
  • style(样式)
属性名 类型 默认值 可选值 说明
cellName String v-cell ---- 单元格名称
cellColumn Number 3 ---- 列数
cellImageHeight Number 240 ---- 图片高度
cellImageBorderRadius Number 10 ---- 图片圆角
cellImageTipSize Number 20 ---- 图片加载提示文字大小
cellTitleLines Number 1 ---- 标题最多显示多少行
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
subTitle String ---- ---- 二级标题
cover String ---- ---- 图片地址
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "cell": {
        "style": {
            "cellName": "v-cell",
            "cellImageHeight": 240,
            "cellColumn": 3,
        },
        "request": {
            "url": "/search/?kw={{keyword}}&sign={{$2}}&sort={{$1}}&words=-1&page={{page}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.rank-book-list[0]>>tag.a",
            "title": "@sel:class.book-name[0]>>text",
            "cover": "@sel:class.book-cover[0]>>tag.img[0]>>attr.src",
            "subtitle": "@sel:class.book-extra[0]>>text",
            "url": "book?id=<js>@sel:attr.href@match:book&es;/>>.html>>1</js>"
        }
    }
}
  • img-cell(图片单元格)
  • style(样式)
属性名 类型 默认值 可选值 说明
cellName String img-cell ---- 单元格名称
cellColumn Number 3 ---- 列数
cellImageHeight Number 240 ---- 图片高度
cellImageBorderRadius Number 10 ---- 图片圆角
cellImageTipSize Number 20 ---- 图片加载提示文字大小
  • 数据
属性名 类型 默认值 可选值 说明
cover String ---- ---- 图片地址
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "cell": {
        "style": {
            "cellName": "img-cell",
            "cellImageHeight": 240,
            "cellColumn": 3,
        },
        "request": {
            "url": "/search/?kw={{keyword}}&sign={{$2}}&sort={{$1}}&words=-1&page={{page}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.rank-book-list[0]>>tag.a",
            "cover": "@sel:class.book-cover[0]>>tag.img[0]>>attr.src",
            "url": "book?id=<js>@sel:attr.href@match:book&es;/>>.html>>1</js>"
        }
    }
}
  • text-cell(文字单元格)
  • style(样式)
属性名 类型 默认值 可选值 说明
cellName String text-cell ---- 单元格名称
cellColumn Number 3 ---- 列数
cellTitleLines Number 1 ---- 标题最多显示多少行
cellDescriptionLines Number 3 ---- 简介最多显示多少行
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
subTitle String ---- ---- 二级标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "cell": {
        "style": {
            "cellName": "text-cell",
            "cellImageHeight": 240,
            "cellColumn": 3,
        },
        "request": {
            "url": "/search/?kw={{keyword}}&sign={{$2}}&sort={{$1}}&words=-1&page={{page}}",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@sel:class.rank-book-list[0]>>tag.a",
            "title": "@sel:class.book-name[0]>>text",
            "subtitle": "@sel:class.book-extra[0]>>text",
            "url": "book?id=<js>@sel:attr.href@match:book&es;/>>.html>>1</js>"
        }
    }
}
  • tag-cell(标签单元格)
  • style(样式)
属性名 类型 默认值 可选值 说明
cellName String tag-cell ---- 单元格名称
cellColumn Number/String auto ---- 列数
cellTitleLines Number 1 ---- 标题最多显示多少行
cellTitleSize Number 24 ---- 标签文字大小
cellBorderRadius Number 10 ---- 标签圆角
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "components": [
        {
            "name": "card",
            "style": {
                "cardTitle": "热门标签",//卡片标题
                "cellName": "tag-cell",
                "cellColumn": "auto",
            },
            "request": {
                "url": "/search/?kw={{keyword}}&sign={{$2}}&sort={{$1}}&words=-1",
                "device": "电脑"
            },//请求
            "dynamicData": {
                "list": "@sel:class.rank-book-list[0]>>tag.a",
                "title": "@sel:class.book-name[0]>>text",
                "url": "book?id=<js>@sel:attr.href@match:book&es;/>>.html>>1</js>"
            }//动态数据
        }
    ]
}
  • article-cell(文章单元格)
  • style(样式)
属性名 类型 默认值 可选值 说明
cellName String article-cell ---- 单元格名称
cellColumn Number 1 ---- 列数
cellImageWidth Number 230 ---- 图片宽度
cellImageHeight Number 190 ---- 图片高度
cellTitleLines Number 1 ---- 标题最多显示几行
cellDescriptionLines Number 3 ---- 简介最多显示几行
cellImageTipSize Number 1 ---- 图片加载提示文字大小
cellImageBorderRadius Number 10 ---- 图片圆角
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
subtitle String ---- ---- 二级标题
description String ---- ---- 简介
images Array/String ---- ---- 图片组
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "cell": {
        "style": {
            "cellName": "article-cell"
        },
        "request": {
            "url": "?c=tingshuo&m=get_feeds",
            "device": "电脑"
        },
        "dynamicData": {
            "list": "@json:data@sel:tag.dl",
            "title": "@sel:class.feed_detail[0]>>class.hide[0]>>text",
            "description": "@sel:class.feed_info[0]>>tag.div[0]&&tag.div[1]>>text@string:",
            "subtitle": "@sel:class.feed_info[0]>>tag.ul[0]>>text",
            "images": "https://www.itingwa.com<js>@sel:class.feed_img[0]>>attr.src</js>",
            "url": "<if>@sel:tag.a[1]>>attr.href@have:listen</if><then>music?id=<js>@sel:tag.a[1]>>attr.href@split:listen/>>1</js></then><elseif>@sel:tag.a[1]>>attr.href@have:album</elseif><then>album?id=<js>@sel:tag.a[1]>>attr.href@split:album/>>1</js></then><else>article?id=<js>@sel:tag.a[1]>>attr.href@split:article/>>1</js></else>&background=https://www.itingwa.com<js>@sel:class.feed_img[0]>>attr.src</js>",
            "dataId": "@sel:attr.init-data"
        }
    }
}
  • comment-cell(评论单元格)
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
subtitle String ---- ---- 二级标题
avatar String ---- ---- 头像
content String ---- ---- 评论内容
masterComments Array ---- ---- 顶部评论集合
subComments Array ---- ---- 二级评论集合
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "comments": {
        "request": {
            "url": "?c=comment&m=get_comment&id={{id}}&type=0&p={{page}}"
        },
        "dynamicData": {
            "list": "@json:items",
            "avatar": "@json:author.avatar",
            "title": "@json:author.nick",
            "subtitle": "@json:date@sync:return lastResult*1000@dateFormat:",
            "content": "@json:content",
            "url": "user?id=<js>@json:author.id</js>",
            "subComments": {
                "list": "@json:replies.items",
                "avatar": "@json:author.avatar",
                "title": "@json:author.nick",
                "subtitle": "@json:date@sync:return lastResult*1000@dateFormat:",
                "content": "@json:content",
                "url": "user?id=<js>@json:author.id</js>"
            }
        }
    }
}

components(组件)

  • search-input(搜索框)
  • style(样式)
属性名 类型 默认值 可选值 说明
url String ---- ---- 跳转路径(支持在线网址和规则页面)
placeholder String ---- ---- 搜索框提示文字
borderRadius Number 10 ---- 搜索框圆角
  • 示例用法
{
    "components": [
        {
            "name": "search-input",
            "style": {
                "url": "search",//跳转name为search的规则页面
                "placeholder": "点击搜索内容",//提示文字
                "borderRadius": 10//圆角
            }
        },
        {
            "name": "search-input",
            "style": {
                "url": "https://www.baidu.com"//跳转在线网址
            }
        }
    ]
}
  • slider(轮播图)
  • style(样式)
属性名 类型 默认值 可选值 说明
height Number 280 ---- 高度
enableIndicatorDots Number 1 1/0 开启指示点
indicatorActiveColor String ---- ---- 指示点选中色
titleShow Number 1 1/0 展示轮播图标题
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 轮播图标题
cover String ---- ---- 轮播图图片路径
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "components": [
        {
            "name": "slider",
            "style": {
                "height": 280,//高度
                "enableIndicatorDots": 1,//开启指示点
                "indicatorActiveColor": "#42b983",//指示点选中色
                "titleShow": 1//展示标题
            },
            "staticData": [{
                "title": "轮播图第一张",//标题
                "cover": "https://image.test.com/test1.png",//图片路径
                "url": "https://www.test.com"//跳转路径
            },{
                "title": "轮播图第二张",//标题
                "cover": "https://image.test.com/test2.png",//图片路径
                "url": "https://www.test.com"//跳转路径
            }]//静态数据
        },
        {
            "name": "slider",
            "style": {
                "height": 280,//高度
                "enableIndicatorDots": 1,//开启指示点
                "indicatorActiveColor": "#42b983",//指示点选中色
                "titleShow": 0//不展示标题
            },
            "request": {
                "url": "https://www.test.com",//请求链接
                "device": "电脑"//请求平台
            },//请求
            "dynamicData": {
                "list": "@sel:tag.li",//列表规则
                "cover": "@sel:class.img[0]>>attr.src",//图片规则
                "url": "detail?id=<js>@sel:class.link[0]>>attr.href</js>"//跳转路径规则
            }//动态数据
        }
    ]
}
  • banner(banner图)
  • style(样式)
属性名 类型 默认值 可选值 说明
height Number ---- ---- 高度
borderRadius Number 15 ---- 圆角
mode String widthFix widthFix/aspectFit/aspectFill/heightFix 图片剪切模式
  • 数据
属性名 类型 默认值 可选值 说明
cover String ---- ---- 轮播图图片路径
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "components": [
        {
            "name": "banner",
            "style": {
                "height": 280,//高度
                "borderRadius": 15,//开启指示点
                "mode": "aspectFill",//图片剪切模式
            },
            "staticData": [{
                "cover": "https://image.test.com/test1.png",//图片路径
                "url": "https://www.test.com"//跳转路径
            },{
                "cover": "https://image.test.com/test2.png",//图片路径
                "url": "https://www.test.com"//跳转路径
            }]//静态数据
        },
        {
            "name": "banner",
            "style": {
                "height": 280,//高度
                "borderRadius": 15,//开启指示点
                "mode": "aspectFill",//图片剪切模式
            },
            "request": {
                "url": "https://www.test.com",//请求链接
                "device": "电脑"//请求平台
            },//请求
            "dynamicData": {
                "list": "@sel:tag.li",//列表规则
                "cover": "@sel:class.img[0]>>attr.src",//图片规则
                "url": "detail?id=<js>@sel:class.link[0]>>attr.href</js>"//跳转路径规则
            }//动态数据
        }
    ]
}
  • notice-bar(公告栏)
  • style(样式)
属性名 类型 默认值 可选值 说明
icon String ---- ---- 图标 可使用网络图片路径或者图标库
borderRadius Number 10 ---- 圆角
moreText String ---- ---- 更多按钮文字
moreUrl String ---- ---- 更多跳转路径(支持在线网址和规则页面)
  • 数据
属性名 类型 默认值 可选值 说明
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "components": [
        {
            "name": "notice-bar",
            "style": {
                "icon": "notification",//图标 可使用网络图片路径
                "moreText": "全部",//更多按钮文字
                "moreUrl": "notice",//更多跳转路径(网址 | 页面)
                "borderRadius": 10,//圆角
            },
            "staticData": [{
                "title": "这是一条公告1",//标题
                "url": "https://www.test.com"//跳转路径
            },{
                "cover": "这是一条公告2",//标题
                "url": "https://www.test.com"//跳转路径
            }]//静态数据
        },
        {
            "name": "notice-bar",
            "style": {
                "icon": "notification",//图标 可使用网络图片路径
                "moreText": "全部",//更多按钮文字
                "moreUrl": "notice",//更多跳转路径(网址 | 页面)
                "borderRadius": 10,//圆角
            },
            "request": {
                "url": "https://www.test.com",//请求链接
                "device": "电脑"//请求平台
            },//请求
            "dynamicData": {
                "list": "@sel:tag.li",//列表规则
                "title": "@sel:tag.p[0]>>text",//标题规则
                "url": "detail?id=<js>@sel:class.link[0]>>attr.href</js>"//跳转路径规则
            }//动态数据
        }
    ]
}
  • menu(菜单栏)
  • style(样式)
属性名 类型 默认值 可选值 说明
column Number 4 ---- 列数
columnGap Number 15 ---- 间隔
borderRadius Number 15 ---- 圆角
  • 数据
属性名 类型 默认值 可选值 说明
icon String ---- ---- 图标 可使用网络图片路径或者图标库
iconColor String ---- ---- 图标颜色
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "components": [
        {
            "name": "menu",
            "style": {
                "column": 2,//列数
                "columnGap": 15,//列间隔
                "borderRadius": 15//圆角
            },
            "staticData": [{
                "icon": "notifacation",//图标 可使用网络图片路径
                "iconColor": "#f5f5f5",//图标颜色
                "title": "菜单",//标题
                "url": "list"//跳转路径(网址 | 页面)
            },{
                "icon": "notifacation",//图标 可使用网络图片路径
                "iconColor": "#f5f5f5",//图标颜色
                "title": "菜单",//标题
                "url": "list"//跳转路径(网址 | 页面)
            }]//静态数据
        },
        {
            "name": "menu",
            "style": {
                "column": 2,//列数
                "columnGap": 15,//列间隔
                "borderRadius": 15//圆角
            },
            "request": {
                "url": "https://www.test.com",//请求链接
                "device": "电脑"//请求平台
            },//请求
            "dynamicData": {
                "list": "@sel:tag.li",//列表规则
                "icon": "@sel:tag.img[0]>>attr.src",//图片规则
                "title": "@sel:tag.p[0]>>text",//标题规则
                "url": "detail?id=<js>@sel:class.link[0]>>attr.href</js>"//跳转路径(网址 | 页面)
            }//动态数据
        }
    ]
}
  • link(链接)
  • style(样式)
属性名 类型 默认值 可选值 说明
iconColor String ---- ---- 图标颜色
iconBorderRadius Number 0 ---- 图标圆角
borderRadius Number 0 ---- 圆角
  • 数据
属性名 类型 默认值 可选值 说明
icon String ---- ---- 图标 可使用网络图片路径或者图标库
title String ---- ---- 标题
description String ---- ---- 简介
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "components": [
        {
            "name": "link",
            "style": {
                "iconColor": "#f5f5f5",//图标颜色
                "iconBorderRadius": 0,//图标圆角
                "borderRadius": 0,//圆角
            },
            "staticData":{
                "icon": "notification",//图标
                "title": "这是一个链接",//标题
                "description": "这是一个链接简介",//简介
                "url": "https://www.baidu.com"//跳转网址
            }//静态数据
        },
        {
            "name": "link",
            "style": {
                "iconColor": "#f5f5f5",//图标颜色
                "iconBorderRadius": 0,//图标圆角
                "borderRadius": 0,//圆角
            },
            "request": {
                "url": "https://www.test.com",//请求链接
                "device": "电脑"//请求平台
            },//请求
            "dynamicData": {
                "icon": "@sel:tag.img[0]>>attr.src",//图片规则
                "title": "@sel:tag.p[0]>>text",//标题规则
                "description": "@sel:class.intro[0]>>text",//简介规则
                "url": "detail?id=<js>@sel:class.link[0]>>attr.href</js>"//跳转路径(网址 | 页面)
            }//动态数据
        }
    ]
}
  • links(链接栏)
  • style(样式)
属性名 类型 默认值 可选值 说明
column Number 2 ---- 列数
borderRadius Number 0 ---- 圆角
  • 数据
属性名 类型 默认值 可选值 说明
icon String ---- ---- 图标 可使用网络图片路径或者图标库
iconColor String ---- ---- 图标颜色
title String ---- ---- 标题
url String ---- ---- 跳转路径(支持在线网址和规则页面)
  • 示例用法
{
    "components": [
        {
            "name": "links",
            "style": {
                "column": 2,//列数
                "borderRadius": 0//圆角
            },
            "staticData": [{
                "icon": "notifacation",//图标 可使用网络图片路径
                "iconColor": "#f5f5f5",//图标颜色
                "title": "链接",//标题
                "url": "list"//跳转路径(网址 | 页面)
            },{
                "icon": "notifacation",//图标 可使用网络图片路径
                "iconColor": "#f5f5f5",//图标颜色
                "title": "链接",//标题
                "url": "list"//跳转路径(网址 | 页面)
            }]//静态数据
        }
        {
            "name": "links",
            "style": {
                "column": 2,//列数
                "borderRadius": 0//圆角
            },
            "request": {
                "url": "https://www.test.com",//请求链接
                "device": "电脑"//请求平台
            },//请求
            "dynamicData": {
                "list": "@sel:tag.li",//列表规则
                "icon": "@sel:tag.img[0]>>attr.src",//图片规则
                "title": "@sel:tag.p[0]>>text",//标题规则
                "url": "detail?id=<js>@sel:class.link[0]>>attr.href</js>"//跳转路径(网址 | 页面)
            }//动态数据
        }
    ]
}
  • card(卡片)
  • style(样式)
属性名 类型 默认值 可选值 说明
cardTitle String ---- ---- 卡片标题
cardIcon String ---- ---- 卡片图标 可使用网络图片路径或者图标库
cardIconColor String ---- ---- 卡片图标颜色
cardDescription String ---- ---- 卡片简介
enableRefresh Number 0 1/0 开启换一组功能(需要配合cellCount使用,cellCount用来控制每一组的最大数量)
enableScroll Number 0 1/0 开启滚动功能
enableTopCard Number 0 1/0 开启顶部卡片显示
topImageWidth Number 120 ---- 顶部卡片图片宽度
topImageHeight Number 160 ---- 顶部卡片图片高度
moreText String ---- ---- 更多按钮文字
moreUrl String ---- ---- 更多按钮链接(支持在线网址和规则页面)
cellName String ---- h-cell v-cell img-cell text-cell tag-cell 单元格
cellCount Number/String auto ---- 列表总数
cellScrollWidth Number 200 ---- 开启滚动后,单项单元格的宽度
borderRadius Number 0 ---- 圆角
subsectionSelectedColor String ---- ---- 分段器选中颜色
  • data(数据)
属性名 类型 默认值 可选值 说明
subsection Array ---- ---- 分段数据
  • 示例用法(该组件需要配合cell单元格使用)
{
    "components": [
        {
            "name": "card",
            "style": {
                "cardTitle": "作者",
                "cellName": "h-cell",
                "cellColumn": 1,
                "cellImageWidth": 80,
                "cellImageHeight": 80,
                "cellDescriptionLines": 1,
                "cellImageBorderRadius": 80
            },
            "request": {
                "url": "/book/{{id}}.html",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.novelist",
                "title": "@sel:class.name[0]>>tag.a[0]>>text",
                "cover": "@sel:tag.img[0]>>attr.src",
                "description": "@sel:class.about[0]>>text",
                "url": "user?id=<js>@sel:class.name[0]>>tag.a[0]>>attr.href@replace:/user/info?id=</js>"
            }
        },
        {
            "name": "card",
            "style": {
                "cardTitle": "推荐阅读",
                "cellName": "v-cell"
            },
            "request": {
                "url": "/book/{{id}}.html",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.side-show-image-list[0]>>class.side-show-image-item",
                "title": "@sel:tag.img[0]>>attr.alt",
                "cover": "@sel:tag.img[0]>>attr.src",
                "url": "book?id=<js>@sel:tag.a[0]>>attr.href@match:book&es;/>>.html>>1</js>"
            }
        },
        {
            "name": "card",
            "style": {
                "cardTitle": "版权强推",
                "cellName": "img-cell",
                "cellColumn": 2,
                "cellImageHeight": 140,
                "enableTopCard": 1
            },
            "request": {
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.blog-list[0]>>tag.li",
                "cover": "@sel:class.lazy[0]>>attr.data-original",
                "url": "@sel:tag.a[0]>>attr.href"
            }
        },
        {
            "name": "card",
            "style": {
                "cellName": "text-cell"
            },
            "request": {
                "url": "/article/{{$1}}/{{page}}",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.article[0]>>tag.li",
                "title": "@sel:class.title[0]>>text",
                "subtitle": "@sel:class.top_20[0]>>text",
                "url": "<if>@sel:class.right[0]>>tag.img[0]</if><then>article?id=<js>@sel:class.title[0]>>attr.href@split:article/>>1</js>&background=<js>@sel:class.right[0]>>tag.img[0]>>attr.src</js></then><else>article?id=<js>@sel:class.title[0]>>attr.href@split:article/>>1</js>&background=<js>@sel:class.face[0]>>attr.src</js></else>"
            }
        },
        {
            "name": "card",
            "style": {
                "cardTitle": "分类",
                "cellName": "tag-cell",
                "cellColumn": "auto"
            },
            "request": {
                "url": "/book/fenlei.html",
                "device": "电脑"
            },
            "staticData": {
                "subsection": ["热血", "推理", "悬疑"]
            },
            "dynamicData": {
                "list": [{
                    "list": "@sel:id.album_tabs>>tag.li[2]>>tag.a",
                    "title": "@sel:text",
                    "url": "detail?id=<js>@sel:attr.href@match:cate->>.html>>1</js>&navigationTitle=<js>@sel:text</js>"
                },{
                    "list": "@sel:id.album_tabs>>tag.li[3]>>tag.a",
                    "title": "@sel:text",
                    "url": "detail?id=<js>@sel:attr.href@match:cate->>.html>>1</js>&navigationTitle=<js>@sel:text</js>"
                },{
                    "list": "@sel:id.album_tabs>>tag.li[4]>>tag.a",
                    "title": "@sel:text",
                    "url": "detail?id=<js>@sel:attr.href@match:cate->>.html>>1</js>&navigationTitle=<js>@sel:text</js>"
                }]
            }
        },
        {
            "name": "card",
            "style": {
                "cardTitle": "最近应援",
                "cardDescription": "大佬万岁\/(^o^)/ ",
                "cellName": "v-cell",
                "cellColumn": 4,
                "cellCount": 4,//每组数量为4
                "enableRefresh": 1,//开启换一组功能
                "cellImageHeight": 160
            },
            "request": {
                "url": "/book.html",
                "device": "电脑"
            },
            "dynamicData": {
                "list": "@sel:class.reward-list[0]>>tag.a",
                "title": "@sel:class.book-name[0]>>text",
                "subtitle": "@sel:class.reward-detail[0]>>text",
                "cover": "@sel:class.lazy[0]>>attr.data-original",
                "url": "book?id=<js>@sel:attr.href@match:book&es;/>>.html>>1</js>"
            }
        }
    ]
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

系统存储权限、壁纸设置权限、后台运行权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问