闲看免费小说
http://nav.jijia-co.com
jianghubailei (2226)5天前
下面是详情页api,需要的自行修改
/api/novel/book/detail.do?bookId={{$.bookId}}&vn=1.0.1.x&m=G8&t={{Date.now()}}&ch=xiaomi&pkg=com.smart.app.jiudianjiu.xin.leisureNovel {
"bookSourceComment": "下面是详情页api,需要的自行修改\n\/api\/novel\/book\/detail.do?bookId={{$.bookId}}&vn=1.0.1.x&m=G8&t={{Date.now()}}&ch=xiaomi&pkg=com.smart.app.jiudianjiu.xin.leisureNovel",
"bookSourceGroup": "小说",
"bookSourceName": "闲看免费小说",
"bookSourceType": 0,
"bookSourceUrl": "http:\/\/nav.jijia-co.com",
"customButton": false,
"customOrder": 1,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"eventListener": false,
"exploreUrl": "@js:\nconst list = []\nconst push = (title, url, size) => list.push({\n title,\n url,\n style: {layout_flexBasisPercent: size||0.29}\n});\n\nconst male = [{\"title\":\"都市\",\"value\":\"101\"},{\"title\":\"奇幻仙侠\",\"value\":\"102\"},{\"title\":\"玄幻\",\"value\":\"103\"},{\"title\":\"科幻末世\",\"value\":\"104\"},{\"title\":\"悬疑灵异\",\"value\":\"105\"},{\"title\":\"异能\",\"value\":\"106\"},{\"title\":\"武侠\",\"value\":\"107\"},{\"title\":\"历史\",\"value\":\"108\"},{\"title\":\"游戏\",\"value\":\"109\"},{\"title\":\"青春校园\",\"value\":\"110\"},{\"title\":\"文学作品\",\"value\":\"111\"}]\nconst female = [{\"title\":\"现代言情\",\"value\":\"201\"},{\"title\":\"古代言情\",\"value\":\"202\"},{\"title\":\"豪门总裁\",\"value\":\"203\"},{\"title\":\"青春校园\",\"value\":\"204\"},{\"title\":\"穿越\",\"value\":\"205\"},{\"title\":\"重生\",\"value\":\"206\"},{\"title\":\"婚恋情感\",\"value\":\"207\"},{\"title\":\"文学作品\",\"value\":\"208\"},{\"title\":\"其他\",\"value\":\"209\"}]\n\nconst st = {\"all\":\"不限\",\"0\":\"连载\",\"1\":\"完结\"}\nlet {status, toggle} = createConfig();\n\nlet url = `\/api\/novel\/book\/v2\/class\/book.do?parentClassId=$classId&classId=all&status=${status}&page={{page-1}}&size=10&vn=1.0.1.x&m=G8&t={{Date.now()}}&ch=xiaomi&pkg=com.smart.app.jiudianjiu.xin.leisureNovel`;\n\npush(\"可从登录中选择状态\",\"\",1)\npush(\"当前状态:\"+st[status],\"\",1)\npush(\"男生\", \"\", 1)\nmale.forEach({title, value} => \n\t push(title, url.replace(\"$classId\", value))\n)\npush(\"女生\", \"\", 1)\nfemale.forEach({title, value} => \n\t push(title, url.replace(\"$classId\", value))\n)\n\nvar rankList = []\nif(toggle.trim() === \"✅\"){\n\t eval(String(source.variableComment))\n}else{rankList = []}\n\nJSON.stringify(list.concat(rankList))",
"jsLib": "function createConfig(){\n\t const {source} = this;\n\t try{\n return JSON.parse(source.variable)\n }catch(_){\n\t return {status: \"all\"}\n }\n}",
"lastUpdateTime": "1769609131835",
"loginUi": "[\n {\n \"name\": \"statusbar\",\n \"viewName\": \"'选择状态(点击显示当前状态)'\",\n \"type\": \"button\",\n \"action\": \"show()\",\n \"style\": {layout_flexBasisPercent: 1}\n },\n {\n \"name\": \"不限\",\n \"type\": \"button\",\n \"action\": \"setStatus('all')\",\n \"style\": {layout_flexBasisPercent: 0.29}\n },\n {\n \"name\": \"完结\",\n \"type\": \"button\",\n \"action\": \"setStatus('1')\",\n \"style\": {layout_flexBasisPercent: 0.29}\n },\n {\n \"name\": \"连载\",\n \"type\": \"button\",\n \"action\": \"setStatus('0')\",\n \"style\": {layout_flexBasisPercent: 0.29}\n },\n {\n \"name\": \"排行榜\",\n \"type\": \"toggle\",\n \"chars\": [\"❌ \", \"✅ \"],\n \"style\":{\n layout_flexBasisPercent: 0.5\n }\n },\n {\n \"name\": \"确定\",\n \"type\": \"button\",\n \"action\": \"toggle()\",\n \"style\":{\n layout_flexBasisPercent: 0.4\n }\n }\n]",
"loginUrl": "function login(){}\n\nfunction show(){\n\t const config = createConfig();\n const {status, toggle} = config;\n const st = {\"all\":\"不限\",\"0\":\"连载\",\"1\":\"完结\"}\n java.toast(\"\\n当前状态:\\n\" + st[status] + \":\"+status+\"\\n排行榜:\"+toggle)\n}\n\nfunction setStatus(val){\n\t const config = createConfig();\n config.status = String(val).trim();\n source.setVariable(JSON.stringify(config));\n source.refreshExplore()\n}\n\nfunction toggle(){\n\t const config = createConfig();\n \/\/let info = source.getLoginInfoMap();\n \/\/let value = info[\"排行榜\"]\n config.toggle = String(result.get(\"排行榜\"));\n source.setVariable(JSON.stringify(config))\n source.refreshExplore()\n}",
"respondTime": 180000,
"ruleBookInfo": {},
"ruleContent": {
"content": "$..content@js:eval(`\"${result}\"`)",
"replaceRegex": "##{{title}}"
},
"ruleExplore": {},
"ruleSearch": {
"author": "$.author",
"bookList": "$.data.books||$.data",
"bookUrl": "\/api\/novel\/book\/chapterlist.do?bookId={{$..bookId}}&vn=1.0.1.x&m=G8&t={{Date.now()}}&ch=xiaomi&pkg=com.smart.app.jiudianjiu.xin.leisureNovel",
"coverUrl": "$.cover",
"intro": "$.bookDesc",
"kind": "@js:\n [\n result.parentClassName,\n result.className,\n result.status == 0 ? \"连载\":\"完结\"\n ]",
"name": "$.bookName",
"wordCount": "$.words@js:\nfunction formatWordCount(wordCount) {\n if(!wordCount) return \"\";\n if (wordCount < 1e4) {\n return wordCount + \"字\";\n } else {\n return (wordCount \/ 1e4).toFixed(1) + \"万字\";\n }\n}\n\nformatWordCount(result)"
},
"ruleToc": {
"chapterList": "$.data",
"chapterName": "$.chapterName",
"chapterUrl": "$.chapterId@js:\nlet id = baseUrl.match(\/bookId=(\\d+)&\/)[1];\n`\/api\/novel\/book\/chapter.do?bookId=${id}&chapterId=${result}&vn=1.0.1.x&m=G8&t={{Date.now()}}&ch=xiaomi&pkg=com.smart.app.jiudianjiu.xin.leisureNovel`"
},
"searchUrl": "\/api\/novel\/book\/search\/result.do?like=0&page={{page-1}}&size=10&keywords={{key}}&type=&vn=1.0.1.x&m=G8&t={{Date.now()}}&ch=xiaomi&pkg=com.smart.app.jiudianjiu.xin.leisureNovel",
"variableComment": "\/\/排行榜\nrankList = []\nconst pushRank = (title, url, size) =>\n rankList.push({\n title,\n url,\n style: {layout_flexBasisPercent: size||0.29}\n });\n\nconst genders = [{\"title\":\"男生\",\"value\":\"1\"},{\"title\":\"女生\",\"value\":\"2\"}]\nconst tops = [{\"title\":\"推荐\",\"value\":\"01\"},{\"title\":\"完结榜\",\"value\":\"02\"},{\"title\":\"热搜榜\",\"value\":\"03\"}]\n\nconst rankUrl = \"\/api\/novel\/book\/v2\/top\/book.do?topId=$genderId$topId&page={{page-1}}&size=10&vn=1.0.1.x&m=G8&t={{Date.now}}&ch=xiaomi&pkg=com.smart.app.jiudianjiu.xin.leisureNovel\";\npushRank(\"排行榜\",\"\",1)\ngenders.forEach(({title,value})=>{\n tops.forEach(top => {\n let {title:toptitle,value:topval} = top;\n let url = rankUrl.replace(\"$genderId\", value).replace(\"$topId\", topval)\n pushRank(title+toptitle, url)\n })\n})",
"weight": 0
}