✨幻梦轻小说
https://www.huanmengacg.com
yezechuandl (3004)08/11 18:04
//2025.7.4 ◎夜泽川◎ //2025.8.11 美化目录,区分卷名 ◎夜泽川◎
{ "bookSourceComment": "\/\/2025.7.4 ◎夜泽川◎\n\/\/2025.8.11 美化目录,区分卷名 ◎夜泽川◎", "bookSourceGroup": "轻小说,自制", "bookSourceName": "✨幻梦轻小说", "bookSourceType": 0, "bookSourceUrl": "https:\/\/www.huanmengacg.com", "customOrder": 688, "enabled": true, "enabledCookieJar": true, "enabledExplore": true, "exploreUrl": "@js:\nvar result = [];\nvar push = (title, url, size) => result.push({\n title,\n url: title == \"排行\" ? url : `${url}\/page\/{{page}}`,\n style: {\n layout_flexGrow: 1,\n layout_flexBasisPercent: size\n }\n});\n\nconst tags = org.jsoup.Jsoup.parse(Ajax(source.key)).select(\".aui-palace-one a\");\n\ntags.forEach(link => {\n let url = link.attr('href');\n let title = link.text();\n push(`༺ˇ»\\`ʚ ${title} ɞ´«ˇ༻`, url, 1);\n\n if (title != \"排行\") {\n let Sub = org.jsoup.Jsoup.parse(Ajax(source.key + url)).select('.tab-hd a[class=\"\"]').toArray();\n Sub.slice(1).forEach(subLink => {\n push(subLink.text(), subLink.attr('href'), 0.25);\n });\n }\n});\n\nJSON.stringify(result);", "header": "{\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 9) Mobile Safari\/537.36\"}", "jsLib": "function Ajax(url) {\n const { java, cookie } = this;\n let src = java.ajax(url);\n if (\/Just a moment\/.test(src)) {\n cookie.removeCookie(url);\n src = java.startBrowserAwait(url, \"验证\", false).body();\n }\n return src;\n}", "lastUpdateTime": "1754906675257", "loginCheckJs": "if (\/Just a moment\/.test(result.body())) {\n let url = result.url();\n cookie.removeCookie(url);\n result = java.startBrowserAwait(url, \"验证\", false);\n}\nresult;", "respondTime": 180000, "ruleBookInfo": { "author": "$.author", "coverUrl": "$.cover", "init": "@js: \nvar sr = org.jsoup.Jsoup.parse(src);\nvar bookinfo = sr.select('[class$=\"module\"]');\nJSON.stringify({\n title: bookinfo.select('h1').text(),\n author: bookinfo.select('[class*=\"author\"]').text(),\n cover: bookinfo.select('img').attr('src'),\n lastChapter: sr.select('.title-c')[0].text(),\n tag: String(bookinfo.select('[class$=\"metas\"]').html()).replace(\/<[^>]+?>\/g, \"\").replace(\/(\\n|\\s)(?!\\d)\/g, \",\").replace(\/.{2}:\/g, \"\"),\n description: sr.select('[class$=\"summary\"]').text()\n});", "intro": "$.description", "kind": "$.tag", "lastChapter": "$.lastChapter", "name": "$.title" }, "ruleContent": { "content": "#BookText@html##.*(huanmengacg|幻梦轻小说).*", "imageStyle": "DEFAULT" }, "ruleExplore": {}, "ruleSearch": { "author": "$.author", "bookList": "<js>\nJSON.stringify(org.jsoup.Jsoup.parse(src).select('a[class=\"details-part\"]').toArray().map(item => {\n\t let infoS = item.select('.book-module');\n let info = \/search\/.test(baseUrl) ? String(infoS.text()).split(\/·+\/) : infoS.select('span span').toArray().map(e => String(e.text()).replace(\/\\s\/g, \",\"));\n return {\n name: item.select('dt').text(),\n author: info[0],\n cover: item.select('img').attr('data-original'),\n sort: (info.shift(),info.join(',')),\n intro: item.select('[class$=\"profile\"]').text(),\n url: item.attr('href')\n }\n}));\n<\/js>\n$[*]", "bookUrl": "$.url", "coverUrl": "$.cover", "intro": "$.intro##简介:", "kind": "$.sort", "name": "$.name" }, "ruleToc": { "chapterList": "#chapterlist a\n@js:\nvar chapterList = [];\nvar volumes = new Set();\n\nresult.toArray().forEach(list => {\n let title = String(list.text());\n let url = list.attr('href');\n let volumeTitle = title.split(\/\\s+\/)[0];\n \n let isVolumePattern = \/^(第[一二三四五六七八九十百]+卷|第\\d+(?:\\.\\d+)?卷)$\/.test(volumeTitle);\n\n if (isVolumePattern && !volumes.has(volumeTitle)) {\n volumes.add(volumeTitle);\n chapterList.push({\n title: volumeTitle,\n url: null,\n isVolume: true\n });\n }\n\n chapterList.push({\n title: isVolumePattern ? title.replace(new RegExp(`${volumeTitle}\\\\s+`), \"\") : title,\n url,\n isVolume: false\n });\n});\n\nchapterList;", "chapterName": "title", "chapterUrl": "url", "isVolume": "isVolume" }, "searchUrl": "\/index.php\/book\/search?action=search&key={{key}}", "weight": 0 }