🔞漫蛙动漫
https://manwane.cc#大改
jianghubailei (2226)08/01 21:36
本源修改自 狼崽儿(langzaier)大佬😅 更换线路 改成 点击按钮 不知道为什么java.refreshBookToc()方法不生效 切换线路后在详情页手动刷新一下 刷新方法——详情页右上角三点第一个按钮
{
"bookSourceComment": "本源修改自 狼崽儿(langzaier)大佬😅\n更换线路 改成 点击按钮\n不知道为什么java.refreshBookToc()方法不生效\n切换线路后在详情页手动刷新一下\n刷新方法——详情页右上角三点第一个按钮",
"bookSourceGroup": "🔞视频",
"bookSourceName": "🔞漫蛙动漫",
"bookSourceType": 4,
"bookSourceUrl": "https:\/\/manwane.cc#大改",
"customButton": false,
"customOrder": 12,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"eventListener": false,
"exploreUrl": "@js:\nconst host = cleanHost();\nconst list = [];\nconst push = (title, typeId, size) => {\n\t const tag = title == \"全部\" ? \"\" : title;\n list.push({\n title,\n url: host + \"\/api\/cate\/,\"+ JSON.stringify({\n \"method\": \"POST\",\n \"body\": `{\"page\":{\"page\":{{page}},\"pageSize\":36},\"category\":\"video\",\"sort\":0,\"comic\":{\"status\":-1,\"day\":0,\"year\":0,\"tag\":\"\"},\"video\":{\"year\":0,\"typeId\":${typeId},\"area\":\"\",\"lang\":\"\",\"status\":-1,\"tag\":\"${tag}\"},\"novel\":{\"status\":-1,\"day\":0,\"sortId\":0}}`,\n \"headers\": {\n \"Content-Type\": \"application\/json\",\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 16; 25102RKBEC Build\/BP2A.250605.031.A3) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/143.0.7499.192 Mobile Safari\/537.36\",\n \"Referer\": host + \"\/cate\/\"\n }\n }),\n style: {\n layout_flexGrow: 1,\n layout_flexBasisPercent: size\n }\n })\n};\n\n\/\/ 分类\nconst types = [\"全部\", \"国产\", \"日韩\", \"欧美\", \"港台\", \"电影\", \"里番\"];\n\/\/ tag列表\nconst tags = [\"全部\", \"动画\", \"喜剧\", \"奇幻\", \"剧情\", \"冒险\", \"动作\", \"科幻\", \"爱情\", \"儿童\", \"短片\", \"家庭\", \"悬疑\", \"运动\"];\n\nconst type = infoMap[\"分类\"] || types[0];\nconst typeId = types.findIndex(t => t == type);\n\nlist.push({\n\t title: \"分类\",\n\t type: \"select\",\n\t action: \"java.refreshExplore()\",\n\t chars: types,\n\t default: type,\n\t style: {layout_flexBasisPercent: 1}\n})\n\ntags.forEach(tag => push(tag, typeId, 0.29))\n\nJSON.stringify(list);",
"header": "{ \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 8.1.0; JKM-AL00b Build\/HUAWEIJKM-AL00b; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/66.0.3359.126 MQQBrowser\/6.2 TBS\/044807 Mobile Safari\/537.36\"}",
"jsLib": "function cleanHost(){\n\t return this.java.toURL(this.source.key).origin\n}",
"lastUpdateTime": "1785591386308",
"loginUrl": "\/",
"respondTime": 8118,
"ruleBookInfo": {
"author": ":contains(导演:) > span@text",
"coverUrl": ".comic-cover@src",
"intro": "<js>\nlet info = java.getString(\"@@.comic-info@html\");\nlet desc = java.getString(\"@@.comic-desc@textNodes\");\nlet episodes = java.getString(\"@@.episode-group@all\");\n\nlet options = java.getElements(\"option\");\nlet buttons = [];\noptions.forEach(opt => {\n let title = opt.text().trim();\n let id = opt.attr(\"value\");\n buttons.push(`<button onclick=\"set(${id});java.refreshBookToc();\">${title}<\/button>`)\n});\nlet cacheKey = String(book.name);\n\nlet html = `\n <useweb>\n <head>\n <style>\n.btn {\n display: flex;\n gap: 10px;\n margin: 20px;\n}\n.btn button {\n flex: 1;\n padding: 10px 0;\n border: none;\n background: #409eff;\n color: #fff;\n border-radius: 4px;\n cursor: pointer;\n}\n.btn button.active-btn {\n background: #2b7cd3;\n}\n <\/style>\n <\/head>\n <body>\n <div class=\"btn\">${buttons.join(\"\")}<\/div>\n ${info}<br>\n <div class=\"desc\">简介:${desc}<\/div>\n <div hidden>${episodes}<\/div>\n <script>\n function set(index) {\n let allGroups = document.querySelectorAll('.episode-group');\n let line = \"grid-\" + index;\n cache.putMemory('${cacheKey}', line);\n let btns = document.querySelectorAll('.btn button');\n btns.forEach(btn => btn.classList.remove('active-btn'));\n btns[index].classList.add('active-btn');\n java.toast('线路切换成功');\n }\n <\/script>\n <\/body>\n <\/useweb>\n`;\nhtml\n<\/js>",
"kind": ".comic-tags .tag@text",
"name": ".comic-title@text",
"tocUrl": "@js:\nlet gridId = cache.getFromMemory(String(book.name));\nif(!gridId) gridId = \"grid-0\";\n`data:;base64,${java.base64Encode(gridId)},{\"type\":\"jpg\"}`"
},
"ruleContent": {
"content": "@js:\nlet playerUrl = java.getString(\"@@iframe@src\");\nString(playerUrl).replace(\/^.*url=\/, '');"
},
"ruleExplore": {
"author": "$.author",
"bookList": "$.data.list",
"bookUrl": "$.url",
"coverUrl": "$.pic",
"intro": "$.intro",
"kind": "$.tags",
"name": "$.title"
},
"ruleSearch": {
"author": "$.author",
"bookList": "$.data.list",
"bookUrl": "$.url",
"coverUrl": "$.cover",
"intro": "$.description",
"kind": "$.tags",
"name": "$.title"
},
"ruleToc": {
"chapterList": "@js:\nlet line = java.hexDecodeToString(result);\n\/\/if(!line) line = \"grid-0\";\njava.toast(\"当前线路:\"+line);\n\njava.setContent(book.intro);\njava.getElements(`@@#${line} .episode-item`)",
"chapterName": "text",
"chapterUrl": "href##^##{{cleanHost()}}"
},
"searchUrl": "\/api\/search?type=mh&page={{page}}&pageSize=20&keyword={{key}}",
"weight": 0
}