✨幻梦轻小说
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
}