本指南参考了喵公子的规则说明和阅读仓库的jshelp等文档,需要有一定基础。
url附加参数
https://www.baidu.com,{
"charset": "这里是编码",
"method": "POST",
"body": "......",
"headers": {......},
"js": "解析完url参数时执行,结果会赋值给url",
"webView": true,
"proxy": "socks5://127.0.0.1:1080@用户名@密码"
}
配置需要的项目即可,完整参数见data class UrlOption()
{{}}的使用搜索URL与发现URL中只能使用js,且有page和key变量,前者为页数,从1开始,后者为搜索关键词。
其他地方应该在对应规则前加标识,Default规则需要以@@开头,XPath需要以@xpath:或//开头,JSONPath需要以@json:或$.开头,CSS需要以@css:开头。
任何与url相关的地方都可以返回'{{这里是代码}}',阅读会解析url并执行
只有使用JSONPath不需要加引号:
@put:{bid:"@@class.pid@text"}
@get:{bid}
可以如io.legado.app.utils.htmlFormat(str)以包名开头,或导入包,以Packages开头:
var javaImport = new JavaImporter();
javaImport.importPackage(Packages.java.lang);
with(javaImport) { ...... }
首页::/
或
[{"title": "首页",
"url": "/",
"style": {
"layout_flexGrow": 0,
"layout_flexShrink": 1,
"layout_alignSelf": "auto",
"layout_flexBasisPercent": -1,
"layout_wrapBefore": true
}
}]
正文规则:
[包含视频链接的元素]@html
@js:const regex = /url=(.*?)"/;
const url = result.match(regex)[1];
const html = `data:text/html;charset=utf-8,<html><head><meta name="viewport" content="width=device-width"><style>body {display: flex;justify-content: center;align-items: center;background-color: black;margin: 0;}video {max-width: 100%;max-height: 100%;}</style></head><body><video controls autoplay muted><source src="${url}"></video></body></html>`;
java.startBrowser(html, java.get('t'));
' 【刷新正文】或【点击章节链接】跳转播放\n🔗直链:\n' + url
//将搜索或发现url改为
{{page == 1 ? '这里是原本的url' + key : cache.getFromMemory('url')}}
//在书籍列表规则后加上
@js:cache.putMemory('url', java.getElement('这里是下一页链接所在元素的规则')); result