完本小说网
https://www.finalbooks.work
jianghubailei (2226)07/21 12:26
目录乱序,排序规律目前只发现两种情况,用if-else硬写的,有没有大佬能优化一下,可以适应更多情况?万一出现第三种情况就凉拌了
{ "bookSourceComment": "目录乱序,排序规律目前只发现两种情况,用if-else硬写的,有没有大佬能优化一下,可以适应更多情况?万一出现第三种情况就凉拌了", "bookSourceGroup": "小说", "bookSourceName": "完本小说网", "bookSourceType": 0, "bookSourceUrl": "https:\/\/www.finalbooks.work", "customOrder": 1, "enabled": true, "enabledCookieJar": false, "enabledExplore": true, "exploreUrl": "@js:\nconst item = (title, url, grow=0, basis=0.29) => {\n return {\n title,\n url,\n style: {\n \"layout_flexGrow\": grow,\n \"layout_flexBasisPercent\": basis\n }\n }\n}\nconst tags = \"全部::0\\n耽美::1\\n耽美中文::15\\n言情::2\\n高辣::3\\n百合::4\\n种田::8\\n腹黑::11\\n高干::10\\n玄幻::5\\n网游::13\\n修真::9\\n都市::21\\n精品::50\\n杂谈::39\\n情感::38\\n鬼话::40\\n同人::47\\n穿越::49\\n武侠::20\\n历史::42\\n科幻::28\\n舞文::37\\n悬疑::48\\n仙侠::51\\n外国::26\\n文学::24\\n同行::41\\n奇幻::44\\n商道::45\\n军事::43\\n其它::7\\n侦探::46\\n传记::27\\n恐怖::22\\n文化::36\\n官场::29\\n网络::23\\n青春::35\\n互联网::33\\n女性::19\\n国学::31\\n逻辑::34\\n儿童::25\\n古典::30\\n创业::32\"\nconst list = tags.split(\"\\n\").map(tag => {\n const [title, id] = tag.split(\"::\")\n const url = `\/category\/${id}\/{{page}}.html`\n return item(title, url)\n})\nJSON.stringify(list)", "header": "{\"Referer\":\"https:\/\/www.finalbooks.work\/\",\"User-Agent\":\"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.75 Safari\/537.36\"}", "lastUpdateTime": "1753072016240", "loginUrl": "\/", "respondTime": 180000, "ruleBookInfo": { "author": "[property=\"og:novel:author\"]@content", "coverUrl": "[property=\"og:image\"]@content", "intro": "#intro .BGsectionTwo-bottom@html##简介:", "kind": "[property=\"og:novel:category\"]@content&&\n[property=\"og:novel:status\"]@content&&\n[property=\"og:novel:update_time\"]@content", "name": "[property$=book_name]@content", "tocUrl": "{{baseUrl}}catalog\/" }, "ruleContent": { "content": "@js:\nfunction d(d, b) {\n b = java.md5Encode(b)\n let iv = b.substring(0, 16)\n let key = b.substring(16)\n return java.createSymmetricCrypto(\"AES\/CBC\/PKCS5Padding\", key, iv).decryptStr(d)\n}\n\nfunction html(content){\n return java.getString(\"p@html\", content)\n}\n\nconst encrypted = result.match(\/html\\(d.*;\/)[0]\neval(encrypted)" }, "ruleExplore": { "author": ".b@text", "bookList": ".sectionTwo-content li&&.CGsectionTwo-right-content-unit", "bookUrl": ".book_img_name a@href&&.title@href", "coverUrl": "img@_src", "intro": "\/\/p[3]\/text()", "lastChapter": "\/\/p[4]\/text()##最近更新", "name": ".book_img_name a@text&&.title@text" }, "ruleSearch": { "author": "\/\/span[3]\/a\/text()", "bookList": "\/\/div[@class=\"SHsectionThree-middle\"]\/p", "bookUrl": "\/\/span[2]\/a\/@href", "kind": "\/\/span[1]\/a\/text()", "name": "\/\/span[2]\/a\/text()" }, "ruleToc": { "chapterList": "@js:\nfunction chapterSorted(){\n const chapters = []\n let elements = java.getElements(\"li.BCsectionTwo-top-chapter\")\n for(let i in elements){\n let li = String(elements[i].outerHtml())\n let title, url, id;\n id = String(java.getString(\"li@data-mm5\", li)).trim()\n if(id){\n title = java.getString(\"a@data-mm3\", li)\n url = java.getString(\"a@data-mm4\", li)\n } else {\n id = java.getString(\"li@data-mm3\", li)\n title = java.getString(\"a@data-mm4\", li)\n url = java.getString(\"a@data-mm5\", li)\n }\n url = java.base64Decode(url)\n chapters.push({id, title, url})\n }\n return chapters.sort((a, b) => a.id - b.id)\n}\n\nchapterSorted()", "chapterName": "title", "chapterUrl": "url", "nextTocUrl": "#next@href" }, "searchUrl": "\/search\/{{key}}\/{{page}}", "weight": 0 }