[
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "阅读助手",
    "bookSourceType": 0,
    "bookSourceUrl": "https://api-bc.wtzw.com",
    "customOrder": 0,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "[{\"title\":\"男生\",\"url\":\"\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":1}},\n{\"title\":\"历史\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=56&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"游戏\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=75&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"科幻\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=64&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"体育\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=206&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"影视\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=539&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"穿越\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=373&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"鉴宝\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=47&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"重生\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=779&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"血脉\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=426&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"签到\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=565&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"复仇\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=790&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"丹药\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=428&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"医生\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=156&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"战神\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=527&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"女婿\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=36&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"皇帝\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=62&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"弃少\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=525&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"热血\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=1&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"爽文\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=570&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"现实\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=12&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"悬疑流\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=27&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"女总裁\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=89&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"二次元\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=207&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"无限流\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=557&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"强者回归\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=402&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"都市人生\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=203&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"异术超能\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=219&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"玄幻奇幻\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=202&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"武侠仙侠\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=205&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"奇闻异事\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=204&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"女生\",\"url\":\"\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":1}},\n{\"title\":\"短篇\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=541&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"重生\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=779&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"女强\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=620&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"年下\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=631&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"空间\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=345&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"穿越\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=373&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"隐婚\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=481&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"系统\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=782&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"快穿\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=335&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"虐渣\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=739&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n\n{\"title\":\"皇后\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=106&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"王爷\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=125&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"学霸\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=781&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"毒妃\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=109&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"校草\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=701&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"女配\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=191&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"甜宠\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=21&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"搞笑\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=788&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"虐恋\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=16&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"治愈\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=17&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.2}},\n{\"title\":\"现代言情\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=1&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"总裁豪门\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=8&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"古代言情\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=2&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"种田经商\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=16&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"宫闱宅斗\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=209&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"幻想言情\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=4&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"奇闻异事\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=204&need_filters=1&page={{page}}&need_category=1\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"日久生情\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=700&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"影视原著\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=539&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"出版图书\",\"url\":\"\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":1}},\n{\"title\":\"现代言情\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=260&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"古代言情\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=259&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"青春文学\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=265&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"影视原著\",\"url\":\"https://www.baidu.com/tag/need_filters=1&tag_id=539&gender=2&page={{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"悬疑推理\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=262&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"武侠小说\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=289&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"科幻未来\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=261&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"历史小说\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=264&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"仙侠奇缘\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=276&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"仙侠玄幻\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=288&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"现实小说\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=266&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"现代军旅\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=290&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"文学艺术\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=240&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"人物传记\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=247&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"人文科社\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=241&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"少儿教育\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=258&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"经管励志\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=242&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},\n{\"title\":\"经典文学\",\"url\":\"https://www.baidu.com/category/gender=2&category_id=243&need_filters=1&page={{page}}&need_category=0\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}}]",
    "lastUpdateTime": 1768987994628,
    "respondTime": 13497,
    "ruleBookInfo": {
      "author": "author",
      "coverUrl": "image_link",
      "init": "data.book",
      "intro": "🏷️   标签：{{$.book_tag_list[*].title##\\s##,}}{{'\\n'+'​'}}\n🔖   简介：{{$.intro}}##(^|[。！？]+[”」）】]?)##$1<br>",
      "kind": "{{java.timeFormat(java.getString('$.update_time')*1000)}}##\\s.*",
      "lastChapter": "latest_chapter_title",
      "name": "title@put:{bid:id}",
      "tocUrl": "@js:\nsign_key='d3dGiJc651gSQ8w1'\n\nparams={'id':{{$.id}}}\n\nvar urlEncode = function (param, key, encode) {  \n  if(param==null) return '';  \n  var paramStr = '';  \n  var t = typeof (param);  \n  if (t == 'string' || t == 'number' || t == 'boolean') {  \n    paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);  \n  } else {  \n    for (var i in param) {  \n      var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);  \n      paramStr += urlEncode(param[i], k, encode);  \n    }  \n  }  \n  return paramStr;  \n};\nparamSign=String(java.md5Encode(Object.keys(params).sort().reduce((pre,n)=>pre+n+'='+params[n],'')+sign_key))\nparams['sign']=paramSign\n\"https://api-ks.wtzw.com/api/v1/chapter/chapter-list?\"+urlEncode(params)+\",\"+java.get(\"headers\")",
      "wordCount": "words_num"
    },
    "ruleContent": {
      "content": "@js:\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.java.util\n);\nwith(javaImport) {\n    function decode(content) {\n        var ivEncData = Base64.getDecoder().decode(String(content));\n        var key = SecretKeySpec(String(\"242ccb8230d709e1\").getBytes(), \"AES\");\n        var iv = IvParameterSpec(Arrays.copyOfRange(ivEncData, 0, 16));\n        var chipher = Cipher.getInstance(\"AES/CBC/PKCS5Padding\");\n        chipher.init(2, key, iv);\n        return String(chipher.doFinal(Arrays.copyOfRange(ivEncData, 16, ivEncData.length)));\n    }\n}\n\n\nsign_key='d3dGiJc651gSQ8w1'\n\nparams={'id':String(java.get('bid')),'chapterId':String(baseUrl.split(\"/\").pop())}\n\nvar urlEncode = function (param, key, encode) {  \n  if(param==null) return '';  \n  var paramStr = '';  \n  var t = typeof (param);  \n  if (t == 'string' || t == 'number' || t == 'boolean') {  \n    paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);  \n  } else {  \n    for (var i in param) {  \n      var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);  \n      paramStr += urlEncode(param[i], k, encode);  \n    }\n  }\n  return paramStr;\n};\n\nparamSign=String(java.md5Encode(Object.keys(params).sort().reduce((pre,n)=>pre+n+'='+params[n],'')+sign_key))\nparams['sign']=paramSign\nurl=\"https://api-ks.wtzw.com/api/v1/chapter/content?\"+urlEncode(params)\ndecode(JSON.parse(java.ajax(url+','+java.get(\"headers\"))).data.content)\n\n"
    },
    "ruleExplore": {
      "author": "$.author",
      "bookList": "<js>\ngender=baseUrl.match(/gender=(\\d+)/)?baseUrl.match(/gender=(\\d+)/)[1]:\"\"\ncategory_id=baseUrl.match(/category_id=(\\d+)/)?baseUrl.match(/category_id=(\\d+)/)[1]:\"\"\nneed_filters=baseUrl.match(/need_filters=(\\d+)/)?baseUrl.match(/need_filters=(\\d+)/)[1]:\"\"\npage=baseUrl.match(/page=(\\d+)/)?baseUrl.match(/page=(\\d+)/)[1]:\"\"\nneed_category=baseUrl.match(/need_category=(\\d+)/)?baseUrl.match(/need_category=(\\d+)/)[1]:\"\"\ntag_id=baseUrl.match(/tag_id=(\\d+)/)?baseUrl.match(/tag_id=(\\d+)/)[1]:\"\"\nsign_key='d3dGiJc651gSQ8w1'\nheaders={'app-version':'51110','platform':'android','reg':'0','AUTHORIZATION':'','application-id':'com.****.reader','net-env':'1','channel':'unknown','qm-params':''}\nheaders['sign']=String(java.md5Encode(Object.keys(headers).sort().reduce((pre,n)=>pre+n+'='+headers[n],'')+sign_key))\n\n\nvar urlEncode = function (param, key, encode) {\n  if(param==null) return '';\n  var paramStr = '';\n  var t = typeof (param);\n  if (t == 'string' || t == 'number' || t == 'boolean') {\n    paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);\n  } else {\n    for (var i in param) {\n      var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);\n      paramStr += urlEncode(param[i], k, encode);\n    }\n  }\n  return paramStr;\n};\n\nvar category = function () {\n  params={'gender':gender,'category_id':category_id,'need_filters':need_filters,'page':page,'need_category':need_category}\n  params['sign']=String(java.md5Encode(Object.keys(params).sort().reduce((pre,n)=>pre+n+'='+params[n],'')+sign_key))\n  url=\"https://api-bc.wtzw.com/api/v4/category/get-list?\"+urlEncode(params)\n  return java.ajax(url+','+java.put(\"headers\",JSON.stringify({\"headers\":headers})))\n};\n\nvar tag = function () {\n  params={'gender':gender,'need_filters':need_filters,'page':page,'tag_id':tag_id}\n  params['sign']=String(java.md5Encode(Object.keys(params).sort().reduce((pre,n)=>pre+n+'='+params[n],'')+sign_key))\n  url=\"https://api-bc.wtzw.com/api/v4/tag/index?\"+urlEncode(params)\n  return java.ajax(url+','+java.put(\"headers\",JSON.stringify({\"headers\":headers})))\n};\n\n\nif(baseUrl.match(/category/)){\n  category()\n}else {\n  tag()\n}\n</js>\n$.data.books",
      "bookUrl": "@js:\nsign_key='d3dGiJc651gSQ8w1'\n\nparams={'id':{{$.id}},'imei_ip':'2937357107','teeny_mode':0}\n\nvar urlEncode = function (param, key, encode) {  \n  if(param==null) return '';  \n  var paramStr = '';  \n  var t = typeof (param);  \n  if (t == 'string' || t == 'number' || t == 'boolean') {  \n    paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);  \n  } else {  \n    for (var i in param) {  \n      var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);  \n      paramStr += urlEncode(param[i], k, encode);  \n    }  \n  }  \n  return paramStr;  \n};\nparamSign=String(java.md5Encode(Object.keys(params).sort().reduce((pre,n)=>pre+n+'='+params[n],'')+sign_key))\nparams['sign']=paramSign\n\"https://api-bc.wtzw.com/api/v4/book/detail?\"+urlEncode(params)+\",\"+java.get(\"headers\")",
      "coverUrl": "$.image_link",
      "intro": "🏷️   标签：{{$.ptags}}\n🔖   简介：{{$.intro}}",
      "name": "$.title",
      "wordCount": "$.words_num"
    },
    "ruleSearch": {
      "author": "original_author",
      "bookList": "data.books",
      "bookUrl": "@js:\nsign_key='d3dGiJc651gSQ8w1'\n\nparams={'id':{{$.id}},'imei_ip':'2937357107','teeny_mode':0}\n\nvar urlEncode = function (param, key, encode) {  \n  if(param==null) return '';  \n  var paramStr = '';  \n  var t = typeof (param);  \n  if (t == 'string' || t == 'number' || t == 'boolean') {  \n    paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);  \n  } else {  \n    for (var i in param) {  \n      var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);  \n      paramStr += urlEncode(param[i], k, encode);  \n    }  \n  }  \n  return paramStr;  \n};\nparamSign=String(java.md5Encode(Object.keys(params).sort().reduce((pre,n)=>pre+n+'='+params[n],'')+sign_key))\nparams['sign']=paramSign\n\"/api/v4/book/detail?\"+urlEncode(params)+\",\"+java.get(\"headers\")",
      "coverUrl": "image_link",
      "intro": "🏷️   标签：{{$.ptags}}\n🔖   简介：{{$.intro}}",
      "name": "original_title",
      "wordCount": "words_num"
    },
    "ruleToc": {
      "chapterList": "data.chapter_lists",
      "chapterName": "title",
      "chapterUrl": "id",
      "updateTime": "{{$.words}} 字"
    },
    "searchUrl": "@js:\nsign_key='d3dGiJc651gSQ8w1'\n\nheaders={'app-version':'51110','platform':'android','reg':'0','AUTHORIZATION':'','application-id':'com.****.reader','net-env':'1','channel':'unknown','qm-params':''}\n\nparams={'gender':'3','imei_ip':'2937357107','page':page,'wd':key}\n\nvar urlEncode = function (param, key, encode) {  \n  if(param==null) return '';  \n  var paramStr = '';  \n  var t = typeof (param);  \n  if (t == 'string' || t == 'number' || t == 'boolean') {  \n    paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);  \n  } else {  \n    for (var i in param) {  \n      var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);  \n      paramStr += urlEncode(param[i], k, encode);  \n    }  \n  }  \n  return paramStr;  \n};\n\nheaderSign=String(java.md5Encode(Object.keys(headers).sort().reduce((pre,n)=>pre+n+'='+headers[n],'')+sign_key))\nparamSign=String(java.md5Encode(Object.keys(params).sort().reduce((pre,n)=>pre+n+'='+params[n],'')+sign_key))\nheaders['sign']=headerSign\nparams['sign']=paramSign\nbody=urlEncode(params)\n\n\"/api/v5/search/words?\" +body+\",\"+java.put(\"headers\",JSON.stringify({\"headers\":headers}))",
    "weight": 0
  },
  {
    "bookSourceComment": "笔趣中文网：http://www.bqgz.cc",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "笔趣阁[加载稍慢]",
    "bookSourceType": 0,
    "bookSourceUrl": "http://www.bqgz.cc",
    "customOrder": 1,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "[\n    {\n        \"title\": \"        分类        \",\n        \"url\": \"\",\n        \"style\": {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": 1\n        }\n    },\n    {\n        \"title\": \"玄幻\",\n        \"url\": \"/category/xuanhuan/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"修真\",\n        \"url\": \"/category/xiuzhen/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"都市\",\n        \"url\": \"/category/dushi/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"历史\",\n        \"url\": \"/category/lishi/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"网游\",\n        \"url\": \"/category/wangyou/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"科幻\",\n        \"url\": \"/category/kehuan/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"悬疑\",\n        \"url\": \"/category/xuanyi/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"同人\",\n        \"url\": \"/category/tongren/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"轻小说\",\n        \"url\": \"/category/qing/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"女生\",\n        \"url\": \"/category/nvsheng/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"短篇\",\n        \"url\": \"/category/duanpian/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"其他\",\n        \"url\": \"/category/qita/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"        排行榜        \",\n        \"url\": \"\",\n        \"style\": {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": 1\n        }\n    },\n    {\n        \"title\": \"总点击榜\",\n        \"url\": \"/top/allvisit/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"月点击榜\",\n        \"url\": \"/top/monthvisit/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"周点击榜\",\n        \"url\": \"/top/weekvisit/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"日点击榜\",\n        \"url\": \"/top/dayvisit/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"推荐数榜\",\n        \"url\": \"/top/vote/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"收藏数榜\",\n        \"url\": \"/top/mark/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"下载数榜\",\n        \"url\": \"/top/down/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"评论数榜\",\n        \"url\": \"/top/comment/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n    {\n        \"title\": \"评分榜\",\n        \"url\": \"/top/star_score/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.29\n        }\n    },\n   {\n        \"title\": \"        最新入库        \",\n        \"url\": \"/top/postdate/{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 0,\n            \"layout_flexBasisPercent\": 1\n        }\n    }\n]",
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\"}",
    "lastUpdateTime": 1768832778512,
    "loginUrl": "http://m.bqgz.cc",
    "respondTime": 198265,
    "ruleBookInfo": {
      "author": ".novelinfo-l li:nth-child(1) > a@text",
      "coverUrl": ".novelinfo-r > img@src",
      "intro": "p@text",
      "kind": ".novelinfo-l li:nth-child(2) > a@text",
      "lastChapter": ".novelinfo-l li:nth-child(6) > a@text",
      "name": "h1@text",
      "tocUrl": ".dirlist@href"
    },
    "ruleContent": {
      "content": "p@text"
    },
    "ruleExplore": {
      "author": "span:nth-child(2) > a@text",
      "bookList": "li",
      "bookUrl": ".novelname@href",
      "coverUrl": "img@src",
      "intro": ".intro@text",
      "lastChapter": ".last > a@text",
      "name": ".novelname@text"
    },
    "ruleSearch": {
      "author": "span:nth-child(2) > a@text",
      "bookList": "li",
      "bookUrl": ".novelname@href",
      "coverUrl": "img@src",
      "intro": ".intro@text",
      "kind": "",
      "lastChapter": ".last > a@text",
      "name": ".novelname@text"
    },
    "ruleToc": {
      "chapterList": ".dirlist > li",
      "chapterName": "a@text",
      "chapterUrl": "a@href"
    },
    "searchUrl": "http://www.bqgz.cc/search/result.html?searchkey={{key}}",
    "weight": 0
  },
  {
    "bookSourceComment": "作者：明月照大江",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "🔰 星星小说网",
    "bookSourceType": 0,
    "bookSourceUrl": "https://www.xingxingxsw.com",
    "customOrder": 2,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "全部小说::/fenlei/0_0_0_0_0_{{page}}.html\n穿越重生::/fenlei/1_0_0_0_0_{{page}}.html\n仙侠奇缘::/fenlei/2_0_0_0_0_{{page}}.html\n浪漫青春::/fenlei/3_0_0_0_0_{{page}}.html\n架空历史::/fenlei/4_0_0_0_0_{{page}}.html\n游戏竞技::/fenlei/5_0_0_0_0_{{page}}.html\n科幻空间::/fenlei/6_0_0_0_0_{{page}}.html\n悬疑推理::/fenlei/7_0_0_0_0_{{page}}.html\n综合其他::/fenlei/8_0_0_0_0_{{page}}.html",
    "header": "{\n  \"accept-language\": \"zh-CN,zh;q=0.9\"\n}",
    "jsLib": "{\"utils\":\"https://skybook.legado1.top/js/utils.js?v=010\"}",
    "lastUpdateTime": 1769064920328,
    "respondTime": 180000,
    "ruleBookInfo": {},
    "ruleContent": {
      "content": "#txt@html\n@js:\n;for(var RK‍‌=1;RK‍‌;' '){(RK‍‌<2||(\\u0072\\u0065\\u0073\\u0075\\u006c\\u0074,RK‍‌-=2,void 0))&&(RK‍‌=2,\\u0072\\u0061\\u0074\\u0065\\u004c\\u0069\\u006d\\u0069\\u0074(2000));}\nresult;"
    },
    "ruleExplore": {
      "author": ".font2@text##\\|.+",
      "bookList": ".con li",
      "bookUrl": ".font1 > a@href##\\.html$##\\/",
      "coverUrl": "img@data-original",
      "intro": ".font3@text",
      "kind": ".font2@text##.*\\|",
      "lastChapter": "a:nth-child(2)@text",
      "name": ".font1 > a@text"
    },
    "ruleSearch": {
      "author": ".s2@text",
      "bookList": ".leftBox >ul >li",
      "bookUrl": "h1>a@href##\\.html$##\\/",
      "coverUrl": "img@data-original",
      "intro": ".c@text",
      "kind": ".tips@text&&.s6@text",
      "lastChapter": "a.3@text",
      "name": "h1@text",
      "wordCount": ".s4@text"
    },
    "ruleToc": {
      "chapterList": "#newlist >dd",
      "chapterName": "a@text",
      "chapterUrl": "a@href"
    },
    "searchUrl": "https://www.xingxingxsw.com/search.php?key={{key}}",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "🍅 番茄",
    "bookSourceType": 0,
    "bookSourceUrl": "https://reading.snssdk.com#0",
    "bookUrlPattern": "https?://.*(fqnovel|snssdk|fanqienovel|changdunovel)\\.com/.*[0-9]{19}.*",
    "customOrder": 3,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "exploreUrl": "@js:\n个人中心 = 1;\n\nfaxian=source.getVariable()\nvar type = getArguments('type');\n\njs = (cid, genre_type, gender) => `@js:\nxGorgon(\n  \"new_category/landing\",\n  \"category_id=${cid}&gender=${gender}&genre_type=${genre_type}&offset=0&aid=1967&app_name=novelapp&channel=0&device_platform=android&os_version=0&version_code=69132&update_version_code=69132&manifest_version_code=69132&version_name=6.9.1.32&&device_type=Honor10&limit=100&page_version=1\"\n)`\n\ntt_rank_books = (url) => `@js:\n  let ck = \"sessionid=\" + (String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : (source. getLoginInfoMap() || {})['手动登录Token'])\n  let list = JSON.parse(java.ajax('${url}')).data.result;\n  let book_ids = [];\n  for (let i of list) book_ids.push(i.book_id)\n  xGorgon(\n    \"multi-detail\",\n    \"book_id=\" + book_ids.slice(0, 100).join(','),\n    null,\n    ck,\n  )\n`\n\n\nfunction extractQueryParams(input) {\n  let genreType = '';\n  let gender = '';\n  const genreTypeMatch = input.match(/[?&]genreType=([^&]+)/);\n  if (genreTypeMatch && genreTypeMatch[1]) {\n    genreType = decodeURIComponent(genreTypeMatch[1]);\n  }\n  const genderMatch = input.match(/[?&]gender=([^&]+)/);\n  if (genderMatch && genderMatch[1]) {\n    gender = decodeURIComponent(genderMatch[1]);\n  }\n  return [genreType, gender];\n}\n\nobj = (title, url, type, type1) => ({\n  title: title,\n  url: url,\n  style: {\n    layout_flexGrow: 1,\n    layout_flexBasisPercent: type\n  }\n})\n\n\nlet toutiao_rank_info = JSON.parse(java.ajax('https://novel.snssdk.com/api/novel/channel/homepage/rank/rank_list/v2/?need_type=1&offset=0&side_type=10&type=1&aid=1319') || '{\"data\":{\"type\":{\"type\":[]}}}').data.type.type\ntoutiao_rank = (index) => {\n  let rank_list = toutiao_rank_info[index] || []\n  let ret = []\n  if (rank_list) {\n    ret.push(obj(i.name + '榜', '', 1))\n    for (let j of rank_list.rank_list) {\n      ret.push(obj(j.name, 'https'))\n    }\n  }\n}\narr = []\njava.longToast(\"请稍等，发现列表正在热更新！\")\nlet index = [];\nif (faxian.match(/漫画/)) {\n  index = [5];\n} else if (faxian.match(/听书/)) {\n  index = [3];\n} else if (faxian.match(/短剧/)) {\n  index = [6];\n} else {\n  index = [0, 1, 2];\n}\nfor (let i of index) {\n  // java.toast(i)\n  let type = i\n  $ = JSON.parse(java.ajax(xGorgon(\n    \"new_category/front\",\n    `distinct_style=1&aid=1967&app_name=novelapp&channel=0&device_platform=android&os_version=0&version_code=69132&update_version_code=69132&manifest_version_code=69132&version_name=6.9.1.32&new_category_tab=${i}&device_type=Honor10`\n  ))).data.category_tab_data\n  cate = []\n  cate.push(obj(\n    \"====== \" + $.tab_name + \" ======\", \"\", 1\n  ))\n  $.cell_data.forEach((c) => {\n    let [genreType, gender] = extractQueryParams(c.atom_data[0].category_data.category_landpage_url);\n    cate.push(obj(\n      c.cell_name,\n      js(c.atom_data[0].category_data.category_id, genreType, gender),\n      1\n    ))\n    for (j = 2; j < 5; j++) {\n      c.atom_data.slice(1).forEach((a) => {\n        d = a.category_data\n        if (d.name.length == j) {\n        let \t[genreType2, gender2] = extractQueryParams(d.category_landpage_url)\n        cate.push(obj(d.name, js(d.category_id, genreType2, gender2), 0.25))\n        }\n      })\n    }\n  })\n  arr = cate.concat(arr)\n}\n\nget = (path) => `@js:\nlet ck = \"sessionid=\" + (String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : (source.getLoginInfoMap() || {})['手动登录Token'])\n\nlet v = xGorgon(\n    \"${path}\",\n    \"offset=\" + (page - 1) * 20,\n    null,\n    ck,\n)\n\nxGorgon(\n  \"multi-detail\",\n  \"book_id=\" + getBookId(java.ajax(v)),\n  null,\n  ck,\n)`\n\nlet book_shelf_url = 'https://fanqienovel.com/reading/bookapi/bookshelf/info/v:version/?aid=1967&iid=0&version_code=57700&update_version_code=57700'\nlet book_shelf_info = JSON.parse(java.ajax(book_shelf_url + ', ' + JSON.stringify({\n  headers: {\n    'Cookie': \"sessionid=\" + (String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : (source.getLoginInfoMap() || {})['手动登录Token']),\n  }\n})))\n\njava.log(JSON.stringify(book_shelf_info))\n\nlet username\nif (book_shelf_info.code != 0) {\n  个人中心 = 0\n} else {\n  let uinfo = java.ajax(\"https://fanqienovel.com/api/user/info/v2,\" + JSON.stringify({ headers: { Cookie: \"sessionid=\" + (String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : (source.getLoginInfoMap() || {})['手动登录Token']) } }))\n  uinfo = JSON.parse(uinfo)\n  username = uinfo.data.name\n}\n\nlet gro = []\npush = (title, url, type) => gro.push({\n  title: title,\n  url: url,\n  style: {\n    layout_flexGrow: 1,\n    layout_flexBasisPercent: type\n  }\n});\n\nlet sArr = []\n\nif (个人中心) {\n  let groups_bookids = {\n    \"未分组\": []\n  }\n  book_shelf_info.data.book_shelf_info.forEach(i => {\n    if (!groups_bookids[i.group_name ? i.group_name : \"未分组\"]) groups_bookids[i.group_name] = []\n    groups_bookids[i.group_name ? i.group_name : \"未分组\"].push(i.book_id)\n  })\n\n  Object.keys(groups_bookids).forEach(k => {\n    var multi_detail_post_body = {\n      data: {\n        book_shelf_info: []\n      }\n    }\n    groups_bookids[k].forEach(i => multi_detail_post_body.data.book_shelf_info.push({ book_id: String(i), item_id: '0' }))\n    // var multi_detail_group_url = `https://fanqienovel.com/api/bookshelf/multidetail,${JSON.stringify(multi_detail_post_body)}`\n    // var book_ids = getBookId(JSON.stringify(multi_detail_post_body)).join(\",\")\n    push(k, \"https://fanqienovel.com/fqbookshelf/groupName/\" + k, 0.4)\n  })\n  if (Object.keys(groups_bookids).length % 2 != 0) push(\"占位\", \"\", 0.4)\n  // java.log(JSON.stringify(gro, null, 2))\n  sArr.push(obj(username + '的个人中心', '', 1))\n  sArr.push(obj('首页推荐', \"https://fanqienovel.com/tab/0\", 0.4))\n  sArr.push(obj('猜你喜欢', \"https://fanqienovel.com/tab/2\", 0.4))\n  // sArr.push(obj('猜你喜欢', \"https://fanqienovel.com/tab/1\", 0.4))\n  sArr.push(obj(\"我的书架\", \"https://fanqienovel.com/fqbookshelf\", 1))\n  \n  sArr = sArr.concat(gro)\n  // java.toast(JSON.stringify(sArr)) \n  sArr.push(obj(\"阅读历史\", get(\"read_history/list\"), 1))\n}\n\narr = sArr.concat(arr)\nJSON.stringify(arr)",
    "jsLib": "getHost = (a, b, c, d) => [\n    [\"https://\"][0],\n    [\n        \"reading\",\n        \"api\",\n        \"api3\",\n        \"api5\",\n        \"novel\",\n        \"\",\n    ][(a == 4 ? 5 : b) || 0],\n    [\n        \"\",\n        \"-normal\",\n    ][c || 0],\n    [\n        \"\",\n        \"-hl\",\n        \"-lf\",\n        \"-lq\",\n        \"-sinfonlinea\",\n        \"-sinfonlineb\",\n        \"-sinfonlinec\",\n    ][d || 0],\n    [\".\", \"\"][a == 4 ? 1 : 0],\n    [\n        \"snssdk\",\n        \"fqnovel\",\n        \"fanqiesdk\",\n        \"toutiaoapi\",\n        \"fanqienovel\",\n    ][a || 0],\n    [\".com\"][0],\n].join(\"\");\njavaImport = new JavaImporter()\njavaImport.importPackage(\n    Packages.okhttp3,\n    Packages.cn.hutool.core.util,\n    Packages.cn.hutool.core.codec,\n    Packages.cn.hutool.crypto.digest\n)\nwith(javaImport) {\n    //POST请求\n    function post(url, body, map) {\n        let json = MediaType.parse(\"application/json\");\n        let request = new Request.Builder()\n            .url(url)\n            .post(RequestBody.create(body, json));\n        if (map) {\n            request.addHeader(\"Content-Encoding\", \"gzip\");\n            for (let n in map) {\n                request.addHeader(n, map[n]);\n            }\n        }\n        let client = new OkHttpClient();\n        let response = client.newCall(request.build()).execute();\n        return JSON.parse(response.body().string());\n    }\n\n    function okhttpGet(url, map) {\n        const { java } = this\n        let request = new Request.Builder()\n            .url(url)\n            .get();\n        if (map) {\n            request.addHeader(\"Content-Encoding\", \"gzip\");\n            for (let n in map) {\n                request.addHeader(n, map[n]);\n            }\n        }\n        java.log(\"okhttp: \" + url + \", headers=\" + JSON.stringify(map))\n        let client = new OkHttpClient();\n        let response = client.newCall(request.build()).execute();\n        return JSON.parse(response.body().string());\n    }\n    \n    function okhttpWithHeaders(url, map) {\n        const { java } = this\n        let request = new Request.Builder()\n            .url(url)\n            .get();\n        if (map) {\n            request.addHeader(\"Content-Encoding\", \"gzip\");\n            for (let n in map) {\n                request.addHeader(n, map[n]);\n            }\n        }\n        java.log(\"okhttp: \" + url + \", headers=\" + JSON.stringify(map))\n        let client = new OkHttpClient();\n        let response = client.newCall(request.build()).execute();\n        let headers = {}\n        let names = response.headers().names()\n        names.forEach((k) => {\n          headers[k] = response.headers().get(k)\n        })\n        return {\n          body: JSON.parse(response.body().string()),\n          headers: headers\n        }\n    }\n\n    //Base64编码\n    let b64En = (b64) => Base64.encode(b64);\n\n    //Base64解码\n    let b64De = (b64) => Base64.decode(b64);\n    \n    function gzip(data) { ZipUtil.gzip(data, \"\") }\n\n    //X-Gorgon参数\n    function xGorgon(path, params, data, ck) {\n        const {  java, source  } = this;\n        params = [\n            params,\n            \"aid=1967\",\n            \"channel=0\",\n            \"os_version=0\",\n            \"app_name=novelapp\",\n            \"version_code=58932\",\n            \"device_platform=android\",\n            \"device_type=unknown\",\n        ].join(\"&\").split(\"&\").sort().join(\"&\").replace(/^&+/, \"\");\n        if (!data) {\n            path = \"/reading/bookapi/\" + path + \"/v/?\";\n        }\n        let url = getHost() + path + params;\n        let devtype\n        for (let i of (source.getLoginHeader() || '').split('&')) {\n          // java.log(i)\n          if (i.startsWith('device_type')) {\n            // java.log(i)\n            devtype = i.split('=')[1]\n          }\n        }\n\n\n        //md5加密\n        let md5 = (str) => DigestUtil.md5Hex(str);\n\n        //反转字符串\n        let rStr = (str) => StrUtil.reverse(str);\n\n        //10转16进制\n        let Hex = (num) => num.toString(16).padStart(2, \"0\");\n\n        //反转16进制\n        let rHex = (num) => parseInt(rStr(Hex(num)), 16);\n\n        //反转2进制\n        function rBin(num) {\n            let bin = num.toString(2).padStart(8, \"0\");\n            return parseInt(rStr(bin), 2);\n        }\n\n        //运算\n        function getHex(ck) {\n            let hex = md5(params)\n            hex += data ? md5(data) : \"0\".repeat(8)\n            hex += ck ? md5(ck) : \"0\".repeat(8)\n            return hex\n        }\n\n        function calculate(hex, ck) {\n            let len = 0x14;\n            let key = [0xDF, 0x77, 0xB9, 0x40, 0xB9, 0x9B, 0x84, 0x83, 0xD1, 0xB9, 0xCB, 0xD1, 0xF7, 0xC2, 0xB9, 0x85, 0xC3, 0xD0, 0xFB, 0xC3];\n            let paramList = [];\n            for (let i = 0; i < 9; i += 4) {\n                let temp = hex.substring(8 * i, 8 * (i + 1));\n                for (let j = 0; j < 4; j++) {\n                    let h = parseInt(temp.substring(j * 2, (j + 1) * 2), 16);\n                    paramList.push(h);\n                }\n            }\n            paramList.push(0x0, 0x6, 0xB, 0x1C);\n            let T = Math.floor(Date.now() / 1000);\n            paramList.push((T >> 24) & 0xFF, (T >> 16) & 0xFF, (T >> 8) & 0xFF, T & 0xFF);\n            //异或\n            let eorResultList = []\n            for (let i = 0; i < paramList.length; i++) {\n                eorResultList.push(paramList[i] ^ key[i % len]);\n            }\n            for (let A, B, C, D, i = 0; i < len; i++) {\n                A = rHex(eorResultList[i]);\n                B = eorResultList[(i + 1) % len];\n                C = rBin(A ^ B);\n                D = ((C ^ 0xFFFFFFFF) ^ len) & 0xFF;\n                eorResultList[i] = D;\n            }\n            let result = \"\"\n            for (let param of eorResultList) {\n                result += Hex(param);\n            }\n            let option = {\n                \"headers\": {\n                    \"X-Khronos\": String(T),\n                    \"X-Gorgon\": \"0404b0d30000\" + result,\n                    \"User-Agent\": 'com.dragon.read',\n                    \"Cookie\": ck ? ck : \"\"\n                }\n            }\n            let b_ = option\n            b_[\"body\"] = String(data ? data : \"\")\n            java.log(url + \",\" + JSON.stringify(b_))\n            if (data) {\n                return post(url, data, option.headers).data;\n            } else {\n                return url + \",\" + JSON.stringify(option);\n            }\n        }\n       return  calculate(getHex(ck), ck);\n    }\n}\n\nfunction getBookId(url) {\n\tconst {java} = this\n\tlet $ = JSON.parse(url).data\n\tlet arr, list\n\tif ($.book_shelf_info != 0 && $.book_shelf_info != undefined) {\n\t\tarr = $.book_shelf_info.map($ => $.book_id)\n\t} else if (list = $.data_list != 0 && $.data_list != undefined)  {\n\t\tarr = $.data_list.map($ => $.book_id_str)\n\t} else {\n\t\tjava.toast(\"获取 book_id 失败，你可能需要登录！\")\n\t}\n\treturn arr.slice(0, 100)\n}\n\nfunction getBookIdFull(url) {\n\tconst {java} = this\n\tlet $ = JSON.parse(url).data\n  let arr, list\n\tif ($.book_shelf_info != 0 && $.book_shelf_info != undefined) {\n\t\tarr = $.book_shelf_info.map($ => $.book_id)\n\t} else if (list = $.data_list != 0 && $.data_list != undefined)  {\n\t\tarr = $.data_list.map($ => $.book_id_str)\n\t} else {\n\t\tjava.toast(\"获取 book_id 失败，你可能需要登录！\")\n\t}\n\treturn arr\n}\n\nfunction splitArray(input, size) {\n  const output = []\n  for (let i = 0; i < input.length; i += size) {\n    output.push(input.slice(i, i + size))\n  }\n  return output\n}\n\nlet replaceCover = (u) => {\n    if (u.startsWith(\"https://\")) u = u.substring(8)\n    else u = u.substring(7)\n    let uArr = u.split(\"/\")\n    uArr[0] = \"https://p6-novel.byteimg.com/origin\"\n    let uArr2 = []\n    uArr.forEach((x) => {\n        if (!x.includes(\"?\") && !x.includes(\"~\")) uArr2.push(x)\n        else uArr2.push(x.split(\"~\")[0])\n    })\n    u = uArr2.join(\"/\")\n    return u\n}\n\n\n\n\nfunction getApi() {\n    return \"http://nove.98tx.cn\";\n}\n\nfunction getServerHost() {\n    let { source } = this;\n    try {\n        const config = JSON.parse(source.getVariable());\n        if (Array.isArray(config) && config.length > 0) {\n            return config[0]?.host || getApi();\n        } \n        else if (config && typeof config === \"object\") {\n            return config.server || getApi();\n        }\n        return getApi();\n    } catch(e) {\n        return getApi();\n    }\n}\n\n\n\n\n\n\n\n\n\n\n//发现页配套规则\n\nconst host = [\n\"http://nove.98tx.cn\",\n\"http://nom.98tx.cn\",\n\"http://noxx.98tx.cn\",\n\"http://nocs.98tx.cn\",\n]\n\nfunction get_key(cookie){\nlet key;\nkey = cookie.split('secretKey2=');\nkey = key[key.length-1];\nreturn key;\n}\n\n\n\nfunction \ngetArguments(open_argument,key) {\n    try {\n        open_argument = JSON.parse(open_argument);\n    } catch (e) {\n        const serverList = host;\n        open_argument = {\n        \t\n        \t\n\t\"search\": \"-1\",\n\t\"tone_id\": \"-1\",\n\t\"sz\": \"0\",\n\t\"server\": \"http://nove.98tx.cn\",\n\t\"tone\": \"\",\n\t\"st\": 0,\n\t\"type\": \"小说模式\",\n\t\"module\": \"3\",\n\t\"faxian\": \"小说\"\n\t\n\n        };\n    }\n    if (key) {return open_argument[key];} else {return open_argument}\n}\n\n",
    "lastUpdateTime": 1769807003762,
    "loginUi": "[\n\n{\n  name: \"手动登录Token\",\n  type: \"text文字关闭\",\n  action: \"\"\n},\n\n  {\n            'name': '👥书源反馈👥',\n            'type': 'button',\n            \"action\":\"http://blog.98tx.cn\", \n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 1.4\n            }\n        },\n        \n\n{\n            \"name\":\"💮更新书源💮\",\n            \"type\": \"button\",\n             \"action\": \"getKey()\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n        },\n\n\n  {\n            'name': '👥加入群聊 👥',\n            'type': 'button',\n            \"action\":\"https://qun.qq.com/universal-share/share?ac=1&authKey=PVmKtvawKonFt3SMEc912mUzpv71goOVoByeymijGE9pYQDVh0Cetj5viiZfXGAE&busi_data=eyJncm91cENvZGUiOiIxNjUxNTk4IiwidG9rZW4iOiJWbkhEQ1JnTXM3cW5CQWIwWm8xYno5Y1hEZDJTUmQ1Y2JOMElRS3FSRHhUdXM5Q3cwM1BVOW41c09lUlRGcWRVIiwidWluIjoiMjYyMTYyOTQ1NiJ9&data=paLnLOcOse1qFhjVyLnrVdTpycgUXqSF3sS79bkANpiFI9f0f0hl93XsxGAfMHlmH22YDfgVVrOhs67qtdxlig&svctype=4&tempid=h5_group_info\", \n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.4\n            }\n        },\n        \n\n        \n        \n{\n\t\"name\": \"☕️赞助服务器☕️\",\n  \"type\": \"button\", \n  \"action\":\"zz()\", \n   \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.4\n}\n},\n\n\n\n{\n\t\"name\": \"🐰接口文档🐰\",\n  \"type\": \"button\", \n  \"action\":\"发布页()\", \n   \"style\": {\"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.4\n}\n},\n\n\n{\n\tname: \"　　❓登录检查❓　　\",\n\ttype: \"button\",\n\taction: \"l2(false, true)\",\n    \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 1.4\n    }\n},\n\n \n\n\n\n{\n\tname: \"🍅账号登录🍅\",\n\ttype: \"button\",\n\taction: \"l2(true)\",\n\t    \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n},\n{\n\tname: \"❗️退出登录❗️\",\n\ttype: \"button\",\n\taction: \"logout()\",\n\t    \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.4\n        }\n},\n\n {\n\tname: \"🎚服务器检查🎚　\",\n\ttype: \"button\",\n\taction: \"out()\",\n    \"style\": {\n      \"layout_flexGrow\": 1,\n      \"layout_flexBasisPercent\": 1.4\n    }\n},\n\n\n\n\n\n\n\n{\n        \"name\":  \"🎚切换服务器🎚\",\n        \"type\": \"button\",\n        \"action\": \"set_server()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.3\n  }\n      },\n\n{\n  \"name\": \"🔄服务器检测🔄\",\n  \"type\": \"button\",\n  \"action\": \"checkNet()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.4\n   }\n  },\n  \n\n{\n'action': \"yu()\",\n'name': '当前模式',\n'type': 'button',\n\"style\": {\n\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 1\n}\n},\n{\n'action': \"settype('小说模式')\",\n'name': '📕小说模式📕',\n'type': 'button',\n\"style\": {\n\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.39\n}\n},\n{\n'action': \"settype('听书模式')\",\n'name': '📻听书模式📻',\n'type': 'button',\n\"style\": {\n\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.39\n}\n},\n{\n'action': \"settype('漫画模式')\",\n'name': '🖼漫画模式🖼',\n'type': 'button',\n\"style\": {\n\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.39\n}\n},\n{\n'action': \"settype('短剧模式')\",\n'name': '🎥短剧模式🎥',\n'type': 'button',\n\"style\": {\n\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.39\n}\n},\n{\n  \"name\": \"查询模式\",\n  \"type\": \"button文字关闭\",\n  \"action\": \"get()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n{\n  \"name\": \"阅读模式\",\n  \"type\": \"button\",\n  \"action\": \"set(0)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.45\n  }\n},\n{\n  \"name\": \"切换模式\",\n  \"type\": \"button\",\n  \"action\": \"st()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.45\n  }\n},\n\n{\n  \"name\": \"注册设备(能正常使用别点)\",\n  \"type\": \"button\",\n  \"action\": \"激活设备()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 1.45\n  }\n},\n  \n{\n        \"name\": \"📦初始化源变量📦\",\n        \"type\": \"button\",\n        \"action\": \"began()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.35\n  }\n    },\n\n{\n        \"name\": \" 🎐清除源变量🎐 \",\n        \"type\": \"button\",\n        \"action\": \"clean()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.35\n  }\n    \n },\n \n \n \n \n{\n  \"name\": \"请先确定当前书籍支持的音色再切换！\",\n  \"type\": \"button\",\n  \"action\": \"get()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 2.45\n  }\n},\n    \n   {\n        \"name\": \"其他音色ID(确定后✔返回点击切换)\",\n        \"type\": \"text\"\n},\n  {\n  \"name\": \"切换自定音色\",\n  \"type\": \"button\",\n  \"action\": \"set(1)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.45\n  }\n},\n\n  \n  {\n  \"name\": \"保存自定音色\",\n  \"type\": \"button\",\n  \"action\": \"set_tone_id()\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.45\n  }\n},\n\n\n  \n    {\n  \"name\": \"真人发音\",\n  \"type\": \"button\",\n  \"action\": \"set(2)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 2.25\n  }\n},\n\n  \n\n{\n  \"name\": \"音色1\",\n  \"type\": \"button\",\n  \"action\": \"set(3)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色2\",\n  \"type\": \"button\",\n  \"action\": \"set(4)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色4\",\n  \"type\": \"button\",\n  \"action\": \"set(5)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色5\",\n  \"type\": \"button\",\n  \"action\": \"set(6)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色6\",\n  \"type\": \"button\",\n  \"action\": \"set(7)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色7\",\n  \"type\": \"button\",\n  \"action\": \"set(8)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色8\",\n  \"type\": \"button\",\n  \"action\": \"set(9)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n\n\n{\n  \"name\": \"音色9\",\n  \"type\": \"button\",\n  \"action\": \"set(10)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色10\",\n  \"type\": \"button\",\n  \"action\": \"set(11)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色11\",\n  \"type\": \"button\",\n  \"action\": \"set(12)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色12\",\n  \"type\": \"button\",\n  \"action\": \"set(13)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色14\",\n  \"type\": \"button\",\n  \"action\": \"set(14)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色15\",\n  \"type\": \"button\",\n  \"action\": \"set(15)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色16\",\n  \"type\": \"button\",\n  \"action\": \"set(16)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色17\",\n  \"type\": \"button\",\n  \"action\": \"set(17)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色18\",\n  \"type\": \"button\",\n  \"action\": \"set(18)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色21\",\n  \"type\": \"button\",\n  \"action\": \"set(19)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色22\",\n  \"type\": \"button\",\n  \"action\": \"set(20)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色23\",\n  \"type\": \"button\",\n  \"action\": \"set(21)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色26\",\n  \"type\": \"button\",\n  \"action\": \"set(22)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色27\",\n  \"type\": \"button\",\n  \"action\": \"set(23)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色28\",\n  \"type\": \"button\",\n  \"action\": \"set(24)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色29\",\n  \"type\": \"button\",\n  \"action\": \"set(25)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色30\",\n  \"type\": \"button\",\n  \"action\": \"set(26)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n{\n  \"name\": \"音色31\",\n  \"type\": \"button\",\n  \"action\": \"set(27)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n{\n  \"name\": \"音色32\",\n  \"type\": \"button\",\n  \"action\": \"set(28)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色51\",\n  \"type\": \"button\",\n  \"action\": \"set(29)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色53\",\n  \"type\": \"button\",\n  \"action\": \"set(30)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色55\",\n  \"type\": \"button\",\n  \"action\": \"set(31)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色56\",\n  \"type\": \"button\",\n  \"action\": \"set(32)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色57\",\n  \"type\": \"button\",\n  \"action\": \"set(33)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色58\",\n  \"type\": \"button\",\n  \"action\": \"set(34)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色59\",\n  \"type\": \"button\",\n  \"action\": \"set(35)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色60\",\n  \"type\": \"button\",\n  \"action\": \"set(36)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色61\",\n  \"type\": \"button\",\n  \"action\": \"set(37)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色62\",\n  \"type\": \"button\",\n  \"action\": \"set(38)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色63\",\n  \"type\": \"button\",\n  \"action\": \"set(39)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色64\",\n  \"type\": \"button\",\n  \"action\": \"set(40)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色67\",\n  \"type\": \"button\",\n  \"action\": \"set(41)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色68\",\n  \"type\": \"button\",\n  \"action\": \"set(42)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色71\",\n  \"type\": \"button\",\n  \"action\": \"set(43)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色72\",\n  \"type\": \"button\",\n  \"action\": \"set(44)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色73\",\n  \"type\": \"button\",\n  \"action\": \"set(45)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色74\",\n  \"type\": \"button\",\n  \"action\": \"set(46)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色75\",\n  \"type\": \"button\",\n  \"action\": \"set(47)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色76\",\n  \"type\": \"button\",\n  \"action\": \"set(48)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色77\",\n  \"type\": \"button\",\n  \"action\": \"set(49)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色78\",\n  \"type\": \"button\",\n  \"action\": \"set(50)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色79\",\n  \"type\": \"button\",\n  \"action\": \"set(51)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色80\",\n  \"type\": \"button\",\n  \"action\": \"set(52)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色81\",\n  \"type\": \"button\",\n  \"action\": \"set(53)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色82\",\n  \"type\": \"button\",\n  \"action\": \"set(54)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色84\",\n  \"type\": \"button\",\n  \"action\": \"set(55)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色85\",\n  \"type\": \"button\",\n  \"action\": \"set(56)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色86\",\n  \"type\": \"button\",\n  \"action\": \"set(57)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色87\",\n  \"type\": \"button\",\n  \"action\": \"set(58)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色88\",\n  \"type\": \"button\",\n  \"action\": \"set(59)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色89\",\n  \"type\": \"button\",\n  \"action\": \"set(60)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色90\",\n  \"type\": \"button\",\n  \"action\": \"set(61)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色91\",\n  \"type\": \"button\",\n  \"action\": \"set(62)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n\n\n{\n  \"name\": \"音色100\",\n  \"type\": \"button\",\n  \"action\": \"set(63)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色101\",\n  \"type\": \"button\",\n  \"action\": \"set(64)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色102\",\n  \"type\": \"button\",\n  \"action\": \"set(65)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色103\",\n  \"type\": \"button\",\n  \"action\": \"set(66)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色104\",\n  \"type\": \"button\",\n  \"action\": \"set(67)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色105\",\n  \"type\": \"button\",\n  \"action\": \"set(68)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色106\",\n  \"type\": \"button\",\n  \"action\": \"set(69)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色107\",\n  \"type\": \"button\",\n  \"action\": \"set(70)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色108\",\n  \"type\": \"button\",\n  \"action\": \"set(71)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n\n{\n  \"name\": \"音色109\",\n  \"type\": \"button\",\n  \"action\": \"set(72)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色110\",\n  \"type\": \"button\",\n  \"action\": \"set(73)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色111\",\n  \"type\": \"button\",\n  \"action\": \"set(74)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n\n{\n  \"name\": \"音色112\",\n  \"type\": \"button\",\n  \"action\": \"set(75)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色113\",\n  \"type\": \"button\",\n  \"action\": \"set(76)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n{\n  \"name\": \"音色114\",\n  \"type\": \"button\",\n  \"action\": \"set(77)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n{\n  \"name\": \"音色115\",\n  \"type\": \"button\",\n  \"action\": \"set(78)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n},\n\n{\n  \"name\": \"音色204\",\n  \"type\": \"button\",\n  \"action\": \"set(79)\",\n  \"style\": {\n    \"layout_flexGrow\": 1,\n    \"layout_flexBasisPercent\": 0.25\n  }\n}\n,\n        \n        {\n            'name': '接口项目：兔兔        作者： 团夕 ',\n            'type': 'button',\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 1\n            }\n        }\n\n]",
    "loginUrl": "\nfunction clean() {\n    let variavle = \"\";\n    source.setVariable(variavle);\n    java.toast(\"源变量已清除\");\n }\n \nfunction began() {\n var baseVariable = JSON.stringify({\n\n\n\t\"sz\": \"0\",\n\t\"tone\": \"\",\n\t\"st\": 1,\n\t\"server\": \"http://nove.98tx.cn\",\n\t\"type\": \"小说模式\",\n\t\"module\": 3\n\n\t\n\t\n}, null, \"\\t\");\n  source.setVariable(baseVariable);\n  java.toast(\"已初始化源变量！\");\n\t}\n\n\n\n\n\n\nfunction 发布页() {\tjava.startBrowserAwait(server  +'', \"API 请求统计仪表板\");\n}\n\n\n\nserver = String(source.getVariable()).match(/server/)? JSON.parse(source.getVariable()).server: source.server;\njava.put(\"server\",server);\n\n\n\n\nfunction 激活设备() {\n\t\n\t\t\n\t\n\tjava.startBrowserAwait(result = server  +  '/api/index.php?api=device_register&action=register', \"激活设备\");\n}\n\n\n\n\n\n\n\n\n\nfunction login52(){}; \nfunction out(){ java.toast(\"当前服务器为:\\n\"+getServerHost()) };\n\nif (source.getVariable()==\"\") { \n    reg(true);\n}\n\nvar lists = JSON.parse(source.getVariable());\n\n\n\n\nfunction settype(Type) {\n    lists.type = Type;\n  if (Type == '小说模式') {\n        lists.module = \"3\";\n    }else\n    \n    if (Type == '听书模式') {\n        lists.module = \"2\";\n    }else\n    \n    \n    if (Type == '漫画模式') {\n        lists.module = \"8\";\n    }else\n    \n     if (Type == '短剧模式') {\n        lists.module = \"11\";\n    };\n    source.setVariable(JSON.stringify(lists, null, \"\\t\"));\n    java.toast('已将类型切换为:\\n' + Type);\n}\nyu=()=>{\nu=JSON.parse(source.getVariable()).type;\njava.toast(`\\n${u}`)\n}\n\n\n\n\n\n// 登录及登录检查\nfunction login_(openBrowser, checkMode) {\n    // java.removeCookie(\"snssdk.com\")\n    var cookie_ = String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : source.getLoginInfoMap()['手动登录Token']\n    // java.toast(cookie_)\n    if (cookie_ && cookie_ != \"\" && !checkMode) {\n        if (!source.variableComment) {\n            java.toast(\"请不要重复登录，请先退出登录！\")\n        } else {\n            java.toast(\"您为填写token登录，请手动移除token后再次登录\")\n        }\n        return false\n    }\n    if (openBrowser) {\n        try {\n            java.startBrowserAwait(\"https://fanqienovel.com/\", \"登录\")\n        } catch (e) {\n            java.toast(e)\n        }\n    }\n    // java.log(\"snssdk cookie: \" + java.getCookie(\"snssdk.com\") + \"will be reomved\")\n    try {\n        cookie.removeCookie(\"snssdk.com\")\n    } catch (e) {}\n    // java.log(cookie)\n    var cookie_ = \"sessionid=\" + (String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : source.getLoginInfoMap()['手动登录Token'])\n    let user\n    try {\n      user = JSON.parse(java.ajax(\"https://fanqienovel.com/api/user/info/v2,\" + JSON.stringify({\n        method: \"GET\",\n        headers: {\n          \"Cookie\": cookie_\n        }\n      }))).data.name\n     } catch (e) {java.log(e)}\n    if (!cookie_ || cookie_ == \"sessionid=\" || !user) {\n        java.toast(\"未获取到登录凭据，登录失败\")\n        return false\n    }\n    java.toast(\"欢迎 \" + user + \"\\n登录成功！\")\n    return true\n}\n\nfunction login() // 一定程度上加上这个函数能够支持更多的版本\n{}\n\nfunction l2(a, b) {\n  try {\n    login_(a, b)\n  } catch (e) {\n    java.log(e+\"\\n\"+e.stack)\n  }\n}\n\n// 取消登录\nfunction logout() {\n    cookie.removeCookie(\"fanqienovel.com\");\n    cookie.removeCookie(\"snssdk.com\");\n    if (source.getLoginInfoMap()['手动登录Token']) java.toast(\"请手动移除填写的Token\")\n    else java.toast(\"退出登录成功\");\n}\n\n\n\n\n\n\n\n\n\nfunction logToken() {\n  java.log(\n    String(\n      cookie.getKey(\n        \"fanqienovel.com\",\n        \"sessionid\"\n      )\n    ) ? String(\n     cookie.getKey(\n        \"fanqienovel.com\", \n        \"sessionid\"\n      )\n    ) : (\n     source.getLoginInfoMap()\n      ? source.getLoginInfoMap()\n      : {}\n    )['手动登录Token']\n  )\n  java.toast(\"登录Token已打印到日志，请妥善保管\")\n}\n\nfunction tutorial() {\n  java.longToast(\"\\n手动登录token功能用于部分用户的跨端登录，不知道是什么的留空就行\\n普通用户请使用下方的\\\"账号登录\\\"按钮登录自己的账号\")\n}\n\nfunction t() {\n  let gc = [\"(*^ω^*)\", \"(=^▽^=)\", \"(。’▽’。)♡\", \"٩(๑´0`๑)۶\", \"喵\", \"你好？\", \"逢考必过！\", \"早ﾉ☀\"]\n  rnd = Math.floor(Math.random() * 100)\n  if (typeof gc[rnd] != \"undefined\") {\n    java.toast(gc[rnd])\n  } else {\n    let res = JSON.parse(\n      java.ajax(\"https://v1.hitokoto.cn\")\n    )\n    java.toast(res.hitokoto)\n  }\n}\n\n// 音色设置，以及链接\nvar data = [\n    [\"正常模式\", \"\"],\n    [\"自定义音色\", \"\"],\n    [\"真人\", \"tone_id=0\"],\n    [\"甜美少女\", \"tone_id=1\"],\n    [\"清亮青叔\", \"tone_id=2\"],\n    [\"成熟大叔\", \"tone_id=4\"],\n    [\"开朗青年\", \"tone_id=5\"],\n    [\"温柔淑女\", \"tone_id=6\"],\n    [\"音频7\", \"tone_id=7\"],\n    [\"风雅青叔\", \"tone_id=8\"],\n    [\"音频9\", \"tone_id=9\"],\n    [\"音频10\", \"tone_id=10\"],\n    [\"音频11\", \"tone_id=11\"],\n    [\"清纯少女\", \"tone_id=12\"],\n    [\"音频14\", \"tone_id=14\"],\n    [\"音频15\", \"tone_id=15\"],\n    [\"音频16\", \"tone_id=16\"],\n    [\"磁性青叔\", \"tone_id=17\"],\n    [\"音频18\", \"tone_id=18\"],\n    [\"音频21\", \"tone_id=21\"],\n    [\"音频22\", \"tone_id=22\"],\n    [\"音频23\", \"tone_id=23\"],\n    [\"音频26\", \"tone_id=26\"],\n    [\"推文女声\", \"tone_id=27\"],\n    [\"亲切姐姐\", \"tone_id=28\"],\n    [\"儒雅大叔\", \"tone_id=29\"],\n    [\"优雅御姐\", \"tone_id=30\"],\n    [\"斯文青叔\", \"tone_id=31\"],\n    [\"知性主播\", \"tone_id=32\"],\n    [\"多人对话\", \"tone_id=51\"],\n    [\"音频53\", \"tone_id=53\"],\n    [\"音频55\", \"tone_id=55\"],\n    [\"音频56\", \"tone_id=56\"],\n    [\"音频57\", \"tone_id=57\"],\n    [\"音频58\", \"tone_id=58\"],\n    [\"音频59\", \"tone_id=59\"],\n    [\"音频60\", \"tone_id=60\"],\n     [\"音频61\", \"tone_id=61\"],\n     [\"音频62\", \"tone_id=62\"],\n     [\"音频63\", \"tone_id=63\"],\n     [\"音频64\", \"tone_id=64\"],\n     [\"音频67\", \"tone_id=67\"],   \n     [\"音频68\", \"tone_id=68\"],\n      [\"音频71\", \"tone_id=71\"],\n      [\"音频72\", \"tone_id=72\"],\n      [\"音频73\", \"tone_id=73\"],\n    [\"成熟升级\", \"tone_id=74\"],\n     [\"音频75\", \"tone_id=75\"],\n       [\"音频76\", \"tone_id=76\"],\n       [\"音频77\", \"tone_id=77\"],\n        [\"音频78\", \"tone_id=78\"],\n       [\"音频79\", \"tone_id=79\"],\n    [\"音频80\", \"tone_id=80\"],\n    [\"音频81\", \"tone_id=81\"],\n     [\"音频82\", \"tone_id=82\"],\n     [\"音频84\", \"tone_id=84\"],\n      [\"音频85\", \"tone_id=85\"],\n      \n      [\"音频86\", \"tone_id=86\"],\n       [\"音频87\", \"tone_id=87\"],\n       [\"音频88\", \"tone_id=88\"],\n         [\"音频89\", \"tone_id=89\"],\n           [\"音频90\", \"tone_id=90\"],\n      \n        [\"音频91\", \"tone_id=91\"],\n    [\"俏皮御姐\", \"tone_id=100\"],\n    // [\"邻家妹妹\", \"\"],\n    [\"音频101\", \"tone_id=101\"],\n    [\"音频102\", \"tone_id=102\"],\n    [\"双音灵动\", \"tone_id=103\"],\n    [\"音频104\", \"tone_id=104\"],\n    [\"王明军音\", \"tone_id=105\"],\n    [\"音频106\", \"tone_id=106\"],\n    [\"音频107\", \"tone_id=107\"],\n    [\"音频108\", \"tone_id=108\"],\n    [\"音频109\", \"tone_id=109\"],\n    [\"音频110\", \"tone_id=110\"],\n    [\"音频111\", \"tone_id=111\"],\n    [\"音频112\", \"tone_id=112\"],\n    [\"音频113\", \"tone_id=113\"],\n      [\"音频114\", \"tone_id=114\"],\n        [\"音频115\", \"tone_id=115\"],\n    [\"音频204\", \"tone_id=204\"]\n];\n\n\nvar modeNames = {3: \"小说模式\",2: \"听书模式\",8: \"漫画模式\",11: \"短剧模式\"};\n\n// 设置保存接口\nfunction set(num) {\n    if (num < 0 || num >= data.length) {\n        java.longToast(\"无效的接口编号！\");\n        return;\n    }\n    var show = \"设置成功\\n当前模式：\";\n    var tips = \"\\n‼️设置完成请点击切换模式‼️\"\n    var setData = JSON.parse(source.getVariable())\n    setData.sz = num.toString();\n    setData.tone = data[num][1];\n    source.setVariable(JSON.stringify(setData, null, \" \"));\n    var msg = show + data[num][0] + tips;\n    java.longToast(msg);\n}\n\n// 设置保存接口\nfunction set(num) {\n\tif (source.getVariable()==\"\") {\n    reg(true);\n}\n\n    if (num < 0 || num >= data.length) {\n        java.longToast(\"无效的接口编号！\");\n        return;\n    }\n    var show = \"设置成功\\n当前模式：\";\n    var tips = \"\\n‼️设置完成请点击切换模式‼️\"\n    var setData = JSON.parse(source.getVariable())\n    \n    const currentTone = data[num][1];\n    if (currentTone == \"tone_id=0\") {\n        setData.module = 2;\n    } else {\n        setData.module = 3;\n    }\n    \n    setData.sz = num.toString();\n    setData.tone = currentTone;\n    source.setVariable(JSON.stringify(setData, null, \"\\t\"));\n    \n    var currentMode = setData.module || 3;\n    var msg = show + (modeNames[currentMode] || \"未知模式\") + \n              \"\\n音色设置：\" + data[num][0] + tips;\n    java.longToast(msg);\n}\n\n\n// 获取接口显示\nfunction get() {\n\tif (source.getVariable()==\"\") {\n    reg(true);\n    try {\n        var v = JSON.parse(source.getVariable() || \"{}\");\n        var currentMode = v.module || 3;\n        \n        var message = \"当前模式：\" + (modeNames[currentMode] || \"未知模式\");\n        \n        if (currentMode === 2) {\n            var sz = parseInt(v.sz || \"0\", 10);\n            var toneName = (sz >= 0 && sz < data.length) ? data[sz][0] : \"默认\";\n            message += \"\\n音色设置：\" + toneName;\n        }\n        \n        java.longToast(message);\n    } catch (e) {\n        java.longToast(\"获取模式失败：\" + e.message);\n    }\n}else{\n    try {\n        var v = JSON.parse(source.getVariable() || \"{}\");\n        var currentMode = v.module || 3;\n        \n        var message = \"\\n当前模式：\" + (modeNames[currentMode] || \"未知模式\");\n        \n        if (currentMode === 2 || currentMode === 3) {\n            var sz = parseInt(v.sz || \"0\", 10);\n            var toneName = (sz >= 0 && sz < data.length) ? data[sz][0] : \"默认\";\n            message += \"\\n音色设置：\" + toneName;\n        }\n        \n        java.longToast(message);\n    } catch (e) {\n        java.longToast(\"获取模式失败：\" + e.message);\n    }}\n}\n\n    \n\nfunction st() {\n\t\t\n\t\n    var v = JSON.parse(source.getVariable());\n    var mode = v.module|| 3; \n\n    var newMode;\n    if (mode === 3) {\n        newMode = 2;\n    } else\n    \n     if (mode === 2) {\n        newMode = 8;\n    } else\n    \n     if (mode === 8) {\n        newMode = 11;\n    } else\n    \n    \n     if (mode === 11) {\n        newMode = 3;\n    } else {\n        newMode = 3; \n    }\n    v.module = newMode;\n\n   \n    v.sz = \"0\";\n    v.tone = \"\";\n\n    source.setVariable(JSON.stringify(v, null, \"\\t\"));\n\n    var show = \"设置成功\\n当前模式：\";\n    var tips = \"\\n请前往详情页刷新是否切换成功\";\n    \n    \n    \n    var msg;\n\n    if (newMode === 3) {\n        msg = show + \"阅读模式\" + tips\n    } else if (newMode === 2) {\n    \t\n    \t   msg = show + \"听书模式\" + tips;\n    } else if (newMode === 8){\n    \t\n        msg = show + \"漫画模式\" + tips;\n    } else if (newMode === 11) {\n        msg = show + \"短剧模式\" + tips;\n    }\n    \n    java.longToast(msg);\n}\n\nfunction reg(is) {\n if (is) {\ntry {\nvar setData = {\n\t\"search\": \"-1\",\n\t\"tone_id\": \"-1\",\n\t\"sz\": \"0\",\n\t\"server\": \"http://nove.98tx.cn\",\n\t\"tone\": \"\",\n\t\"st\": 0,\n\t\"type\": \"小说模式\",\n\t\"module\": \"3\",\n\t\"faxian\": \"小说\"\n\t\n}\nsource.setVariable(JSON.stringify(setData, null, \"\\t\"));\n} catch (e) {\nvar setData = {\n\t\"search\": \"-1\",\n\t\"tone_id\": \"-1\",\n\t\"sz\": \"0\",\n\t\"server\": \"http://nove.98tx.cn\",\n\t\"tone\": \"\",\n\t\"st\": 0,\n\t\"type\": \"小说模式\",\n\t\"module\": \"3\",\n\t\"faxian\": \"小说\"\n\t\n}\nsource.setVariable(JSON.stringify(setData, null, \"\\t\"));\n    }\n  }\n}\n\n\n\n\n\n\n\nfunction gets_key() {\n    var servers = String(source.bookSourceUrl);\n    const serverList = servers.split('\\n');\n    \n    for (let server of serverList) {\n        let key = String(cookie.getCookie(server)) || String(java.getCookie(server));\n        if (key) {\n            let keyParts = key.split('secretKey=');\n            if (keyParts.length > 1) {\n                key = keyParts[keyParts.length - 1];\n                setArgument('key', key);\n                return key;\n            }\n        }\n    }\n\n    return '';  \n }\n\n\n//获取服务器\nfunction get_server() {\n    var server = getArgument('server');\n    var tishi = '\\n\\n当前服务器：' + server\n    java.toast(tishi);\n    return server\n}\n\n//设置服务器\nfunction set_server() {\n    let zdyserver;\n    try {\n        zdyserver = String(source.getLoginInfoMap().get('其他服务器(确定后✔返回点击切换)'));\n        if (zdyserver.includes('http')) {\n            setArgument('server', zdyserver);\n            java.toast(`\\n\\n当前服务器为自定义服务器\\n${zdyserver}\\n\\n切换内置服务器请先清空自定义服务器中的数据`);\n        } else {\n            zdyserver = '';\n        }\n    } catch (error) {\n        zdyserver = '';\n    }\n    if (!zdyserver) {\n        const servers = host\n        const currentServer = getArgument('server') || '';\n        const currentIndex = servers.indexOf(currentServer);\n\n        const nextIndex = currentIndex >= 0 ? (currentIndex + 1) % servers.length : 0;\n        const nextServer = servers[nextIndex];\n\n        setArgument('server', nextServer);\n        java.toast(`\\n\\n当前服务器${nextIndex+1}:${nextServer}\\n\\n注意：切换服务器后需要在详情页刷新目录才能生效`);\n    }\n}\n\n\n\n\n// 检测服务器\nfunction checkNet() {\n    let url = getArgument('server');\n    java.longToast(`\\n\\n♻️正在检测：${url}\\n请稍等~`);\n    let date1 = new Date().getTime();\n    let html = java.log(java.ajax(url));\n    let date2 = new Date().getTime();\n    let t = date2 - date1;\n    let c = String(html).indexOf('API 统计仪表板'); // 关键内容检测\n    let time = t / 1000 + 's';\n    let logTime = '【' + url + '】\\n┋┋\\n' + '解析时间：' + time;\n\n    if (c == -1 || t > 5000) {\n        java.longToast('\\n【团夕小站】\\n' + \n                      '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + \n                      logTime + '\\n┋┋\\n♣️当前接口♣️\\n┋┋\\n请切换其他接口/切换网络环境\\n┋┋' + \n                      '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛');\n    } else if (t < 1000) {\n        java.longToast('\\n💖【网络环境优良】\\n' + \n                      '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + \n                      logTime + '\\n┋┋\\n❤️延迟低，推荐使用此接口❤️\\n┋┋\\n网络环境优良，请继续保持状态\\n┋┋' + \n                      '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛');\n    } else if (t >= 1000 && t < 2000) {\n        java.longToast('\\n💛【网络环境一般】\\n' + \n                      '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + \n                      logTime + '\\n┋┋\\n♦️延迟一般，勉强可使用♦️\\n┋┋\\n请切换其他接口或切换网络环境\\n┋┋' + \n                      '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛');\n    } else if (t >= 2000 && t < 5000) {\n        java.longToast('\\n💔【网络环境堪忧】\\n' + \n                      '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + \n                      logTime + '\\n┋┋\\n♠延迟过高，不建议使用♠\\n┋┋\\n请切换其他接口或切换网络环境\\n┋┋' + \n                      '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛');\n    }\n}\n\n\n\n\n\n//自定义音色\nfunction set_tone_id() {\n    let zdytone_id;\n    try {\n        zdytone_id = String(source.getLoginInfoMap().get('其他音色ID(确定后✔返回点击切换)'));\n        if (zdytone_id) {\n        \t  setArgument('sz', 1);\n          setArgument('tone', \"tone_id=\"+zdytone_id);\n          java.toast(\"\\n\\n已保存自定义音色\");\n        } else {\n            zdytone_id = '';\n        }\n    } catch (error) {\n        zdytone_id = '';\n    }\n    if (!zdytone_id) {\n        let toast = \"\\n\\n自定义音色为空\";\n        java.toast(toast);\n    }\n}\n\n\n\n\n\n\n\n\n//获取参数\nfunction getArgument(key) {\n    let open_argument = source.getVariable();\n    return getArguments(open_argument,key);\n}\n\n//设置参数\nfunction setArgument(key, value) {\n    let open_argument = source.getVariable();\n    open_argument = getArguments(open_argument,'');\n    open_argument[key] = value;\n    open_argument = JSON.stringify(open_argument, null, \"\\t\");\n    source.setVariable(open_argument);\n    return open_argument;\n}\n\nfunction getKey() {\n\t   let url = \"http://gx.98tx.cn\";\n\t   let mes = \"更新书源！\"\n\t   java.startBrowser(url, \"更新书源\")\n\t   java.longToast(mes);\n\t   return;\n\t}\n\n\nfunction zz(){\n\tlet url=\"http://nove.98tx.cn/zs.png\"\n\tlet mes=\"欢迎赞助服务器！\"\n\tjava.startBrowser(url, \"团夕赞助码\")\n\t   java.longToast(mes);\n\t   return;\n\t}",
    "respondTime": 180000,
    "ruleBookInfo": {
      "author": "author",
      "canReName": "true",
      "coverUrl": "@js:replaceCover(java.getString(\"thumb_url\"))",
      "init": "<js>\nvar model = [\n    [\"正常模式\", \"\"],\n    [\"自定义音色\", \"\"],\n    [\"真人\", \"tone_id=0\"],\n    [\"甜美少女\", \"tone_id=1\"],\n    [\"清亮青叔\", \"tone_id=2\"],\n    [\"成熟大叔\", \"tone_id=4\"],\n    [\"开朗青年\", \"tone_id=5\"],\n    [\"温柔淑女\", \"tone_id=6\"],\n    [\"音频7\", \"tone_id=7\"],\n    [\"风雅青叔\", \"tone_id=8\"],\n    [\"音频9\", \"tone_id=9\"],\n    [\"音频10\", \"tone_id=10\"],\n    [\"音频11\", \"tone_id=11\"],\n    [\"清纯少女\", \"tone_id=12\"],\n    [\"音频14\", \"tone_id=14\"],\n    [\"音频15\", \"tone_id=15\"],\n    [\"音频16\", \"tone_id=16\"],\n    [\"磁性青叔\", \"tone_id=17\"],\n    [\"音频18\", \"tone_id=18\"],\n    [\"音频21\", \"tone_id=21\"],\n    [\"音频22\", \"tone_id=22\"],\n    [\"音频23\", \"tone_id=23\"],\n    [\"音频26\", \"tone_id=26\"],\n    [\"推文女声\", \"tone_id=27\"],\n    [\"亲切姐姐\", \"tone_id=28\"],\n    [\"儒雅大叔\", \"tone_id=29\"],\n    [\"优雅御姐\", \"tone_id=30\"],\n    [\"斯文青叔\", \"tone_id=31\"],\n    [\"知性主播\", \"tone_id=32\"],\n    [\"多人对话\", \"tone_id=51\"],\n    [\"音频53\", \"tone_id=53\"],\n    [\"音频55\", \"tone_id=55\"],\n    [\"音频56\", \"tone_id=56\"],\n    [\"音频57\", \"tone_id=57\"],\n    [\"音频58\", \"tone_id=58\"],\n    [\"音频59\", \"tone_id=59\"],\n    [\"音频60\", \"tone_id=60\"],\n     [\"音频61\", \"tone_id=61\"],\n     [\"音频62\", \"tone_id=62\"],\n     [\"音频63\", \"tone_id=63\"],\n     [\"音频64\", \"tone_id=64\"],\n     [\"音频67\", \"tone_id=67\"],   \n     [\"音频68\", \"tone_id=68\"],\n      [\"音频71\", \"tone_id=71\"],\n      [\"音频72\", \"tone_id=72\"],\n      [\"音频73\", \"tone_id=73\"],\n    [\"成熟升级\", \"tone_id=74\"],\n     [\"音频75\", \"tone_id=75\"],\n       [\"音频76\", \"tone_id=76\"],\n       [\"音频77\", \"tone_id=77\"],\n        [\"音频78\", \"tone_id=78\"],\n       [\"音频79\", \"tone_id=79\"],\n    [\"音频80\", \"tone_id=80\"],\n    [\"音频81\", \"tone_id=81\"],\n     [\"音频82\", \"tone_id=82\"],\n     [\"音频84\", \"tone_id=84\"],\n      [\"音频85\", \"tone_id=85\"],\n      [\"音频86\", \"tone_id=86\"],\n       [\"音频87\", \"tone_id=87\"],\n       [\"音频88\", \"tone_id=88\"],\n         [\"音频89\", \"tone_id=89\"],\n           [\"音频90\", \"tone_id=90\"],\n            [\"音频91\", \"tone_id=91\"],\n    [\"俏皮御姐\", \"tone_id=100\"],\n    // [\"邻家妹妹\", \"\"],\n    [\"音频101\", \"tone_id=101\"],\n    [\"音频102\", \"tone_id=102\"],\n    [\"双音灵动\", \"tone_id=103\"],\n    [\"音频104\", \"tone_id=104\"],\n    [\"王明军音\", \"tone_id=105\"],\n    [\"音频106\", \"tone_id=106\"],\n    [\"音频107\", \"tone_id=107\"],\n    [\"音频108\", \"tone_id=108\"],\n    [\"音频109\", \"tone_id=109\"],\n    [\"音频110\", \"tone_id=110\"],\n    [\"音频111\", \"tone_id=111\"],\n    [\"音频112\", \"tone_id=112\"],\n    [\"音频113\", \"tone_id=113\"],\n    [\"音频114\", \"tone_id=114\"],\n    [\"音色115\", \"tone_id=114\"],\n    [\"音色204\", \"tone_id=204\"]\n];\n\nvar s = JSON.parse(source.getVariable())\n\nserver = s.server? s.server: source.server;\njava.put(\"server\",server);\n\n\n\n\nif (s.st == 1) { \n   book.putVariable(\"custom\", JSON.stringify(s, null, \"\\t\"));\n   s.st = 0\n   source.setVariable(JSON.stringify(s, null, \"\\t\"));\n}\n\nvar modeTips = {\"3\": \"\\n📖 小说模式\",\t\"2\": \"\\n🎧 听书模式\",\"8\": \"\\n🌈 漫画模式\",\"11\": \"\\n🎬 短剧模式\"\t};\n\n\n    \n    \n    \n    \n\nfunction get(index) {\n  \n    var currentMode = s.module || 0;\n    var modeTip = modeTips[currentMode] || \"\";\n    \n    if (currentMode == \"2\" || currentMode == \"3\") {\n        var v = (book.getVariable('custom') != \"\") ? book.getVariable('custom') : source.getVariable();\n  \n  \n    try {\n            var szStr = JSON.parse(v).sz;\n            var sz = parseInt(szStr, 10);\n            if (sz < 0 || sz >= model.length) {\n                sz = 0;\n            }\n            var show = modeTip + \"\\n当前音色：\";\n            java.longToast(show + model[sz][0] + \"\\n部分书籍支持真人发音\");\n        } catch (e) {\n            java.longToast(modeTip + \"\\n获取音色失败，使用默认。\");\n    }\n      } else {\n        java.longToast(modeTip);\n  }\n}\n\n\n\nfunction getTones(tones, run) {\n    if (run == 0) {\n    var voiceTones = tones.split(',').map(function(tone) {\n        var voice = model.find(function(item) {\n            return item[1] == `tone_id=${tone}`;\n        });\n        return voice ? voice[0] : '';\n    });\n    return '🎼 音色支持：' + voiceTones.filter(Boolean) + '\\n\\u200b\\n';\n    } \n  return ''\n}\n\n\n\n\n\n\n\n\nvar Regs = [/book_id=(\\d+)/i, /d=(\\d+)/i, /(\\d+)/i];\nvar book_id = \"\";\nfor (let Reg of Regs) {\n    let mat = baseUrl.match(Reg);\n    if (mat) {\n        book_id = mat[1];\n        break;\n    }\n}\n\n\n\nvar u_Index = 0; // 0-1\nswitch (String(['API', 'TOU'][u_Index])) {\n    case 'API':\n        result = java.ajax(xGorgon(\n            \"detail\",\n            \"book_id=\" + book_id\n        ));\n        if (JSON.parse(result).code == 0) break;\n        // java.log(\"接口异常，使用头条接口获取\");\n\n        // 这两个接口信息不全\n        // result = java.ajax(\"https://fanqienovel.com/page/\"+book_id).match(/__INITIAL_STATE__=([^;]+)/)[1];\n        // result = java.ajax(getHost(1,3,1,5)+\"/reading/bookapi/multi-detail/v/?aid=1967&iid=1&version_code=999&book_id=\"+book_id);\n\n        // 头条接口\n    default:\n        result = java.ajax(\"https://novel.snssdk.com/api/novel/book/directory/list/v1/?device_platform=android&version_code=1207&novel_version=&app_name=gold_browser&version_name=2.0.7&channel=vivo_6589_64&device_type=wldw&os_api=28&os_version=9&book_id=\" + book_id);\n        break;\n}\nvar Res  = JSON.parse(result);\nvar data = Res.page || Res.data;\ndata = (Array.isArray(data) ? data[0] : data.book_info) || data;\n\n\nvar type = data.genre;\njava.put(\"type\",type);\nget(type);\nvar tts_info = getTones(data.tones, data.genre);\njava.put(\"tts_info\", tts_info);\n\n\n\n\nJSON.stringify(data);\n\n\n\n\n\n\n\n\n</js>\n",
      "intro": "&nbsp;&nbsp;\n🗑 接口：{{getArguments(source.getVariable(),'server');}}\n🆔 书号：{{$.book_id}}\n📕 源名：{{$.original_book_name}}\n📖 别名：{{$.book_flight_alias_name}}\n🎚 状态：__status__\n✏️ 开坑：{{$.create_time##T|\\+.*## }}\n🕰️ 更新：{{String(java.timeFormatUTC(java.getString('$..last_chapter_update_time')*1000,'yyyy-MM-dd HH:mm:ss',8)).replace(/.*1970\\-.*/,'')}}\n🏷️ 标签：{{$.tags}}\n👤 主角：{{$.roles##\\[|\\\"|\\]}}\n⚙️  当前模式：syms\n🗣 当前音色：{{cache.get(\"tone\")}}\n🔊 可选音色：{{$.tones}}\n👁️ 在线：{{$.read_count}}人在读\n📜 简介：{{$.abstract}}\n📍 {{$.copyright_info##，.*##。}}\n@js:\n\nfaxian=source.getVariable()\nlet tone = getArguments('tone_id').tone_id;\nlet type = getArguments('type');\nlet syms = '小说';\nif (faxian.match(/短剧/)) {\n\tsyms = '短剧模式'\n\t} else \n\tif (faxian.match(/听书/)) {\n\tsyms = '听书模式'\n\t} else \n\t\n\tif (faxian.match(/漫画/)) {\n\tsyms = '漫画模式'\n\t} else {\n\tsyms = '小说模式'\n\t}\ntry {\n\tlet tone_id = source.getLoginInfoMap()['听书Ai音色填写详情页序号'];\n  if (tone_id!='') {\n  \ttone = String(tone_id)\n  \t}\n} catch (e) {}\nresult.replace(/.+：(人在读)?\\n/g,\"\").replace('ystone',tone).replace('syms',syms).replace('__status__', (java.getString('$.book_search_visible') == 'true' ? '正常' : (java.getString('$.tomato_book_status') == '3' ? '下架' : '小黑屋')));",
      "kind": "男生{{$.gender}}女生\n{{$.category}}\n连载{{$.creation_status}}完结\n{{$.score}}分\n{{java.timeFormatUTC(java.getString(\"last_chapter_update_time\")*1000,'yyyy-MM-dd',8)}}\n##连载0|1完结\n@js:result\n.replace(/男生.女生/, String(java.getString(\"$.isbn\")) ? \"出版\" : `男生${java.getString(\"$.gender\")}女生`)\n.replace(\"男生0\", \"\")\n.replace(\"1女生\", \"\")\n.replace(\"男生2女生\", \"出版\")\n.replace(\"连载4完结\",\"断更\")\n.replace(\"连载-1完结\",\"未知\");",
      "lastChapter": "{{$.last_chapter_title}} • {{java.timeFormat(java.getString(\"last_chapter_update_time\")*1000)}}",
      "name": "book_name",
      "tocUrl": "book_id\n<js>java.base64Encode(result)</js>\ndata:book_id;base64,{{result}},{\"type\":\"fqnovel\"}",
      "wordCount": "word_number"
    },
    "ruleContent": {
      "content": "<js>\nvar item_id = java.hexDecodeToString(result);\n\nvar v = JSON.parse((book.getVariable('custom') != \"\") ? book.getVariable('custom') : source.getVariable());\nvar type = v.module;\n\n\nvar v = (book.getVariable('custom') != \"\") ? book.getVariable('custom') : source.getVariable();\nvar v = JSON.parse(v)\nvar sz = v.sz;\nvar tone = v.tone;\nvar server = java.get(\"server\");\n\n\n\nif (type == 8) {\n  book.type = 64;\n} else if (type == 2 || sz != 0) {\n  book.type = 32;\n} else {\n  book.type = 8;\n}\n\n\n\nif (type == 2 || sz != 0) {\n    if (!tone) {\n        url = server  + '/api/index.php?api=content&ts=听书&item_ids=' + item_id+'&tone=1';\n        java.log(url)\n    } else {\n        url =server  + `/api/index.php?api=content&ts=听书&item_ids=${item_id}&${tone}`;\n        java.log(url)\n    }\n    try {\n  result = JSON.parse(java.ajax(url)).data.content;\n    } catch(e) {\n   result = \"该书不支持当前音色，请更换并刷新\";\n    }\n\n} else if (type == 11) {\n  var bookId = \"\";\n  try {\n      if (book.bookUrl) {\n          var match = book.bookUrl.match(/book_id=(\\d+)/);\n          if (match) bookId = match[1];\n      }\n  } catch(e) {}\n  \n  var url = server + `/api/index.php?api=player&item_id=${item_id}&book_id=${bookId}`;\n  \n  try {\n      java.startBrowser(url, chapter.title);\n      result = \"正在启动播放器...\\n✅ 点击链接手动播放:\\n\" + url;\n  } catch(e) {\n      result = \"启动播放器失败: \" + e + \"\\n\" + url;\n  }\n} else if (false) {\n  var url =server +  `/api/index.php?api=video&ts=短剧&item_id=${item_id}`; \n  \n  \n  try {\nresult = JSON.parse(java.ajax(url)).data.video_url;\n\n\n      \n \n  \tintro1=String(book.intro);\n  \ta=intro1.split('\\n');\n  \tvar intro='';\n  \ta.forEach(n=>{\n  \t\tintro+=n;\n  \t\tintro+='<br>';\n  \t\t});\n  \t//java.log(intro);\n  if (book['durChapterIndex'] == chapter['index']) { \n\t\tb64 = java['base64Encode'](`\n    <html>\n    <head>\n    <title>${chapter.title}</title>\n        <meta name=\"viewport\" content=\"width=device-width\">\n        <style>\n        body {\n            margin: 0;\n            font-family: Arial, sans-serif;\n            background: linear-gradient(135deg, #ece9e6, #ffffff);\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: flex-start;\n            padding: 20px;\n        }\n        .container {\n            width: 100%;\n            max-width: 800px;\n            background: #fff;\n            border-radius: 10px;\n            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n            overflow: hidden;\n            margin-bottom: 20px;\n        }\n        h3 {\n            margin: 0;\n            padding: 10px 20px;\n            font-size: 0.9em;\n            background: #333;\n            color: #fff;\n            border-radius: 10px 10px 0 0;\n        }\n        .video-container {\n            width: 100%;\n            background: #000;\n            position: relative;\n        }\n        video {\n            width: 100%;\n            height: auto;\n            display: block;\n        }\n        .info-container {\n            padding: 20px;\n        }\n        .info-container p {\n            margin: 10px 0;\n            color: #555;\n        }\n        .info-container p span {\n            font-weight: bold;\n            color: #000;\n        }\n        </style>\n    </head>\n\n    <body>\n        <div class=\"container\">\n            <h3>{{book.name}}</h3>\n            <div class=\"video-container\">\n                <video id=\"video\" src=\"${result}\" poster=\"{{$.model.coverUrl}}\" controls></video>\n            </div>\n        </div>\n        <div class=\"info-container\">\n            <p><br>${intro} </p>\n        </div>\n        <script>\n        // 获取视频元素\n        const video = document.getElementById('video');\n        let touchStartX = 0;\n        let touchStartY = 0;\n        let touchStartTime = 0;\n        let isLongPress = false;\n        // 滑动快进\n        video.addEventListener('touchstart', (e) =>\n        {\n            touchStartX = e.touches[0].clientX;\n            touchStartY = e.touches[0].clientY;\n            touchStartTime = Date.now();\n            isLongPress = false;\n        });\n        video.addEventListener('touchmove', (e) =>\n        {\n            const deltaX = e.touches[0].clientX - touchStartX;\n            const deltaY = e.touches[0].clientY - touchStartY;\n            // 如果是水平滑动，且未进入长按状态\n            if(Math.abs(deltaX) > Math.abs(deltaY) && !isLongPress)\n            {\n                const duration = video.duration;\n                const seekTime = video.currentTime + (deltaX / 50); // 每滑动100px快进1秒\n                video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n            }\n            e.preventDefault(); // 防止默认行为（如页面滚动）\n        });\n        // 长按快进\n        video.addEventListener('touchend', (e) =>\n        {\n            const touchEndTime = Date.now();\n            const touchDuration = touchEndTime - touchStartTime;\n            // 如果长按时间超过500ms，进入长按快进状态\n            if(touchDuration > 500)\n            {\n                isLongPress = true;\n                // 在长按状态下，根据滑动距离快进\n                const deltaX = e.changedTouches[0].clientX - touchStartX;\n                const duration = video.duration;\n                const seekTime = video.currentTime + (deltaX / 100); // 每滑动100px快进1秒\n                video.currentTime = Math.min(Math.max(seekTime, 0), duration);\n            }\n            else\n            {\n                isLongPress = false;\n            }\n        });\n                </script>\n    </body>\n\n    </html> `); \n    \n   \n    baseUrl = 'data:text/html;base64,' + b64;\n    \njava.startBrowser(baseUrl,chapter.title);\n\n    java['toast']('正在加载视频\\n视频加载较慢，请耐心等待'); } '【刷新正文】播放\\n✅直链:\\n' +`${url}`; \n\n  } catch(e) { \n result = '视频获取失败，尝试重新获取';\n  }\n} else\n\n if (type == 8) {\n \t\n \t\n let url =  getServerHost() + '/api/index.php?&api=raw_full&item_id=' +item_id;\n \n //java.log( url)\nlet res =\nJSON.parse(java.ajax(url)).data.content;\n\nfunction getComic(result) {\n  let mat = result.match(/<article>([\\s\\S]*?)<\\/article>/);\n  try {\n    let cnt = JSON.parse(\n      mat\n        ? mat[1].replace(/\\&/g, '\"').replace(/\\;/g, \"\").replace(/\\#34/g, \"\")\n        : result\n    );\n    return (mat ? cnt.skeleton.data : cnt.picInfos)\n      .map((i) => {\n        let path = mat\n          ? cnt.materials[i.element_name].data.web_uri\n          : \"novel-pic/\" + i.md5;\n        return `<img src=\"https://p3-novel.byteimg.com/origin/${path}\">`;\n      })\n      .join(\"<br>\");\n  } catch (e) { // not comic content\n    mat = result.match(/<body>([\\s\\S]*?)<\\/body>/)\n    // java.log(result)\n    return (mat ? mat[1] : result).toString().replace(/\\<\\!DOCTYPE html.*/g, \"\").replace(/\\<tt_keyword_ad.*\\<\\/tt_keyword_ad\\>/, \"\").replace(/\\<a epub.*\\>\\<\\/a\\>/g, \"\")\n  }\n}\nresult = getComic(String(res));\nresult.replace(/\\{\\!\\-\\- PGC_VOICE\\:.*\\-\\-\\}/g, \"\")\n\n \n \n\n} else {\n    let url =  server  + '/api/index.php?api=content&api_type=batch&item_ids=' + item_id;\n    \n   result = JSON.parse(java.ajax(url)).data[0].content;\n \n } \n \nresult;\n</js>",
      "imageStyle": "FULL"
    },
    "ruleExplore": {
      "author": "$.author||$.copyright",
      "bookList": "<js>\n\nlet ck = \"sessionid=\" + (String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) ? String(cookie.getKey(\"fanqienovel.com\", \"sessionid\")) : (source.getLoginInfoMap() || {})['手动登录Token'])\n\ngetShelf = () => {\nlet book_shelf_url = 'https://fanqienovel.com/reading/bookapi/bookshelf/info/v:version/?aid=1967&iid=0&version_code=57700&update_version_code=57700'\nlet book_shelf_info = java.ajax(book_shelf_url + ', ' + JSON.stringify({\n  headers: {\n    'Cookie': ck\n  }\n}))\n\nbid = getBookIdFull(book_shelf_info)\nlet id_list = splitArray(bid, 100)\nlet urls = []\nid_list.forEach(i => {\n    urls.push(xGorgon(\"multi-detail\", \"book_id=\" + i.join(\",\"), null, ck))\n})\n\nres = java.ajaxAll(urls)\n\nlet resp = {book_info: []}\nres.forEach(r => {\n  resp.book_info = resp.book_info.concat(JSON.parse(r.body()).data)\n})\n\nreturn resp\n}\n\nfunction getByGroupName(name) {\n  let book_shelf_url = 'https://fanqienovel.com/reading/bookapi/bookshelf/info/v:version/?aid=1967&iid=0&version_code=57700&update_version_code=57700'\n\n  let book_shelf_info = JSON.parse(java.ajax(book_shelf_url + ', ' + JSON.stringify({\n    headers: {\n      'Cookie': ck,\n    }\n  })))\n  let group_bookids = {\n    \"未分组\": []\n  }\n  // java.log(\n  book_shelf_info.data.book_shelf_info.forEach(i => {\n    if (!group_bookids[i.group_name ? i.group_name : \"未分组\"]) group_bookids[i.group_name] = []\n    group_bookids[i.group_name ? i.group_name : \"未分组\"].push(i.book_id)\n  })\n  // java.log(JSON.stringify(group_bookids[\"未分组\"]))\n  // java.log(decodeURIComponent(name))\n  if (!group_bookids[decodeURIComponent(name)]) return {data: []}\n  //java.log(\"awa\")\n  let book_ids = splitArray(group_bookids[decodeURIComponent(name)], 100)\n  let urls = []\n\n  book_ids.forEach(i => {\n    urls.push(xGorgon(\"multi-detail\", \"book_id=\" + i.join(\",\"), null, ck))\n  })\n  \n  res = java.ajaxAll(urls)\n\n  let resp = {book_info: []}\n  res.forEach(r => {\n    resp.book_info = resp.book_info.concat(JSON.parse(r.body()).data)\n  })\n\n  return resp\n}\n\nfunction getByTabIndex(index) {\n  let url = xGorgon(\n\t  \"bookmall/tab\",\n    \"version_name=5.8.9.32&device_id=1024&device_type=114514&iid=2048\",\n\t  null,\n\t  ck\n  )\n  let all = JSON.parse(java.ajax(url))\n  let tab = all.data.tab_item[0].cell_data[index]\n  // java.log(JSON.stringify(tab))\n  tab = tab.cell_data\n  if (!tab) tab = []\n  let bookList = []\n  for (let i of tab) {\n    bookList = bookList.concat(i.book_data)\n    // java.log(JSON.stringify(i.book_data))\n  }\n  return { book_info: bookList }\n}\n\nif (baseUrl.endsWith(\"bookshelf\")) result = getShelf(\"bookshelf/info\")\nelse {\n  let w = baseUrl.split(\"/\")\n  if (baseUrl.includes(\"groupName\")) {\n    result = getByGroupName(w[w.length - 1])\n  } else if (baseUrl.includes(\"tab\")) {\n    result = getByTabIndex(parseInt(w[w.length - 1]))\n  } else result = JSON.parse(result)\n}\nJSON.stringify({data: result.book_info || result.data.book_info || result.detail_list || result.data.video_info || result.data})\n</js>\n$.data[*]",
      "bookUrl": "/reading/bookapi/detail/v/?book_id={{$.book_id||$.series_id}}",
      "coverUrl": "@js:replaceCover(java.getString(\"thumb_url||cover\"))",
      "intro": "$.abstract||$..video_desc##\\n",
      "kind": "男生{{$.gender}}女生\n{{$.category}}\n连载{{$.creation_status}}完结\n{{$.score}}分\n{{java.timeFormatUTC(java.getString(\"last_chapter_update_time\")*1000,'yyyy-MM-dd',8)}}\n##连载0|1完结\n@js:result\n.replace(/男生.女生/, String(java.getString(\"$.isbn\")) ? \"出版\" : `男生${java.getString(\"$.gender\")}女生`)\n.replace(\"男生0\", \"\")\n.replace(\"1女生\", \"\")\n.replace(\"男生2女生\", \"出版\")\n.replace(\"连载4完结\",\"断更\")\n.replace(\"连载-1完结\",\"未知\")\n.replace(\"1970-01-01\", \"\");",
      "name": "$.book_name||$.title",
      "wordCount": "$.word_number"
    },
    "ruleSearch": {
      "author": "$.author||$.copyright",
      "bookList": "<js>\nlet res = JSON.parse(result)\n\nlet list = [];\nlet book_list = [];\n\ntry {\n  if (res.search_tabs) {\n    for (let i = 0; i < res.search_tabs.length; i++) {\n        let books = res[\"search_tabs\"][i][\"data\"];\n        if (books != null) list = list.concat(books);\n    }\n  }\n} catch (e) {\n    java.log(\"出错\")\n}\n\nfor (let $ of list) {\n   book_list.push($.book_data ? $.book_data[0] : ($.video_data ? $.video_data[0] : $));\n}\n\nJSON.stringify(book_list)\n</js>$[*]",
      "bookUrl": "/reading/bookapi/detail/v/?book_id={{$.book_id||$.series_id}}",
      "checkKeyWord": "https://www.baidu.com/删书示例?book_id=7285555567827880975",
      "coverUrl": "@js:replaceCover(java.getString(\"thumb_url||cover\"))",
      "intro": "$.abstract||$.series_intro##\\n",
      "kind": "男生{{$.gender}}女生\n{{$.category}}\n连载{{$.creation_status}}完结\n{{$.score}}分\n##连载0|1完结\n@js:result\n.replace(/男生.女生/, String(java.getString(\"$.isbn\")) ? \"出版\" : `男生${java.getString(\"$.gender\")}女生`)\n.replace(\"男生0\", \"\")\n.replace(\"1女生\", \"\")\n.replace(\"男生2女生\", \"出版\")\n.replace(\"连载4完结\",\"断更\")\n.replace(\"连载-1完/reading/bookapi/detail/v/?book_id={{$.book_id||$.series_id}}结\",\"未知\");",
      "name": "$.book_name||$..series_title##（别名：.*?）",
      "wordCount": "word_number"
    },
    "ruleToc": {
      "chapterList": "@js:\n\nvar v = JSON.parse((book.getVariable('custom') != \"\") ? book.getVariable('custom') : source.getVariable());\nvar type = v.module;\nvar sz = v.sz;\nvar tone = v.tone;\nif (type == 8) {\n  book.type = 64;\n} else if (type == 2 || sz != 0) {\n  book.type = 32;\n} else {\n  book.type = 8;\n}\n\n\nvar u_Index = 1;     // 0-2\n\nvar u_Types = ['API', 'WEB', 'TOU'];\nvar v_Index = [];\nvar v_Names = [];\nvar c_Array = [];\nvar book_id = java.hexDecodeToString(result);\n\nfunction b64Url(item_id) {\n    return `data:item_id;base64,${java.base64Encode(item_id)},{\"type\":\"fqnovel\"}`;\n}\n\nfunction push_a(a, b, c, d) {\n    c_Array.push({\n        \"ChapterName\": a || \"\",\n        \"isVolume\": b || false,\n        \"chapterUrl\": c ? b64Url(c) : \"\",\n        \"ChapterInfo\": d || \"\",\n    });\n}\n\nfunction push_b(list) {\n    for (let c of list) {\n        let c_name = c.volume_name || \"第一卷：默认\";\n        let c_time = java.timeFormat(c.first_pass_time * 1000);\n        let c_word = c.chapter_word_number + \"字\";\n        let c_info = [c_name, c_time, c_word];\n        let v_name = v_Names[v_Names.length - 1];\n        if (v_name != c_name) {\n        \t   // java.log(c_name);\n            v_Index.push(c_Array.length);\n            v_Names.push(c_name);\n            push_a(c_name, true);\n        }\n        push_a(c.title, false, c.item_id, c_info.join(\" | \"));\n    }\n}\n\nfunction tocUrl(utype, params, run) {\n    let url = `https://novel.snssdk.com/api/novel/book/directory/${utype}/v1/?${params}`;\n    if (run) return url;\n    return JSON.parse(java.ajax(url)).data;\n}\n\nfunction push_c(arr) {\n    let newArr = [];\n    for (let i = 0; i < arr.length;) {\n        let item_ids = arr.slice(i, (i += 100));\n        newArr.push(tocUrl(\"detail\", \"item_ids=\" + item_ids, true));\n    }\n    return java.ajaxAll(newArr).map(Get => {\n        let response = String(Get.body()).replace(/\\\\/g, \"\\\\\")\n            .replace(/\\\\+([\\u4e00-\\u9fa5])/g, \"$1\")\n            .replace(/\\\\([^fnrt\"'])/g, \"$1\");\n        return push_b(JSON.parse(response).data);\n    });\n}\n\n\n\n//  app接口  ##卷名&时间&字数\nswitch (String(u_Types[u_Index])) {\n    case 'API':\n        let data = JSON.parse(java.ajax(xGorgon(\n            \"directory/all_items\",\n            \"book_id=\" + book_id\n        )));\n        if (data.code == 0) {\n            push_b(data.data.item_data_list);\n            break;\n        }\n        // java.log(\"下架书籍，使用web接口获取目录\");\n\n\n\n        //  web接口  ##卷名&时间\n    case 'WEB':\n        let Json, Host = \"https://fanqienovel.com\";\n        if (false) {\n            Json = java.ajax(Host + \"/page/\" + book_id)\n                .match(/__INITIAL_STATE__=([^;]+)/)[1];\n        } else {\n            Json = java.ajax(Host + \"/api/reader/directory/detail?bookId=\" + book_id);\n        }\n        let List = JSON.parse(Json).data.chapterListWithVolume;\n        for (let list of List) {\n            v_Index.push(c_Array.length);\n            list.map((_, i) => {\n                let c_name = _.volume_name || \"第一卷：默认\";\n                let c_time = java.timeFormat(_.firstPassTime * 1000);\n                if (!i) push_a(c_name, true);\n                push_a(_.title, false, _.itemId, [c_name, c_time].join(\" | \"))\n            });\n        }\n        break;\n\n\n        //  头条接口  ##无章节信息(需要请求)\n    default:\n        let item_list = tocUrl(\"list\", \"device_platform=android&version_code=1207&novel_version=&app_name=gold_browser&version_name=2.0.7&channel=vivo_6589_64&device_type=wldw&os_api=28&os_version=9&book_id=\" + book_id).item_list;\n        if (false) {\n            item_list.map((t, i) => {\n                push_a(\"第\" + (i + 1) + \"章\", false, t);\n            });\n        } else push_c(item_list);\n        break;\n}\n\n\n\n// 返回数组\nlet len = v_Index.length;\nif (len < 2) { // 分卷太少不显示\n    for (; len > 0; len--) {\n        c_Array.splice(v_Index[len - 1], 1);\n    }\n} else if (false) { // 显示效果不好看\n    for (let a, b, i = 0; i < len; i++) {\n        a = v_Index[i];\n        b = v_Index[i + 1];\n        if (b == undefined) b = len;\n        c_Array[a][\"ChapterInfo\"] = \"共 \" + (b - a - 1) + \" 章\";\n    }\n}\nc_Array",
      "chapterName": "ChapterName",
      "chapterUrl": "chapterUrl",
      "isVolume": "isVolume",
      "updateTime": "ChapterInfo##/##-"
    },
    "searchUrl": "@js:\n\nvar r = {\n\t\n\t\n\t\"search\": \"-1\",\n\t\"tone_id\": \"-1\",\n\t\"sz\": \"0\",\n\t\"server\": \"http://nove.98tx.cn\",\n\t\"tone\": \"\",\n\t\"st\": 0,\n\t\"type\": \"小说模式\",\n\t\"module\": \"3\",\n\t\"faxian\": \"小说\"\n\t\n\t\n\t\n};\nif (source.getVariable()==\"\") {\n \n    source.setVariable(JSON.stringify(r, null, \"\\t\"));\n    java.toast('\\n已初始化，使用默认站源');\n}\n\n\nmodule=JSON.parse(source.getVariable()).module;\n\ntab_type = + module;\n\nif (String(key).startsWith(\"m:\")) {\n  tab_type = 8\n  key = key.slice(2)\n}\n\nif (String(key).startsWith(\"t:\")||String(key).startsWith(\"t：\")) {\n  tab_type = 2\n  key = key.slice(2)\n}\n\nif (String(key).startsWith(\"d:\")||String(key).startsWith(\"d：\")) {\n  tab_type = 11\n  key = key.slice(2)\n}\n\nif (String(key).startsWith(\"e:\")) {\n  key = key.slice(2)\n  java.put(\"extra\", true)\n} else {\n  java.put(\"extra\", false)\n}\n\n研希 =xGorgon(\n    \"search/tab\",\n    [\n        \"tab_type=\" + tab_type,\n        \"query=\" + encodeURI(java.put(\"key\", key)),\n        \"passback=\" + ((java.put(\"page\", page) - 1) * 10),\n        \"update_version_code=58932\",\n        \"iid=1\"\n    ].join(\"&\"),\n    null,\n    \n);\n\n\nif (key.length === 19 && !Number.isNaN(key)) { // book_id\n  研希 = `/reading/bookapi/detail/v/?book_id=${key}`\n}\n\n研希",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "🍅番茄",
    "bookSourceType": 0,
    "bookSourceUrl": "https://novel.snssdk.com",
    "customOrder": 4,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\n\nlet sort = [];\npush = (title, url, type) => sort.push({\n    title: title,\n    url: url,\n    style: {\n        layout_flexBasisPercent: type\n    }\n});\n    push('番茄书架', 'https://fanqienovel.com/reading/bookapi/bookshelf/info/v:version/?aid=1967&iid=0&version_code=56910&update_version_code=56910', 1);\n    push('巅峰榜单', 'https://fanqienovel.com/api/author/misc/top_book_list/v1/?limit=100&offset=0', 0.29);\n    push('出版榜单', 'https://fanqienovel.com/api/node/publication/list?page_index=0&page_count=100', 0.29);\n    push('爆更榜单', 'https://api-lf.fanqiesdk.com/api/novel/channel/homepage/rank/rank_list/v2/?aid=13&limit=50&offset=0&side_type=15&type=1', 0.29);\n    push('黑马榜单', 'https://api-lf.fanqiesdk.com/api/novel/channel/homepage/rank/rank_list/v2/?aid=13&limit=50&offset=0&side_type=13&type=1', 0.29);\n    push('热搜榜单', 'https://api-lf.fanqiesdk.com/api/novel/channel/homepage/rank/rank_list/v2/?aid=13&limit=50&offset=&side_type=12&type=1', 0.29);\t\n    push('每周推荐', 'https://fanqienovel.com/api/rank/recommend/list?type=1&limit=10&offset=0', 0.29);\t\n\t\n\tA=[[\"推荐\",\"10\"],[\"完结\",\"11\"],[\"热搜\",\"12\"]]\t;\n[[\"男频\",\"1\"],[\"女频\",\"0\"]].map([title,id]=>{\n\tpush('❤️'+title+'榜单❤️', null, 1);\n\tif(id==2){ \tA=A.slice(1,A.length-1) }\n\t\tA.map([title,uri]=>{\t\t\t\n\t\t  \turl= `https://novel.snssdk.com/api/novel/channel/homepage/rank/rank_list/v2/?aid=13&app_name=news_article&app_version=9.7.3&channel=tengxun_tt&device_platform=android&os=android&device_type=ProjectTitan&os_api=29&os_version=10&openlive_plugin_status=1&isTTWebViewHeifSupport=0&limit=100&offset={{(page-1)*100}}&side_type=${uri}&type=${id}`;\n\t\t\t\tpush(title, url, 0.29);\t\t\t\n\t\t\t});\n\t});\t\n\t\n\tcategory = () =>{\n\t\t\tcategory_url = \"https://novel.snssdk.com/api/novel/channel/homepage/new_category/page/data/v1/?aid=13\";\nreturn  JSON.parse(java.ajax(category_url)).data\t\t\n\t\t}\n\t\t  \n  json = (data) => {\n     boy = data.boy_category;\n     girl = data.girl_category;\n     publish = data.publish_category;\n     json = [[\"男频\",\"gender=1\",boy],[\"女频\",\"gender=0\",girl],[\"出版\",\"genre_type=160\",publish]];\n     return JSON.parse(JSON.stringify(json));\n   }\t\n\t\tjson(category()).map([tit1,gender,category]=>{\n\t    push('❤️'+tit1+'❤️', null, 1);\n     category.map(($,index)=>{\n     \tindex++;\n\t    title = $.category_name;\n     \tcid = $.category_id;\n\t    url=  `https://novel.snssdk.com/api/novel/channel/homepage/new_category/book_list/v1/?aid=1967&app_name=news_article&app_version=9.7.3&channel=tengxun_tt&creation_status=9&device_platform=android&enter_from=novel_category&novel_host&novel_version&version_code=973&version_name=9.7.3&word_count=9&os=android&device_type=ProjectTitan&os_api=29&os_version=10&offset={{(page-1)*100}}&limit=100&category_id=${cid}&${gender}`;\n\t\t\t\tpush(title, url, 0.29);\t\n      });\n  });\nJSON.stringify(sort);",
    "header": "{\n\t\"user-agent\":\"Mozilla/5.0 (Linux; Android 10; TAS-AN00 Build/HUAWEITAS-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/114.0.5735.61 Mobile Safari/537.36 Super 4.6.5\"\n}",
    "lastUpdateTime": 1769807872423,
    "loginUrl": "https://fanqienovel.com",
    "respondTime": 180000,
    "ruleBookInfo": {
      "author": "author",
      "coverUrl": "thumb_url",
      "init": "data[0]",
      "intro": "&nbsp;&nbsp;\n✏️ 开坑：{{$.create_time##T.*}}\n🕰 更新：{{java.timeFormatUTC(java.getString(\"last_chapter_update_time\")*1000,'yyyy-MM-dd HH:mm:ss',8)}}\n🏷️ 标签：{{$.complete_category##/##,}}\n🏷️ 标签：{{$.tags}}\n👤 主角：{{$.roles##\\[|\\\"|\\]}}\n👁️ 在线：{{$.read_count}}人在读{{'\\n'+'​'}}\n📜 简介：{{$.abstract}}{{'\\n'+'​'}}\n📍 {{$.copyright_info##，.*##。}}\n@js:result.replace(/.+：(人在读)?\\s/g,'')",
      "kind": "{{$.category}}\n{{$.score}}分\n连载{{$.creation_status}}完结\n{{$.sub_info}}\n@js:result.replace(/连载0完结/g,'完结').replace(/连载1完结/g,'连载').replace(/连载4完结/g,'已断更').replace(/连载-1完结/g,'完结')",
      "lastChapter": "{{$.last_chapter_title}} • {{java.timeFormat(java.getString('last_chapter_update_time')*1000)}}",
      "name": "book_name@put:{book_id:book_id}",
      "tocUrl": "https://fanqienovel.com/api/reader/directory/detail?bookId=@get:{book_id}",
      "wordCount": "word_number"
    },
    "ruleContent": {
      "content": "$..content"
    },
    "ruleExplore": {
      "author": "author##</?em>",
      "bookList": "<js>\nlet list = [];\nlet resultData = JSON.parse(result);\n\nlet targetData = resultData.data || resultData.list || resultData.book_list || \n                resultData.publication_list || resultData.result || resultData;\n                \nif (targetData != null && targetData.book_shelf_info) {\n    let bookIds = targetData.book_shelf_info.map(item => `{\"book_id\": \"${item.book_id}\"}`).join(',');\n    \n    let booksData = java.ajax(\n`https://fanqienovel.com/api/bookshelf/multidetail,{\"method\": \"post\",\"body\": {\"books\":[${bookIds}]}}`\n        );\n    \n    let books = JSON.parse(booksData).data.detail_list;\n    for (let i in books) {\n        let d = books[i];\n        list.push({\n            src: d,\n            book_name: d.book_name,\n            author: d.author,\n            category:d.category,\n            tags:d.tags,\n            word_number:d.word_number,\n            lastChapterTitle: d.last_chapter_title,\n            abstract: d.abstract,\n            book_id: d.book_id,\n        });\n    }\n} else {\n    list = targetData.content || targetData;\n}\n\nJSON.stringify({data: list})\n</js>\ndata.data||data.list||book_list||data.publication_list||data.result||data",
      "bookUrl": "https://reading.snssdk.com/reading/bookapi/multi-detail/v?j=x&book_id={{$.book_id||$.bookId}}&aid=1967&iid=0",
      "coverUrl": "http://p6-novel.byteimg.com/large/{$.thumb_uri}||$.thumb_url||thumbUri",
      "intro": "abstract",
      "kind": "category&&source",
      "lastChapter": "last_chapter_title",
      "name": "book_name||bookName",
      "wordCount": "word_number"
    },
    "ruleSearch": {
      "author": "author##</?em>",
      "bookList": "$.data.ret_data.*||$..book_info[*]",
      "bookUrl": "https://api5-normal-sinfonlineb.fqnovel.com/reading/bookapi/multi-detail/v/?aid=1967&iid=1&version_code=999&book_id=@get:{book_id}",
      "checkKeyWord": "我的26岁女房客",
      "coverUrl": "thumb_url",
      "intro": "abstract",
      "kind": "category&&score",
      "name": "book_name||title@put:{book_id: book_id}##<em>|</em>|《|》",
      "wordCount": "连载{{$.creation_status}}完结##连载0|1完结"
    },
    "ruleToc": {
      "chapterList": "$.data.chapterListWithVolume[*].*",
      "chapterName": "$.title",
      "chapterUrl": "http://nove.98tx.cn/api/index.php?api=content&item_ids={{$.itemId}}",
      "updateTime": "发布于 {{java.timeFormat(java.getString('$.firstPassTime')*1000)}}"
    },
    "searchUrl": "https://novel.snssdk.com/api/novel/channel/homepage/search/search/v1/?device_platform=android&parent_enterfrom=novel_channel_search.tab.&offset={{(page-1)*10}}&aid=1967&q={{key}}",
    "weight": 0
  },
  {
    "bookSourceComment": "｀https://101kanshu.com/\n｀https://69shux.co/",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "69书吧[需要挂🪜]",
    "bookSourceType": 0,
    "bookSourceUrl": "https://101kanshu.com/",
    "bookUrlPattern": ".*(69|101).*book.*",
    "customOrder": 5,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\nfunction generateDiscovery() {\n  // 基础分类\n  const categories = [\n    {name: \"完本小说\", id: \"full\"},\n    {name: \"小说分类\", id: \"class\"},\n    {name: \"热门标签\", id: \"tag\"}\n  ];\n  \n  // 子分类\n  const subCategories = [\n    {name: \"全部分类\", id: 0},\n    {name: \"玄幻奇幻\", id: 1},\n    {name: \"武侠仙侠\", id: 2},\n    {name: \"现代都市\", id: 3},\n    {name: \"历史军事\", id: 4},\n    {name: \"科幻小说\", id: 5},\n    {name: \"游戏竞技\", id: 6},\n    {name: \"恐怖灵异\", id: 7},\n    {name: \"言情小说\", id: 8},\n    {name: \"动漫同人\", id: 9},\n    {name: \"其他类型\", id: 10}\n  ];\n  \n  // 热门标签\n  const hotTags = [\n     \"系统\",\"穿越\",\"重生\",\"斗罗大陆\",\"空间\",\"生活\",\"无敌\",\"游戏\",\"签到\",\"娱乐圈\",\"金手指\",\"种田\",\"同人衍生\",\"火影\",\"武魂\",\"女主\",\"修仙\",\"海贼\",\"系统流\",\"末世\",\"大佬\",\"时代\",\"爽文\",\"明星\",\"都市\",\"同人\",\"升级\",\"人生\",\"诸天流\",\"杀伐果断\",\"娱乐\",\"单女主\",\"直播\",\"年代文\",\"职业\",\"精灵\",\"异能\",\"历史\",\"天才流\",\"综漫\",\"神秘\",\"快穿\",\"搞笑\",\"武道\",\"洪荒\",\"皇帝\",\"大学\",\"科技\",\"女儿\",\"魔法\",\"穿书\",\"现实\",\"美食\",\"多女主\",\"美女\",\"进化\",\"求生\",\"玄幻\",\"法师\",\"御兽\",\"女人\",\"召唤\",\"孩子\",\"动漫\",\"末日\",\"无限流\",\"异世\",\"无限\",\"赚钱\",\"绝世\",\"宠物\",\"恋爱\",\"反派\",\"灵气复苏\",\"逆天\",\"古代\",\"战争\",\"双洁\",\"双修\",\"人物\",\"甜宠\",\"离婚\",\"轻松\",\"生存\",\"神医\",\"巫师\",\"女友\",\"宇宙\",\"学院\",\"怪物\",\"英雄\",\"异界\",\"致富\",\"养成\",\"架空\",\"成长\",\"恐怖\",\"魂穿\",\"医术\",\"神话\",\"阅读\",\"万界\",\"逆袭\",\"学校\",\"热血\",\"1V1\",\"传奇\",\"灾难\",\"星际\",\"宝贝\",\"三国\",\"暗恋\",\"青梅竹马\",\"乱世\",\"鉴宝\",\"情报\",\"高冷\",\"团宠\",\"老公\",\"王朝\",\"公司\",\"后宫\",\"大明\",\"王爷\",\"世家\",\"传说\",\"治愈\",\"皇朝\",\"孤儿\",\"武器\",\"城市\",\"文娱\",\"位面\",\"女神\",\"军婚\",\"江湖\",\"成功\",\"财富\",\"机甲\",\"文明\",\"功法\",\"医生\",\"综艺\",\"玄学\",\"圣人\",\"转世\",\"病娇\",\"平凡\",\"日常文\",\"女配\",\"千金\",\"学霸\",\"无敌流\",\"打工\",\"挑战\",\"打脸\",\"群像\",\"封神\",\"游戏异界\",\"极品\",\"日本\",\"婚后\",\"男人\",\"少爷\",\"腹黑\",\"经营\",\"老师\",\"商业\",\"丧尸\",\"校花\",\"帝王\",\"变身\",\"大师\",\"公主\",\"报仇\",\"盗墓\",\"分身\",\"升级流\",\"大唐\",\"神魔\",\"天师\",\"仙帝\",\"人性\",\"修真\",\"校园\",\"亲人\",\"自然\",\"争霸\",\"凡人流\",\"工业\",\"未来\",\"乡村\",\"钢铁侠\",\"诸神\",\"克苏鲁\",\"宝宝\",\"纨绔\",\"马甲\",\"偏执\",\"异兽\",\"超人\",\"虐渣\",\"中医\",\"二次元\",\"海贼王\",\"鬼怪\",\"契约\",\"修士\",\"苍穹\",\"斗破苍穹\",\"经营流\",\"网游\",\"亡灵\",\"捡漏\",\"武侠\",\"成仙\",\"斗气\",\"杀手\",\"学生\",\"投资\",\"奇幻\",\"精英\",\"变异\",\"兄弟\",\"魔王\",\"龙珠\",\"病毒\",\"嫡女\",\"凡人\",\"风水\",\"巨龙\",\"文化\",\"杀戮\",\"科举\",\"仙界\",\"斩妖\",\"转生\",\"官场\",\"智商在线\",\"红楼\",\"无CP\",\"快节奏\",\"将军\",\"神王\",\"诛仙\",\"女尊\",\"妖兽\",\"生意\",\"修真界\",\"律师\",\"抗战\",\"复仇\",\"赌石\",\"失忆\",\"旅行\",\"权谋\",\"探险\",\"征战\",\"成熟\",\"替身\",\"仙子\",\"相亲\",\"情绪\",\"企业\",\"家长里短\",\"远古\",\"战场\",\"幻想\",\"神印\",\"思路清奇\",\"女强\",\"美男\",\"魔尊\",\"民国\",\"破苍穹\",\"领主流\",\"警察\",\"价值\",\"建造\",\"刑侦\",\"幕后流\",\"创业\",\"命运\",\"仙女\",\"脑洞\",\"脑洞大\",\"反套路\",\"希望\",\"小白\",\"随身\",\"萌宝\",\"扮猪吃虎\",\"神仙\",\"斗争\",\"监狱\",\"豪门\",\"万古\",\"惊悚\",\"温馨\",\"朋友\",\"魔法世界\",\"附身\",\"美少女\",\"灵异\",\"情深\",\"魔道\",\"神灵\",\"乞丐\",\"商界\",\"团队\",\"鸿蒙\",\"阎罗\",\"审判\",\"智斗\",\"旅程\",\"都市生活\",\"开天\",\"时空穿梭\",\"大荒\",\"HE\",\"皇宫\",\"平等\",\"魔女\",\"佣兵\",\"战斗\",\"农村\",\"总裁\",\"魔兽\",\"黑化\",\"感情\",\"杀神\",\"科幻\",\"武神\",\"诗词\",\"算命\",\"预言\",\"先知\",\"吃货\",\"卡片\",\"称霸\",\"全能\",\"冷漠\",\"虐文\",\"邪恶\",\"布局流\",\"剑道\",\"阴谋\",\"仙侠\",\"仙人\",\"架空历史\",\"战国\",\"养生\",\"御兽流\",\"时空门\",\"丹药\",\"汉末\",\"经商\",\"艺术\",\"罪恶\",\"知识\",\"从零开始\",\"经济\",\"西游\",\"美国\",\"革命\",\"深宫\",\"明末\",\"书生\",\"机器人\",\"炼丹\",\"剑与魔法\",\"可爱\",\"伤害\",\"陨石\",\"老板\",\"雇佣兵\",\"士兵\",\"执行\",\"战神\",\"萝莉\",\"超能力\",\"白色\",\"东方玄幻\",\"女婿\",\"古玩\",\"女鬼\",\"武林\",\"第四天灾\",\"商人\",\"办公室\",\"锦衣卫\",\"好好学习\",\"聊天群\",\"等级\",\"高手\",\"妹控\",\"暗黑\",\"契约婚姻\",\"权力\",\"小三\",\"妖精\",\"永生\",\"富二代\",\"宅男\",\"九天\",\"软饭\",\"妖族\",\"科学家\",\"医道\",\"对战\",\"僵尸\",\"快乐\",\"大学生\",\"独宠\",\"毒舌\",\"LOL\",\"互换\",\"玩家\",\"技术流\",\"铁血\",\"吸血鬼\",\"家庭\",\"事业\",\"足球\",\"斗智\",\"异世穿越\",\"至尊王者\",\"特种兵\",\"种田文\",\"精灵鬼怪\",\"考古\",\"沙漠\",\"战役\",\"文学\",\"悬疑\",\"王道\",\"院长\",\"刑警\",\"智慧\",\"精灵文\",\"江湖恩怨\",\"乾坤\",\"神力\",\"秦汉三国\",\"皇后\",\"收藏\",\"天元大陆\",\"异兽流\",\"谎言\",\"黑科技\",\"主宰\",\"炼金术\",\"设计师\",\"冷静\",\"竞争\",\"军人\",\"船长\",\"逆天系统\",\"御姐\",\"超自然\",\"配角逆袭\",\"霸道\",\"闪婚\",\"极道流\",\"爱情\",\"恶鬼\",\"女医\",\"大汉\",\"巫师流\",\"朝堂\",\"改变命运\",\"萌宠\",\"李世民\",\"农民\",\"古典仙侠\",\"阵法\",\"火影忍者\",\"隐婚\",\"卡牌\",\"诡秘\",\"跌宕\",\"硬汉\",\"操控\",\"霸气\",\"赘婿\",\"反恐\",\"女孩\",\"谋略\",\"神界\",\"视频流\",\"明朝\",\"中学\",\"感动\",\"笔记\",\"驱魔\",\"狐狸\",\"亲情\",\"直播文\",\"学院流\",\"剑客\",\"无金手指\",\"体育\",\"兽人\",\"决斗\",\"军旅\",\"先婚后爱\",\"创世\"\n        ];\n  \n  // 排行榜类型\n  const rankTypes = [\n    {name: \"人气\", key: \"weekvisit\"},\n    {name: \"推荐\", key: \"allvote\"},\n    {name: \"新书\", key: \"newhot\"}\n  ];\n  \n  const statusTypes = [\n    {name: \"连载\", id: 0},\n    {name: \"全本\", id: 1}\n  ];\n  \n  let discovery = [];\n  \n  // 生成分类发现规则\n  categories.forEach(category => {\n    // 添加分类标题\n    discovery.push({\n      title: category.name,\n      url: \"\",\n      style: {layout_flexBasisPercent: 1, layout_flexGrow: 1}\n    });\n    \n    if (category.id === \"full\" || category.id === \"class\") {\n      // 完本小说和小说分类的子分类\n      subCategories.forEach(subCat => {\n        discovery.push({\n          title: subCat.name,\n          url: `/novels/${category.id}/${subCat.id}_{{page}}.html`,\n          style: {layout_flexBasisPercent: 0.24, layout_flexGrow: 0.32}\n        });\n      });\n      \n      // 如果是小说分类，后面添加排行榜\n      if (category.id === \"class\") {\n        subCategories.forEach(cat => {\n          // 添加分类标题\n          discovery.push({\n            title: `${cat.name}排行榜`,\n            url: \"\",\n            style: {layout_flexBasisPercent: 1, layout_flexGrow: 1}\n          });\n          \n          // 排行榜类型\n          statusTypes.forEach(status => {\n            rankTypes.forEach(rank => {\n              discovery.push({\n                title: `${rank.name}-${status.name}`,\n                url: `/novels/${rank.key}_${cat.id}_${status.id}_{{page}}.html`,\n                style: {layout_flexGrow: 1}\n              });\n            });\n          });\n        });\n      }\n    } else if (category.id === \"tag\") {\n      // 热门标签\n      hotTags.forEach(tag => {\n        discovery.push({\n          title: tag,\n          url: `/newtag/${tag}/{{page}}`,\n          style: {layout_flexBasisPercent: 0.24, layout_flexGrow: 0.32}\n        });\n      });\n    }\n  });\n  \n  // 最近更新\n  discovery.push({\n    title: \"最近更新\",\n    url: \"/last\",\n    style: {layout_flexBasisPercent: 1, layout_flexGrow: 1}\n  });\n  \n  return JSON.stringify(discovery);\n}\n\ngenerateDiscovery();",
    "header": "@js:\nJSON.stringify({\n\t\t\"X-Requested-With\": \"mark.via\",\n\t\t\"Cache-Control\":\"no-cache\",\n\"Accept-Language\": \"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\",\n\"User-Agent\": java.getWebViewUA()\n})",
    "lastUpdateTime": 1768987631752,
    "loginCheckJs": " var resultUrl = result.url();\n var resultCode = result.code();\n var resultBoDy = result.body();\n if (/_cf_|ge_ua|verify.php/ig.test(resultBoDy) && resultCode >= 403) {\n     if (key) {\n         url = baseUrl + java.ruleUrl;\n     }\n     cookie.removeCookie(baseUrl)\n     result = java.startBrowserAwait(resultUrl, \n     \t\"验证\", false);\n     \t    if (key) {\n        url = org.jsoup.Jsoup.parse(result.body())\n            .select('meta[property=\"og:url\"]').attr('content') || url;\n    }\n}\nresult;",
    "respondTime": 3095,
    "ruleBookInfo": {
      "author": "@get:{a}",
      "coverUrl": "@get:{c}",
      "init": "<js>java.setContent(java.t2s(result))</js>\n@put:{\n\"n\":\"[property$=book_name]@content\",\n\"a\":\"[property$=author]@content\",\n\"k\":\"[property~=category|status|update_time]@content\",\n\"l\":\"[property~=las?test_chapter_name]@content\",\n\"i\":\"[property$=description]@content\",\n\"c\":\"[property$=image]@content\",\n\"m\":\"ul.infolist > li.0@textNodes\",\n\"g\":\"head > script@all##tags: '(.*?)'##$1###\",\n\"x\":\".infolist@text\",\n\"h\":\".review-item@html\"}\n@js:\n//修复书籍重定向目录加载失败\nbook.bookUrl = baseUrl;\nresult; //设置当前url，并返回结果",
      "intro": "📝简介：@get:{x}\n@get:{i}\n&nbsp;&nbsp;\n📝书评：@get:{h}##<a.*?a>|字数",
      "kind": "@get:{g}@get:{k}",
      "lastChapter": "@get:{l}",
      "name": "@get:{n}",
      "tocUrl": "{{baseUrl.replace(/book/, \n\t\"ajax_novels/chapterlist\")}}",
      "wordCount": "@get:{m}"
    },
    "ruleContent": {
      "content": "#txtcontent@html\n@js:\ncontent = java.t2s(result)\n//java.log(content)\ncontent",
      "replaceRegex": "##[\\p{Emoji}\\p{So}]|[^\\p{L}\\p{N}\\s.,!?;':\\-()...（）【】、；：“”‘’《》…·〈〉￥，。？！〔〕［］｀〖〗『』「」——]|.*(第[^，。]+章|谢[^，。]+打赏|[首发更新最快]{3,}|本章完|补更|追读|加更|月票|章节|求票|本站域名).*\\n?|.*[6六陆].*?[9九玖].*?[书書].*?[吧].*"
    },
    "ruleExplore": {
      "author": "label.0@text",
      "bookList": "<js>java.t2s(result)</js>\n#article_list_content@li||.recentupdate2@li||.tag@ul",
      "bookUrl": "a@href",
      "coverUrl": "img@data-src||img@src",
      "intro": "ol.ellipsis_2@text",
      "kind": "label.1:2@text||span@text",
      "lastChapter": ".zxzj@p@a@text||a.1@text",
      "name": "h3@a@text||a.0@text"
    },
    "ruleSearch": {
      "author": "label.0@text",
      "bookList": "<js>java.t2s(result)</js>\n#article_list_content@li||.recentupdate2@li||.tag@ul",
      "bookUrl": "a@href",
      "coverUrl": "img@data-src||img@src",
      "intro": "ol.ellipsis_2@text",
      "kind": "label.1:2@text",
      "lastChapter": ".zxzj@p@a@text||a.1@text",
      "name": "h3@a@text||a.0@text"
    },
    "ruleToc": {
      "chapterList": "<js>java.t2s(result)</js>\nul a",
      "chapterName": "text",
      "chapterUrl": "href",
      "preUpdateJs": "java.refreshTocUrl()"
    },
    "searchUrl": "@js:\nvar url;\nif (/^\\d+$/.test(key)) {\n  // ID 模式\n  url = baseUrl + \"book/\" + key + \".html\";\n} else if (/.*\\.html$/.test(key)) {\n  // HTML 模式\n  url = baseUrl + \"book/\" + key;\n} else if (/^[a-zA-Z][\\u4e00-\\u9fa5]+$/.test(key)) {\n  // 单字母中文标签模式(如：a穿越,g穿越...)\n  var cPart = key.substring(1);\n  url = baseUrl + \"newtag/\" + encodeURIComponent(cPart) + \"/\" + page;\n} else {\n  // 默认搜索模式\n  url = baseUrl + \"search/\" + key + \"/\" + page + \".html\";\n}",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "猫眼看书",
    "bookSourceType": 0,
    "bookSourceUrl": "http://api.lemiyigou.com",
    "customOrder": 6,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "[\n{\"title\": \"男频榜单\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"必读榜\",\"url\": \"/module/rank?type=1&channel=1&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"潜力榜\",\"url\": \"/module/rank?type=5&channel=1&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"完本榜\",\"url\": \"/module/rank?type=2&channel=1&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"更新榜\",\"url\": \"/module/rank?type=3&channel=1&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"搜索榜\",\"url\": \"/module/rank?type=4&channel=1&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"评论榜\",\"url\": \"/module/rank?type=6&channel=1&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"男频全部\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"玄幻\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=lejRej\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"武侠\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=nel5aK\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"都市\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=mbk5ez\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"仙侠\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=vbmOeY\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"军事\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=penRe7\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"历史\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=xbojag\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"游戏\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=mep2bM\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"科幻\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=zbq2dp\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"轻小说\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=YerEdO\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"男频完结\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"玄幻\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=lejRej&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"武侠\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=nel5aK&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"都市\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=mbk5ez&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"仙侠\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=vbmOeY&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"军事\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=penRe7&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"历史\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=xbojag&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"游戏\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=mep2bM&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"科幻\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=zbq2dp&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"轻小说\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=YerEdO&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"男频连载\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"玄幻\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=lejRej&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"武侠\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=nel5aK&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"都市\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=mbk5ez&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"仙侠\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=vbmOeY&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"军事\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=penRe7&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"历史\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=xbojag&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"游戏\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=mep2bM&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"科幻\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=zbq2dp&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"轻小说\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=YerEdO&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"女频榜单\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"必读榜\",\"url\": \"/module/rank?type=1&channel=2&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"潜力榜\",\"url\": \"/module/rank?type=5&channel=2&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"完本榜\",\"url\": \"/module/rank?type=2&channel=2&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"更新榜\",\"url\": \"/module/rank?type=3&channel=2&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"搜索榜\",\"url\": \"/module/rank?type=4&channel=2&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"评论榜\",\"url\": \"/module/rank?type=6&channel=2&page={{page}}\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"女频全部\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"现代言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=9avmeG\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"古代言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=DdwRb1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"幻想言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=7ax9by\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"青春校园\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=Pdy7aQ\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"唯美纯爱\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=kazYeJ\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"同人衍生\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=9aAOdv\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"女频完结\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"现代言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=9avmeG&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"古代言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=DdwRb1&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"幻想言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=7ax9by&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"青春校园\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=Pdy7aQ&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"唯美纯爱\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=kazYeJ&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"同人衍生\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=9aAOdv&isComplete=1\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"女频连载\",\"url\": \"\",\n\"style\": {\"layout_flexGrow\": 0,\n\"layout_flexBasisPercent\": 1\n}},\n{\"title\": \"现代言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=9avmeG&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"古代言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=DdwRb1&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"幻想言情\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=7ax9by&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"青春校园\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=Pdy7aQ&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"唯美纯爱\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=kazYeJ&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}},\n{\"title\": \"同人衍生\",\"url\": \"/novel?sort=1&page={{page}}&categoryId=9aAOdv&isComplete=0\",\n\"style\": {\"layout_flexGrow\": 1,\n\"layout_flexBasisPercent\": 0.29\n}}\n]",
    "header": "{\n'User-Agent': 'okhttp/4.9.2','client-device': '2d37f6b5b6b2605373092c3dc65a3b39','client-brand': 'Redmi','client-version': '2.3.0','client-name': 'app.maoyankanshu.novel','client-source': 'android','Authorization': 'bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuanhndHp4Yy5jb21cL2F1dGhcL3RoaXJkIiwiaWF0IjoxNjgzODkxNjUyLCJleHAiOjE3NzcyMDM2NTIsIm5iZiI6MTY4Mzg5MTY1MiwianRpIjoiR2JxWmI4bGZkbTVLYzBIViIsInN1YiI6Njg3ODYyLCJwcnYiOiJhMWNiMDM3MTgwMjk2YzZhMTkzOGVmMzBiNDM3OTQ2NzJkZDAxNmM1In0.mMxaC2SVyZKyjC6rdUqFVv5d9w_X36o0AdKD7szvE_Q'\n}",
    "lastUpdateTime": 1768987772406,
    "respondTime": 15502,
    "ruleBookInfo": {
      "author": "$.authorName",
      "coverUrl": "$..cover",
      "init": "$.data",
      "intro": "$..summary##(^|[。！？]+[”」）】]?)##$1<br>",
      "kind": "{{$.lastChapter.decTime}},{{$.averageScore}}分,{{$.className}},{{$..tagName}}",
      "lastChapter": "$.lastChapter.chapterName##正文卷.|正文.|VIP卷.|默认卷.|卷_|VIP章节.|免费章节.|章节目录.|最新章节.|[\\(（【].*?[求更票谢乐发订合补加架字修Kk].*?[】）\\)]",
      "name": "$.novelName",
      "tocUrl": "/novel/{{$.novelId}}/chapters?readNum=1",
      "wordCount": "$.wordNum"
    },
    "ruleContent": {
      "content": "$.content",
      "replaceRegex": "##一秒记住.*精彩阅读。|7017k"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": "$.authorName",
      "bookList": "$.data[*]",
      "bookUrl": "/novel/{{$.novelId}}?isSearch=1",
      "coverUrl": "$.cover",
      "intro": "$.summary",
      "kind": "{{$..className}},{{$.averageScore}}分",
      "name": "$.novelName",
      "wordCount": "$.wordNum"
    },
    "ruleToc": {
      "chapterList": "$.data.list[*]",
      "chapterName": "$.chapterName##正文卷.|正文.|VIP卷.|默认卷.|卷_|VIP章节.|免费章节.|章节目录.|最新章节.|[\\(（【].*?[求更票谢乐发订合补加架字修Kk].*?[】）\\)]",
      "chapterUrl": "$.path@js:java.aesBase64DecodeToString(result,\"f041c49714d39908\",\"AES/CBC/PKCS5Padding\",\"0123456789abcdef\")",
      "updateTime": "{{$.updatedAt}} 字数：{{$.wordNum}}"
    },
    "searchUrl": "/search?page={{page}}&keyword={{key}}",
    "weight": 0
  },
  {
    "bookSourceComment": "2024.6.2\nby墨殇",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "八零小说",
    "bookSourceType": 0,
    "bookSourceUrl": "http://wap.80zw.la/",
    "bookUrlPattern": "http://wap.80zw.la/\\d+/",
    "customOrder": 7,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "[{\"title\":\"全本小说\",\"url\":\"/top/full-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"日点击榜\",\"url\":\"/top/dayvisit-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"周点击榜\",\"url\":\"/top/weekvisit-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"月点击榜\",\"url\":\"/top/monthvisit-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"总点击榜\",\"url\":\"/top/allvisit-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"总收藏榜\",\"url\":\"/top/goodnum-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"字数排行\",\"url\":\"/top/size-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"日推荐榜\",\"url\":\"/top/dayvote-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"周推荐榜\",\"url\":\"/top/weekvote-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"月推荐榜\",\"url\":\"/top/monthvote-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"总推荐榜\",\"url\":\"/top/allvote-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"最新入库\",\"url\":\"/top/postdate-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"最近更新\",\"url\":\"/top/lastupdate-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"男生分类推荐\",\"url\":\"\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":1.00}},{\"title\":\"修真\",\"url\":\"/class3-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"魔法\",\"url\":\"/class13-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"异术\",\"url\":\"/class1-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"东方\",\"url\":\"/class12-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"争霸\",\"url\":\"/class14-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"武侠\",\"url\":\"/class15-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"未来\",\"url\":\"/class9-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"灵异\",\"url\":\"/class10-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"探险\",\"url\":\"/class22-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"传记\",\"url\":\"/class6-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"特种\",\"url\":\"/class7-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"网游\",\"url\":\"/class16-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"竞技\",\"url\":\"/class8-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"女生分类推荐\",\"url\":\"\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":1.00}},{\"title\":\"女强\",\"url\":\"/class2-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"婚姻\",\"url\":\"/class4-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"百合\",\"url\":\"/class5-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"唯美\",\"url\":\"/class24-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"穿越\",\"url\":\"/class17-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"贵族\",\"url\":\"/class18-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"校园\",\"url\":\"/class19-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"布衣\",\"url\":\"/class20-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"商战\",\"url\":\"/class21-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"间谍\",\"url\":\"/class23-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"同人\",\"url\":\"/class11-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"文集\",\"url\":\"/class25-{{page}}.html\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}}]",
    "lastUpdateTime": 1768988082113,
    "respondTime": 7701,
    "ruleBookInfo": {
      "author": "text.作者@text##作者：",
      "coverUrl": "img@src",
      "intro": ".intro_info@text##最新章节推荐地址.*",
      "kind": "text.分类@text##分类：",
      "lastChapter": "p.-1@text",
      "name": "a.1@text",
      "tocUrl": "text.查看更多章节@href",
      "wordCount": "p[-2:-3]@text"
    },
    "ruleContent": {
      "content": "#nr1@html",
      "nextContentUrl": "text.下一页@href",
      "replaceRegex": "##求书网.*|txt下载.*"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": "ownText##.*\\/",
      "bookList": ".line",
      "bookUrl": "a@href",
      "coverUrl": "a@href##/((\\d+)\\d{3})/##http://wap.80zw.la/$2/$1/$1s.jpg",
      "kind": "ownText##\\[|\\].*",
      "name": "a@text"
    },
    "ruleToc": {
      "chapterList": "dl dd a",
      "chapterName": "text",
      "chapterUrl": "href",
      "nextTocUrl": "option@value||text.下一页@href"
    },
    "searchUrl": "/modules/article/search.php,{\n  \"body\": \"searchkey={{key}}\",\n  \"charset\": \"UTF-8\",\n  \"method\": \"POST\"\n}",
    "weight": 0
  },
  {
    "bookSourceComment": "/*\n\t作者：明月照大江\n\t提醒：此书源为免费制作并分享\n\t更新地址：https://skybook.pages.dev\n*/",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "🌙 69书吧-HD",
    "bookSourceType": 0,
    "bookSourceUrl": "69-明月",
    "customOrder": 8,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "全部分类::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/0_{{page}}.html\")\n玄幻奇幻::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/1_{{page}}.html\")\n武侠仙侠::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/2_{{page}}.html\")\n现代都市::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/3_{{page}}.html\")\n历史军事::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/4_{{page}}.html\")\n科幻小说::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/5_{{page}}.html\")\n游戏竞技::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/6_{{page}}.html\")\n恐怖灵异::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/7_{{page}}.html\")\n言情小说::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/8_{{page}}.html\")\n动漫同人::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/9_{{page}}.html\")\n其他类型::@js:buildRequest(\"https://skybook.mgz.la/69/novels/class/10_{{page}}.html\")",
    "jsLib": "{\"utils\":\"https://skybook.legado1.top/js/utils.js?v=010\"}",
    "lastUpdateTime": 1769064603030,
    "loginUi": "[\n{\"name\":\"查询用量\",\"type\":\"button\",\"action\":\"getLimit(\\\"/69/content\\\")\"}\n]",
    "loginUrl": "function login() {}",
    "respondTime": 180000,
    "ruleBookInfo": {
      "coverUrl": "@js:\n(() => {\n  if (String(book.coverUrl || \"\")) return\n  let html = java.get(\"detail\")\n  // let img = String(java.getString(\"$.img\", html))\n  // if (img) return desc\n\n  let books = Array.from(\n   org.jsoup.Jsoup.parse(html).select(\".res-book-item\")\n  );\n  let item = books.find(x => {\n    let title = java.getString(\"h3@text\", x)\n    return title == book.name\n  })\n\n  if (item) return java.getString(\"a > img@src\",item)\n})()",
      "init": "@js:\nif (String(book.name) && (!String(book.intro) || !book.coverUrl)) {\n  let u = `https://www.qidian.com/so/${book.name}.html`\n  let html = java.ajax(u);//java.log(html)\n  if (/fffffffffffffffffff/.test(html)) {\n    java.webView(null, u, \"document.cookie\")\n    java.log(\"已更新cookie\")\n    html = java.ajax(u)\n  }\n  java.put(\"detail\", html)\n}; result",
      "intro": "@js:\n(() => {\n  if (String(book.intro || \"\")) return\n  let html = java.get(\"detail\")\n  // let desc = String(java.getString(\"$.description\", html))\n  // if (desc) return desc\n\n  let books = Array.from(\n   org.jsoup.Jsoup.parse(html).select(\".res-book-item\")\n  );\n  let item = books.find(x => {\n    let title = java.getString(\"h3@text\", x)\n    return title == book.name\n  })\n\n  if (item) return java.getString(\".intro@text\",item)\n})()"
    },
    "ruleContent": {
      "content": "@js:;(function od(oS,hb,xo,hk,Bq,bx,xw,ob,xy,wy,Bd){function ky(oG,oo){var oh=oG^oo,BS=hb[oh],xx=66666-oh,kb=[],bB=Bd[xx];if(bB!==\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)return bB;for(var By=0;By<BS.\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068;)xw(kb,BS[By]-By++-oo);return Bd[xx]=xy(kb);}(function wC(oC,BG,wd,xB,So){BG=BG||[],wd=wd||[],xB=xB||[];for(var Ey=wd.\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068,kz,Cb;Cb=oS[oC++];)if(33>--Cb){if(9>Cb)6<Cb&&(Cb-->7&&(wd[Ey++-2]=wd[++Ey-++Cb+4]instanceof wd[Ey-=3],{})||(wd[Ey+ ++Cb-12]=bx(wd[++Ey+--Cb-11])(wd[Ey-- - --Cb-1],wd[Ey++ +Cb-8],wd[--Ey-++Cb+4],wd[(Ey-=4)-Cb++ +9])()),!0)||(3>Cb++||((5>--Cb||(Cb>5&&(wd[Ey+Cb-- -8]|=wd[--Ey-Cb++ +(\" \",5)],!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(wd[Ey- --Cb+2]=xo[wd[(Ey-=Cb)+2]]=wd[(Ey+=3)-Cb++ +4]),null))&&(Cb-->3||(wd[Ey-Cb++]-=wd[Ey-- -Cb+2],![]))&&(wd[Ey-Cb--+1]=xo[wd[Ey-=Cb++]]=wd[++Ey]),false))&&(Cb>2||(Cb>1&&(wd[Ey++ +Cb-8]=new(bx(wd[Ey--+Cb-- -9],null,wd[(Ey+=Cb--)-6],wd[--Ey-Cb++-4],wd[Ey-- -(\" \",3)],wd[Ey++ +Cb-- -2],wd[(Ey-=5)+4])())(),!\"\")||(wd[Ey++ +--Cb]=wd[Ey-2]),void 0))&&(wd[(Ey-=2)-++Cb+4]=wd[Ey-Cb--+4]instanceof wd[Ey++ + ++Cb-3]);else if(17>Cb){if(15<Cb)wd[Ey++-3]=wd[--Ey-Cb++ +13][wd[--Ey+--Cb-17]]=wd[Ey--+Cb-- -16];else if(Cb>13){if(15>Cb)wd[(Ey+=40)-41]=wd[(Ey-=40)+Cb-(\" \",15)][oS[oC++]-(-Cb++ +45999+oC)];else return wd[Ey++- --Cb+(\" \",13)];}else Cb>11&&(Cb>12&&(wd[(Ey-=++Cb)+13]=!wd[(Ey+=14)-1],true)||(xo[wd[++Ey-2]]=wd[(Ey+=34)-38].\\u0073\\u006c\\u0069\\u0063\\u0065(wd[(Ey+=Cb--)-49],wd[(Ey-=50)- --Cb+10].\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068)),1)||(10>Cb||((Cb>10||(wd[++Ey-Cb++ +(\" \",9)]=!1,0))&&(wd[Ey++-Cb+11]=true),!true))&&(wd[--Ey+1]=wd[(Ey+=2)-Cb--+6]);}else(23<--Cb||(Cb>22&&(wd[++Ey-++Cb+23]=\\u0063\\u0069\\u006e\\u0066\\u006f,!\"\")||(Cb-->20||(18>Cb&&(16>Cb&&(wd[Ey++ +Cb-15]=wd[Ey-2],!null)||(16<Cb||(wd[Ey++-Cb++ +16]=null,null))&&(wd[Ey++ +Cb-- -18]=\\u0072\\u0065\\u0073\\u0075\\u006c\\u0074=wd[--Ey-Cb++ +15]),!0)||(Cb>18||(wd[++Ey-Cb--+17]={},![]))&&(wd[Ey++ +Cb-19]=\\u0072\\u0065\\u0073\\u0075\\u006c\\u0074),![]))&&(20<Cb--&&(wd[Ey++-Cb++ +18]=wd[(Ey+=++Cb)-25]<wd[(Ey-=24)+--Cb-21],!\"\")||(wd[++Ey+Cb-20]=\\u0072\\u0061\\u0074\\u0065\\u004c\\u0069\\u006d\\u0069\\u0074)),\"\"))&&(31<++Cb||(28>Cb&&((Cb<26||(27>Cb&&(wd[Ey-1]=new wd[Ey+Cb-- -(\" \",27)](),[])||(wd[(Ey+=Cb)-28]=\\u0062\\u0069\\u0064=wd[(Ey-=27)-Cb+26]),0))&&(wd[++Ey- --Cb+23]=\\u0063\\u0069\\u0064),!null)||(Cb>29||(Cb++<29&&(wd[++Ey-3]|=wd[(Ey-=2)+Cb++-29],!false)||(wd[++Ey+--Cb-32]=typeof wd[++Ey+Cb-- -32]===\"string\"?wd[Ey--+Cb++-32].\\u0063\\u006f\\u006e\\u0063\\u0061\\u0074(wd[(Ey-=2)+Cb-29].\\u0073\\u0070\\u006c\\u0069\\u0074(\"\")):wd[(Ey+=++Cb)-33].\\u0063\\u006f\\u006e\\u0063\\u0061\\u0074(wd[(Ey-=32)-Cb++ +29])),0))&&(31>Cb&&(wd[Ey++ +--Cb-29]=\\u0062\\u0075\\u0069\\u006c\\u0064\\u0052\\u0065\\u0071\\u0075\\u0065\\u0073\\u0074,{})||(wd[(Ey+=Cb)-32]=wd[(Ey-=31)+--Cb-31][ky(oS[oC++]^-++Cb+30460+oC,oS[oC++]^Cb++ +20913+oC)])),\"\"))&&(wd[(Ey+=117)+--Cb-(\" \",149)]=\\u0063\\u0069\\u0064=wd[(Ey-=117)+--Cb-31]);}else 66>++Cb&&(Cb>58&&(62<Cb&&((64>Cb||((66>++Cb||(wd[Ey-Cb++ +64]&=wd[--Ey- --Cb+66],!{}))&&wy(wd[++Ey+Cb-69],wd[Ey--+ ++Cb-69],{\\u0073\\u0065\\u0074:wd[(Ey-=3)-Cb+68],\\u0063\\u006f\\u006e\\u0066\\u0069\\u0067\\u0075\\u0072\\u0061\\u0062\\u006c\\u0065:!0,\\u0065\\u006e\\u0075\\u006d\\u0065\\u0072\\u0061\\u0062\\u006c\\u0065:!0}),\"\"))&&(wd[Ey-- -2]=bx(wd[Ey-Cb++ +63])(wd[Ey+Cb++-65])(ky(oS[oC++]^-Cb+50588+oC,oS[oC++]^Cb+(\" \",6187)+oC))),{})||Cb>61&&(wd[++Ey+--Cb-(\" \",64)]<<=wd[(Ey-=2)- --Cb+60],!\"\")||(61<++Cb||((++Cb<62||(wd[++Ey-3]=wd[--Ey- --Cb+59]==wd[Ey--+Cb-- -62],false))&&(wd[--Ey-Cb++ +60]=wd[Ey-1]>wd[Ey-Cb+(\" \",62)]),false))&&(wd[Ey++ +Cb-- -62]=\\u0072\\u0065\\u0073\\u0075\\u006c\\u0074),!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(Cb>50||((43>Cb||(Cb>49&&(wd[--Ey-++Cb+50].\\u0070\\u0075\\u0073\\u0068(wd[Ey+Cb-51]),[])||47<Cb&&(Cb<49&&(wd[Ey-- - --Cb+(\" \",47)]=wd[(Ey+=2)+Cb-51],true)||(wd[Ey-- -Cb+47]=Bq(wd[Ey],[wd[Ey+Cb-50],oS[oC++]-(681+oC)])()),!null)||(46>Cb||(46<Cb&&(wd[Ey- --Cb+38]=hk(wd[Ey++ +Cb-53],wd[(Ey-=Cb)+37],wd[Ey+ ++Cb-8],wd[--Ey+Cb-- -6],wd[--Ey- --Cb+88],wd[--Ey-++Cb+91],wd[--Ey+--Cb+2],wd[(Ey+=42)+ ++Cb-40])(),!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(wd[Ey++ +Cb-- -46]=\\u006a\\u0061\\u0076\\u0061),false))&&(++Cb>45&&(wd[Ey++ +--Cb-45]=!!0,[])||45>Cb&&(wd[Ey+Cb-- -45]/=oS[oC++]-(-Cb+21568+oC),!\"\")||(wd[Ey++-Cb++ +45]=oS[oC++]^+oC)),!{}))&&(Cb<37||((Cb<39||((41>Cb||(Cb>41&&(wd[++Ey-1]={},!\"\")||(wd[Ey--+Cb-- -44]=bx(wd[(Ey+=23)-Cb--+16],wd[++Ey- --Cb+12])()(wd[(Ey-=25)+Cb-37],ky(oS[oC++]^-Cb+8766+oC,oS[oC++]^Cb--+57005+oC))),null))&&(38<--Cb||(wd[--Ey- --Cb+(\" \",37)]=typeof wd[Ey++],!{}))&&(wd[(Ey-=Cb)+37]=wd[(Ey+=62)-Cb--+14]>=wd[(Ey-=24)-++Cb+39]),![]))&&(Cb>37||(wd[Ey++- --Cb+36]=wd[Ey- --Cb+33],![]))&&(wd[++Ey+Cb-39]=oS[oC++]-(Cb--+51272+oC)),!{}))&&(Cb>35||((Cb<35||(wd[Ey++-Cb++ +33]=wd[Ey++-Cb--+33]>wd[(Ey-=3)+Cb-35],0))&&(wd[++Ey-Cb--+33]=oS[oC++]^Cb--+oC),\"\"))&&(wd[(Ey+=++Cb)-37]=wd[(Ey-=36)-Cb++ +35]),!1))&&(57<Cb&&(wd[Ey+Cb-- -(\" \",60)]=wd[--Ey+Cb-58]>=wd[Ey],!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(54>Cb||((Cb>55||(++Cb<56&&(wd[oC++,Ey-- -Cb+54]&&(oC=oS[--oC]^31482+ ++oC),1)||(wd[Ey-Cb--+(\" \",54)]=wd[Ey++ +--Cb-56]>=wd[(Ey-=2)-Cb+54]),!{}))&&(56<Cb&&(wd[Ey+Cb++-59]=xo[wd[--Ey-Cb++ +57]]=wd[Ey],!false)||(wd[++Ey+Cb-57]=wd[Ey-++Cb+54])),![]))&&(++Cb>53||(Cb>52&&(wd[Ey-- -Cb--+52]=new(bx(wd[++Ey+Cb-53])())(),[])||(oC=oS[kz=oC,oC++]^++Cb+8955+oC),!true))&&(wd[Ey+Cb++-57]=Bq(wd[Ey--+Cb-57],[wd[Ey+Cb++-57],wd[--Ey+Cb-55]])())),!false)||98>Cb&&((90<Cb||((Cb>82||(74<Cb&&((Cb<78||((80>Cb||((Cb<82||(wd[Ey-1]=BG[wd[Ey+Cb++-83]],!true))&&(Cb>80||(wd[(Ey-=Cb++)+79]=\\u0063\\u0069\\u006e\\u0066\\u006f=wd[(Ey+=80)-Cb++ +(\" \",80)],\"\"))&&(xo[wd[Ey-- -Cb+80]]=wd[(Ey-=7)-Cb++ +86].\\u0073\\u006c\\u0069\\u0063\\u0065(wd[Ey+Cb++-76],wd[(Ey+=5)-Cb+83].\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068)),!1))&&(78<Cb&&(wy(wd[--Ey+--Cb-80],wd[--Ey+--Cb-77],{\\u0067\\u0065\\u0074:wd[--Ey+ ++Cb-76],\\u0063\\u006f\\u006e\\u0066\\u0069\\u0067\\u0075\\u0072\\u0061\\u0062\\u006c\\u0065:!0,\\u0065\\u006e\\u0075\\u006d\\u0065\\u0072\\u0061\\u0062\\u006c\\u0065:!0}),!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||wd.\\u0073\\u0070\\u006c\\u0069\\u0063\\u0065(Ey++ +--Cb-80,0,wd[Ey-2])),\"\"))&&(76>Cb&&(wy(wd[++Ey+Cb++-79],wd[(Ey+=Cb)-79],{\\u0073\\u0065\\u0074:wd[(Ey-=80)-Cb+(\" \",78)],\\u0063\\u006f\\u006e\\u0066\\u0069\\u0067\\u0075\\u0072\\u0061\\u0062\\u006c\\u0065:!0,\\u0065\\u006e\\u0075\\u006d\\u0065\\u0072\\u0061\\u0062\\u006c\\u0065:!0}),!null)||(Cb<77||(wd[++Ey-3]=delete wd[Ey++-3][wd[(Ey-=3)-Cb++ +77]],!true))&&function(){throw wd[(Ey-=2)-++Cb+78];}()),true)||(Cb>72||(70<Cb&&((Cb<72||(wd[(Ey-=Cb)+69]=xB[xB.\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068-wd[--Ey-Cb--+144]][wd[--Ey-Cb--+143]]=wd[(Ey+=72)-Cb--+69],!{}))&&(wd[(Ey+=++Cb)-74]>>=wd[(Ey-=73)+--Cb-71]),!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(++Cb<70||((71>Cb--||(wd[(Ey-=59)-Cb--+(\" \",125)]=new(hk(wd[--Ey- --Cb+124],null,wd[++Ey+Cb-12],wd[--Ey+ ++Cb-11],wd[(Ey+=57)+ ++Cb-68]))(),null))&&(wd[++Ey+Cb-72]=wd[--Ey-2]>=wd[Ey--+--Cb-69]),false))&&(Cb<68&&(wd[++Ey-Cb+66]=\\u0062\\u0069\\u0064,!null)||Cb>68&&(wd[++Ey-Cb++ +65]=bx(wd[(Ey+=109)- --Cb-43])(wd[Ey++ + ++Cb-183],wd[(Ey-=113)+--Cb-68])(),true)||(wd[(Ey-=Cb)+66]-=wd[(Ey+=67)-Cb++ +68])),0))&&(Cb<74&&(wd[Ey--+Cb++-80]=bx(wd[(Ey+=Cb)-79],wd[Ey-- -Cb-6],wd[++Ey-Cb++-4],wd[(Ey-=13)-Cb--+11],wd[++Ey+ ++Cb-139])(wd[++Ey- --Cb+10],wd[(Ey-=68)+Cb++-69])(),!0)||(wd[(Ey+=30)-Cb+42]=wd[Ey- --Cb+(\" \",41)][wd[(Ey-=31)-Cb++ +73]])),!{}))&&(85>--Cb||((88<Cb||(Cb<87&&(Cb>85&&(xo[wd[Ey++ +Cb++-87]]=wd[(Ey+=115)-++Cb-31].\\u0073\\u006c\\u0069\\u0063\\u0065(wd[Ey-- -Cb-- -30],wd[(Ey-=118)+--Cb-86].\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068),!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(wd[Ey++ +--Cb-90]=new wd[Ey-7](wd[Ey++ +Cb-- -90],wd[Ey++ +Cb-89],wd[(Ey+=14)+Cb-103],wd[(Ey+=12)+Cb++-114],wd[(Ey-=34)- --Cb+87])),!0)||Cb>87&&(wd[Ey++ +Cb++-88]=\\u004a\\u0053\\u004f\\u004e,!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(wd[(Ey-=79)+Cb-- -(\" \",14)]=new(Bq(wd[(Ey-=++Cb)+160],[null,wd[(Ey+=++Cb)+73],wd[Ey+74],wd[(Ey-=118)+--Cb+106],wd[Ey++-Cb+281],wd[(Ey+=190)+ ++Cb-84]]))()),false))&&Ey--,!{}))&&(83>Cb||(83<Cb&&(wd[--Ey+ ++Cb-85]=wd[Ey++ +Cb-- -85]==hb[oS[oC++]^-++Cb+49909+oC],{})||(wd[Ey++ +Cb-83]=!true),void 0))&&(wd[Ey-++Cb+81]=wd[Ey-- -Cb--+81]===wd[Ey-Cb--+82]),\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064))&&(Cb>94&&(Cb>96&&(BG[wd[(Ey+=125)- --Cb-30]]=wd[Ey++-Cb-(\" \",32)].\\u0073\\u006c\\u0069\\u0063\\u0065(wd[++Ey- --Cb-34],wd[(Ey-=130)-Cb--+95].\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068),1)||(95<Cb||(wd[(Ey-=Cb--)+94]=-wd[(Ey+=95)+ ++Cb-96],false))&&(wd[Ey-- -1]=!wd[++Ey-Cb++ +95]),!null)||++Cb>94&&(oC=wd[--Ey-++Cb+96],!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||Cb<94&&(Cb<93&&(wd[Ey++ + ++Cb-93]=ky(oS[oC++]^Cb++ +46024+oC,oS[oC++]^Cb--+42558+oC),{})||wy(wd[(Ey-=71)+Cb-- -25],wd[(Ey-=Cb--)+161],{\\u0067\\u0065\\u0074:wd[(Ey+=160)- --Cb+92],\\u0063\\u006f\\u006e\\u0066\\u0069\\u0067\\u0075\\u0072\\u0061\\u0062\\u006c\\u0065:!0,\\u0065\\u006e\\u0075\\u006d\\u0065\\u0072\\u0061\\u0062\\u006c\\u0065:!0}),1)||wd.\\u0073\\u0070\\u006c\\u0069\\u0063\\u0065((Ey+=--Cb)-96,0,wd[(Ey-=92)+--Cb-94])),true)||--Cb>118&&(Cb>125&&((127>Cb--||(wd[Ey-3]=xB[xB.\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068-wd[--Ey]][wd[--Ey-Cb++ +126]]=wd[Ey+Cb++-128],!true))&&(wd[Ey--+Cb-125]=wd[wd[--Ey+Cb++-122]=wd[Ey++-++Cb+(\" \",128)],(Ey+=3)+--Cb-130]),!null)||(Cb<122||((Cb<124||((124<Cb||(wd[(Ey+=--Cb)-125]=hk(wd[++Ey-Cb-2],wd[(Ey-=125)-Cb--+122])(),\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064))&&(oC=kz),\"\"))&&(122<Cb||(wd[(Ey-=110)-Cb--+230][wd[++Ey- --Cb+228]]=wd[(Ey+=106)-++Cb+121],![]))&&(wd[(Ey-=Cb--)+121]=new(Bq(wd[--Ey+Cb],(wd[Ey++ + ++Cb][0]=null,wd[(Ey+=122)-Cb+123])))()),!true))&&(120<Cb&&(wd[Ey++-Cb--+121]=oS[oC++]^Cb+oC,!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(121>++Cb||(function(){debugger;}(),\"\"))&&(wd[Ey+Cb-(\" \",122)]=new(Bq(wd[Ey--+Cb++-122],[null,wd[Ey]]))())),1)||111<Cb&&((115>++Cb||((Cb<116||((116<Cb||(wd[Ey++-Cb--+114]+=wd[(Ey-=2)+Cb-- -115],!{}))&&(--Cb>117&&(wd[Ey++]=[],1)||Cb>116&&(wd[Ey++-Cb--+114]=wd[++Ey-Cb++ +111][wd[Ey++-Cb++ +(\" \",113)]]=wd[(Ey-=5)+(\" \",1)],!\"\")||(wd[++Ey+Cb++-117]=![])),!true))&&(wd[Ey-- -Cb--+113]^=wd[Ey+--Cb-113]),false))&&(113<Cb&&(wd[++Ey-Cb+113]=hb[oS[oC++]],!0)||(xo[wd[(Ey+=--Cb)-113]]=wd[Ey++ +Cb-227].\\u0073\\u006c\\u0069\\u0063\\u0065(wd[++Ey-Cb++-4],wd[Ey-=117].\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068))),!\"\")||104<Cb&&((Cb>108||((Cb<107||((Cb>107||(wd[(Ey-=++Cb)+107]=void wd[(Ey+=108)- --Cb+106],!true))&&(wd[(Ey-=Cb)+104]=hk(wd[(Ey-=6)+111],wd[Ey--+110],wd[Ey++ + ++Cb+4],wd[(Ey+=111)+Cb-(\" \",107)])()),!true))&&(107>++Cb&&(wy(wd[Ey-Cb++ +103],wd[(Ey-=Cb)+105],{\\u0073\\u0065\\u0074:wd[(Ey+=104)+Cb++-(\" \",105)],\\u0063\\u006f\\u006e\\u0066\\u0069\\u0067\\u0075\\u0072\\u0061\\u0062\\u006c\\u0065:!0,\\u0065\\u006e\\u0075\\u006d\\u0065\\u0072\\u0061\\u0062\\u006c\\u0065:!0}),[])||wy(wd[Ey+Cb++-110],wd[++Ey+--Cb-110],{\\u0067\\u0065\\u0074:wd[(Ey-=4)-++Cb+(\" \",110)],\\u0063\\u006f\\u006e\\u0066\\u0069\\u0067\\u0075\\u0072\\u0061\\u0062\\u006c\\u0065:!0,\\u0065\\u006e\\u0075\\u006d\\u0065\\u0072\\u0061\\u0062\\u006c\\u0065:!0})),!{}))&&(Cb++<110||(Cb>111&&(wy(wd[--Ey-2],wd[Ey+Cb++-113],{\\u0067\\u0065\\u0074:wd[(Ey-=2)-Cb++ +115],\\u0063\\u006f\\u006e\\u0066\\u0069\\u0067\\u0075\\u0072\\u0061\\u0062\\u006c\\u0065:!0,\\u0065\\u006e\\u0075\\u006d\\u0065\\u0072\\u0061\\u0062\\u006c\\u0065:!0}),!0)||(oC=wd[kz=oC,--Ey- --Cb+110]),!true))&&(wd[(Ey+=8)+Cb-- -119]=typeof wd[(Ey-=8)-++Cb+(\" \",109)]),1)||103<Cb&&(xB[xB.\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068-wd[--Ey+Cb++-104]][wd[Ey--+Cb++-106]]=wd[++Ey+Cb++-109].\\u0073\\u006c\\u0069\\u0063\\u0065(wd[++Ey-++Cb+105],wd[(Ey-=4)-Cb--+108].\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068),!false)||(101<Cb||(99<Cb++&&((Cb<102||(wd[Ey--+Cb-- -102]=wd[(Ey+=2)-2],0))&&(wd[Ey++-Cb--+99]=xB[xB.\\u006c\\u0065\\u006e\\u0067\\u0074\\u0068-wd[Ey+--Cb-(\" \",101)]][wd[(Ey-=2)+Cb-- -(\" \",100)]]),!null)||Cb>99&&(wd[Ey-Cb--+98]=new(Bq(wd[Ey+Cb-- -101],(wd[--Ey+Cb-(\" \",98)][0]=null,wd[Ey+Cb-(\" \",98)])))(),[])||Cb>98&&(function(){throw wd[--Ey];}(),1)||(wd[(Ey-=24)+ ++Cb-(\" \",78)]=new wd[Ey-++Cb+121](wd[Ey++ +22],wd[(Ey+=21)+1])),void 0))&&(102<Cb&&(wd[Ey++]=hb[oS[oC++]],!\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064)||(wd[Ey++ +Cb-- -103]=!wd[Ey-- -Cb--+(\" \",99)]));})((\" \",0));})([19,23,49,4685,90,46,36,32,397,9905,61,53,18,32,53845,62808,63,43959,30375,80,90,38,51422,43,21638,85,49848,18,54,31545,90,51,8980,90,25,15,46022,28,90,25,15,46028,33,90,46,36,32,6817,16297,19,31,91,29847,26138,18,32,48288,39354,66,41,35920,28947,18,32,48296,39330,26,53,53,53,20,90,89,18,32,25071,17619,22,53,32,46611,37654,20,90,16],[[30675,30673,30693,30642,30676,30675,30688,30678,30680,30664,30692,30665,30699,30698,30690,30696,30690],[42283,42281,42278,42276,42288],[28423],1.0113636363636365,[28169,28179,28171,28195],[49456,49469,49470,49467,49471,49415,49405,49406,49475,49468,49483,49461,49475,49476,49473,49413,49477,49472,49492,49417,49480,49470,49421,49429,49433,49424,49477,49490,49490,49497,49483,49493,49500,49448,49484,49498,49499,49496,49485,49496,49492,49454],[52243,52256,52256,52246,52245,52265],[44584,44646,44652,44646,44662,44667,44653,44667,44649,44660,44656,44618],[5950,5936,5954,5956,5943],[49560,49558,49578,49560]],function(){return typeof \\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073===\"undefined\"&&(\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073=typeof \\u0077\\u0069\\u006e\\u0064\\u006f\\u0077===\"undefined\"?typeof \\u0067\\u006c\\u006f\\u0062\\u0061\\u006c!==\"undefined\"?\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c:this:\\u0077\\u0069\\u006e\\u0064\\u006f\\u0077),typeof \\u0065\\u0078\\u0070\\u006f\\u0072\\u0074\\u0073===\"undefined\"||(\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073.\\u0065\\u0078\\u0070\\u006f\\u0072\\u0074\\u0073=\\u0065\\u0078\\u0070\\u006f\\u0072\\u0074\\u0073),typeof \\u0072\\u0065\\u0071\\u0075\\u0069\\u0072\\u0065===\"undefined\"||(\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073.\\u0072\\u0065\\u0071\\u0075\\u0069\\u0072\\u0065=\\u0072\\u0065\\u0071\\u0075\\u0069\\u0072\\u0065),typeof \\u006d\\u006f\\u0064\\u0075\\u006c\\u0065===\"undefined\"||(\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073.\\u006d\\u006f\\u0064\\u0075\\u006c\\u0065=\\u006d\\u006f\\u0064\\u0075\\u006c\\u0065),typeof \\u005f\\u005f\\u0066\\u0069\\u006c\\u0065\\u006e\\u0061\\u006d\\u0065===\"undefined\"||(\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073.\\u005f\\u005f\\u0066\\u0069\\u006c\\u0065\\u006e\\u0061\\u006d\\u0065=\\u005f\\u005f\\u0066\\u0069\\u006c\\u0065\\u006e\\u0061\\u006d\\u0065),typeof \\u005f\\u005f\\u0064\\u0069\\u0072\\u006e\\u0061\\u006d\\u0065===\"undefined\"||(\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073.\\u005f\\u005f\\u0064\\u0069\\u0072\\u006e\\u0061\\u006d\\u0065=\\u005f\\u005f\\u0064\\u0069\\u0072\\u006e\\u0061\\u006d\\u0065),\\u0067\\u006c\\u006f\\u0062\\u0061\\u006c\\u0054\\u0068\\u0069\\u0073;}(),\\u004f\\u0062\\u006a\\u0065\\u0063\\u0074.\\u0063\\u0061\\u006c\\u006c.\\u0062\\u0069\\u006e\\u0064(\\u0041\\u0072\\u0072\\u0061\\u0079.\\u0062\\u0069\\u006e\\u0064),\\u0041\\u0072\\u0072\\u0061\\u0079.\\u0061\\u0070\\u0070\\u006c\\u0079.\\u0062\\u0069\\u006e\\u0064(\\u004e\\u0075\\u006d\\u0062\\u0065\\u0072.\\u0062\\u0069\\u006e\\u0064),\\u004e\\u0075\\u006d\\u0062\\u0065\\u0072.\\u0062\\u0069\\u006e\\u0064.\\u0062\\u0069\\u006e\\u0064(\\u004f\\u0062\\u006a\\u0065\\u0063\\u0074.\\u0062\\u0069\\u006e\\u0064),\\u004f\\u0062\\u006a\\u0065\\u0063\\u0074.\\u0063\\u0061\\u006c\\u006c.\\u0062\\u0069\\u006e\\u0064([].\\u0070\\u0075\\u0073\\u0068),\\u0041\\u0072\\u0072\\u0061\\u0079.\\u0063\\u0061\\u006c\\u006c.\\u0062\\u0069\\u006e\\u0064([].\\u0063\\u006f\\u006e\\u0063\\u0061\\u0074),\\u004e\\u0075\\u006d\\u0062\\u0065\\u0072.\\u0061\\u0070\\u0070\\u006c\\u0079.\\u0062\\u0069\\u006e\\u0064(\\u0053\\u0074\\u0072\\u0069\\u006e\\u0067.\\u0066\\u0072\\u006f\\u006d\\u0043\\u0068\\u0061\\u0072\\u0043\\u006f\\u0064\\u0065,null),\\u004f\\u0062\\u006a\\u0065\\u0063\\u0074.\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0050\\u0072\\u006f\\u0070\\u0065\\u0072\\u0074\\u0079,[]);t2s(result);",
      "replaceRegex": "##新..书吧|loadAdv\\(10,0\\);|^第.{0,8}章.*|\\(本章完\\)"
    },
    "ruleExplore": {
      "author": "label:nth-child(1)@text@js:t2s(result)",
      "bookList": "#article_list_content > li",
      "bookUrl": "h3 > a@href\n@js:\nbid = result.match(/\\/(\\d+)\\.html?/)[1];\n`data:;base64,${java.base64Encode(bid)},{\"type\":\"my69s\"}`",
      "coverUrl": "img@data-src##^https://69shux.co##https://skybook.mgz.la/69",
      "intro": ".ellipsis_2@html@js:t2s(result)",
      "name": "h3 > a@text@js:t2s(result)"
    },
    "ruleSearch": {
      "author": "$.author@js:t2s(result)",
      "bookList": "$.list",
      "bookUrl": "$.articleid\n@js:\n`data:;base64,${java.base64Encode(result)},{\"type\":\"my69s\"}`",
      "checkKeyWord": "兼程1995",
      "coverUrl": "$.imgUrl",
      "intro": "$.intro@js:t2s(result)",
      "kind": "$.keywords\n@js:for (var i = 0; i < result.size(); i++) {\n    result.set(i, t2s(result.get(i)));\n}\nresult;",
      "lastChapter": "$.lastchapter@js:t2s(result)",
      "name": "$.articlename@js:t2s(result)",
      "wordCount": "$.words@js:t2s(result)"
    },
    "ruleToc": {
      "chapterList": "<js>\nbid = java.base64Decode(baseUrl.split(\",\")[1])\njava.log(bid)\nresult = java.ajax(buildRequest(`https://skybook.mgz.la/69/catalog?book_id=${bid}`))\n\nJSON.parse(result).list.reduce((arr, item)=>{\n\t title = item.chaptername\n\t url = item.articleid + \"/\" + item.chapterid\n\t arr.push(JSON.stringify({\n\t \ttitle,\n\t \turl: `data:;base64,${java.base64Encode(url)},{\"type\":\"my69c\"}`\n\t \t}))\n\t \treturn arr\n}, [])\n</js>",
      "chapterName": "$.title@js:t2s(result)",
      "chapterUrl": "$.url"
    },
    "searchUrl": "@js:buildRequest(\"https://skybook.mgz.la/69/search?key={{key}}&page={{page}}\")",
    "variableComment": "使用了灵狐大佬的简繁转换函数",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "笔趣阁",
    "bookSourceType": 0,
    "bookSourceUrl": "https://www.zdzn.net",
    "customOrder": 9,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "lastUpdateTime": 1768883894399,
    "respondTime": 2343,
    "ruleBookInfo": {
      "author": "[property=\"og:novel:author\"]@content",
      "coverUrl": "[property=\"og:image\"]@content",
      "init": "",
      "intro": "[property=\"og:description\"]@content",
      "kind": "[property=\"og:novel:status\"]@content&&[property=\"og:novel:category\"]@content&&[property=\"og:novel:update_time\"]@content",
      "lastChapter": "[property$=\"chapter_name\"]@content",
      "name": "[property=\"og:novel:book_name\"]@content",
      "tocUrl": ""
    },
    "ruleContent": {
      "content": "#htmlContent@html"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": "$.author",
      "bookList": "$.data.search[*]",
      "bookUrl": "$.book_list_url",
      "checkKeyWord": "精灵",
      "coverUrl": "$.cover",
      "intro": "$.intro",
      "kind": "$.status_str&&$.cate_name&&$.uptime",
      "lastChapter": "$.latest_chapter_name",
      "name": "$.book_name"
    },
    "ruleToc": {
      "chapterList": "td.L a",
      "chapterName": "text",
      "chapterUrl": "href"
    },
    "searchUrl": "@js:\ncookie.removeCookie(source.getKey());\nurl = source.key+\"/api/search\";\n//解析网页script标签变量\nr = java.ajax(baseUrl);\n\nrr = java.ajax(source.key+\"/user/search.html?q=\"+key)\n\ns = rr.match(/var\\s\\w+\\s*=\\s*\"\\w+\";/g).join('');\neval(s);\nbd = {\n \"body\": `q=${key}&vw=${vw}&abw=${abw}&ru=${ru}&jrt=${jrt}&van=${van}&fw=${fw}&cwl=${cwl}&gpr=${gpr}&uyoo=${uyoo}&tz=${tz}&euu=${euu}&tsn=${tsn}&eju=${eju}&um=${um}&fp=${fp}&dvm=${dvm}&jpk=${jpk}&deblkx=${deblkx}&ht=${ht}&azy=${azy}&sna=${sna}&wqx=${wqx}&fpp=${fpp}&rup=${rup}&jwj=${jwj}&bgt=${bgt}&qp=${qp}&yf=${yf}&cw=${cw}&wq=${wq}&sign=${sign}`,\n \"method\": \"POST\"\n}\n\nurl + \",\" + JSON.stringify(bd);",
    "weight": 0
  },
  {
    "bookSourceComment": "24.12.31\n.replace(/xxchannel/,\"xxlist\")\n动态发现—源论坛无名",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "🍒休闲文学吧",
    "bookSourceType": 0,
    "bookSourceUrl": "https://www.xxwx8.com/",
    "customOrder": 10,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "exploreUrl": "@js:\n var result = [];\njava.toast(\"🔥动态获取发现中……\");\nvar push=(title,url,size)=>result.push({\n  \t\"title\": title,\n  \t\"url\": url,\n  \t\"style\": {\n   \"layout_flexGrow\": 1,\n   \"layout_flexBasisPercent\": size\n   }\n });\nvar fl = java.ajax(\"https://www.xxwx8.com/\");\nif (fl) {\na=org.jsoup.Jsoup.parse(fl).select(\".mav_3 a\");\npush(\"🍁分类🍁\",null,1)\npush(\"最近\",\"https://www.xxwx8.com/\",0.25)\n    for(var i=0;i<a.length;i++){\n        title=a[i].text()\n        url=a[i].attr(\"href\")\n        size=0.25;\n        url=url\n        url=String(url).replace(/.html/,\"_{{page}}.html\")\n        push(title,url,size)\n    };\n    \n    \n      } else { \n      java.toast(\"🚫发现获取失败……\");\n}\nJSON.stringify(result);",
    "lastUpdateTime": 1769448573216,
    "respondTime": 14444,
    "ruleBookInfo": {
      "author": ".nbs_1.0@a@text",
      "coverUrl": "img.4@src##^##https://www.xxwx8.com",
      "intro": "🕰  更新：\n{{@@table.0@tbody@tr@td.-1@text}}\n📜  简介：\n{{@@div.35@text##.*【内容简介】|【最新章节】.*}}##(^|[。！？……；]+[”」）】]?)##$1<br>",
      "kind": "{{@@.nbs_1.1@a@text}}\n{{@@table.0@tbody@tr@td.-1@text}}",
      "lastChapter": "{{@@table.0@tbody@tr@td.1@text##正文卷.|正文.|VIP卷.|默认卷.|卷_|VIP章节.|免费章节.|章节目录.|最新章节.|[\\(（【].*?[求含理更谢乐发推票盟补加字].*?[】）\\)]}}•{{@@table.0@tbody@tr@td.-1@text}}\n@js:result\n.replace(\"••\",\"\")\n.replace(/^(\\d+).第/,'第')\n.replace(/^(\\d+)[、．]第.+章/,'第$1章')\n.replace(/^(\\d+)、\\d+、/,'第$1章 ')\n.replace(/^(\\d+)、\\d+/,'第$1章')\n.replace(/^(\\d+)、/,'第$1章 ')\n.replace(/^(第.+章)\\s?第.+章/,'$1')\n.replace(/第\\s(.+)\\s章/,'第$1章')\n.replace(/.*(chapter|Chapter)\\s?(\\d+)\\s?/,'$1 $2 ')\n.replace(/\\(.+\\)/,'')\n.replace(/\\[|。/,'')\n.replace(/第([零一二两三四五六七八九十百千]+)章/g,java.toNumChapter(result))\n##(章)([^\\s]+)(\\s·)##$1 $2$3",
      "name": "h1@text",
      "tocUrl": "{{baseUrl}}##xxbook##xxchapter"
    },
    "ruleContent": {
      "content": ".ReadContents@html",
      "replaceRegex": "##{{book.name}}\\s.*|.*{{book.name}}目录.*"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": "td.1@a@text",
      "bookList": "table@tbody@tr!0",
      "bookUrl": "a.0@href",
      "checkKeyWord": "我的模拟长生路",
      "coverUrl": "a.0@href##xxbook\\/(.*)\\.html##https://www.xxwx8.com/images/xxid/$1.jpg###",
      "kind": "td.-1@text##\\/##-",
      "lastChapter": "{{@@td.-2@text##正文卷.|正文.|VIP卷.|默认卷.|卷_|VIP章节.|免费章节.|章节目录.|最新章节.|[\\(（【].*?[求含理更谢乐发推票盟补加字].*?[】）\\)]}}•{{@@td.-1@text}}\n@js:result\n.replace(\"••\",\"\")\n.replace(/^(\\d+).第/,'第')\n.replace(/\\//g,'-')\n.replace(/^(\\d+)[、．]第.+章/,'第$1章')\n.replace(/^(\\d+)、\\d+、/,'第$1章 ')\n.replace(/^(\\d+)、\\d+/,'第$1章')\n.replace(/^(\\d+)、/,'第$1章 ')\n.replace(/^(第.+章)\\s?第.+章/,'$1')\n.replace(/第\\s(.+)\\s章/,'第$1章')\n.replace(/.*(chapter|Chapter)\\s?(\\d+)\\s?/,'$1 $2 ')\n.replace(/\\(.+\\)/,'')\n.replace(/\\[|。/,'')\n.replace(/第([零一二两三四五六七八九十百千]+)章/g,java.toNumChapter(result))\n##(章)([^\\s]+)(\\s·)##$1 $2$3",
      "name": "td.0@a@text"
    },
    "ruleToc": {
      "chapterList": ".chapterlist@a",
      "chapterName": "text",
      "chapterUrl": "href"
    },
    "searchUrl": "https://www.xxwx8.com/xxlist/{{key}}_{{page}}.html",
    "weight": 0
  },
  {
    "bookSourceComment": "build 2025-11-6\n雨落星辰\n失效反馈：961955482",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "篱笆好文",
    "bookSourceType": 0,
    "bookSourceUrl": "https://m.libahao.com",
    "bookUrlPattern": "https://m.libahao.com/book/.+",
    "customOrder": 11,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "[{\"title\":\"首页\",\"url\":\"/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"玄幻魔法\",\"url\":\"/xuanhuan/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"武侠修真\",\"url\":\"/xiuzhen/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"都市言情\",\"url\":\"/dushi/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"历史军事\",\"url\":\"/lishi/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"游戏竞技\",\"url\":\"/wangyou/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"科幻灵异\",\"url\":\"/kehuan/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"女生言情\",\"url\":\"/nvpin/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"其他小说\",\"url\":\"/qita/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}}]",
    "header": "{\n   \"User-Agent\":\"Mozilla/5.0 (Linux; Android 15; V2243A Build/AP3A.240905.015.A2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.122 Mobile Safari/537.36\"\n  }",
    "lastUpdateTime": 1768883434831,
    "respondTime": 180000,
    "ruleBookInfo": {
      "author": "[property=\"og:novel:author\"]@content",
      "coverUrl": "img@src",
      "intro": "[property=\"og:description\"]@content",
      "kind": "[property~=category|status|update_time]@content",
      "lastChapter": "[property~=las?test_chapter_name]@content",
      "name": "[property=\"og:novel:book_name\"]@content",
      "tocUrl": "[property=\"og:novel:read_url\"]@content"
    },
    "ruleContent": {
      "content": ".chapter-content@html",
      "nextContentUrl": "text.下一页@href"
    },
    "ruleExplore": {
      "author": ".book-author@text",
      "bookList": ".book-item",
      "bookUrl": "href",
      "coverUrl": "img@src",
      "intro": ".book-description@text",
      "name": ".book-title@text"
    },
    "ruleSearch": {
      "author": ".book-author@text",
      "bookList": ".book-list a",
      "bookUrl": "a.0@href",
      "checkKeyWord": "你好",
      "coverUrl": "img@src",
      "intro": ".book-description@text",
      "name": ".book-title@text"
    },
    "ruleToc": {
      "chapterList": ".chapter-list.1@a",
      "chapterName": "text",
      "chapterUrl": "href"
    },
    "searchUrl": "https://m.libahao.com/sou?wd={{key}}",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "QQ阅读",
    "bookSourceType": 0,
    "bookSourceUrl": "bbnnfgh",
    "customOrder": 12,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "[{\"title\":\"　　　　　　 男频分类 　　　　　　\",\"url\":\"\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"　　　　　　 都市 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1505&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"都市生活\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1505&start={{page}}&count=20&sub=都市生活\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"异术超能\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1505&start={{page}}&count=20&sub=异术超能\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"娱乐明星\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1505&start={{page}}&count=20&sub=娱乐明星\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"商战职场\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1505&start={{page}}&count=20&sub=商战职场\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"青春校园\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1505&start={{page}}&count=20&sub=青春校园\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 玄幻 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1501&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"异世大陆\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1501&start={{page}}&count=20&sub=异世大陆\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"东方玄幻\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1501&start={{page}}&count=20&sub=东方玄幻\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"高武世界\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1501&start={{page}}&count=20&sub=高武世界\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"王朝争霸\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1501&start={{page}}&count=20&sub=王朝争霸\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 仙侠 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1504&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"幻想修仙\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1504&start={{page}}&count=20&sub=幻想修仙\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"神话修真\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1504&start={{page}}&count=20&sub=神话修真\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"古典仙侠\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1504&start={{page}}&count=20&sub=古典仙侠\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"修真文明\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1504&start={{page}}&count=20&sub=修真文明\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"现代修真\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1504&start={{page}}&count=20&sub=现代修真\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 奇幻 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1502&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"史诗奇幻\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1502&start={{page}}&count=20&sub=史诗奇幻\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"另类幻想\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1502&start={{page}}&count=20&sub=另类幻想\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"剑与魔法\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1502&start={{page}}&count=20&sub=剑与魔法\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"现代魔法\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1502&start={{page}}&count=20&sub=现代魔法\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"历史神话\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1502&start={{page}}&count=20&sub=历史神话\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 历史 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"架空历史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=架空历史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"秦汉三国\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=秦汉三国\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"两宋元明\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=两宋元明\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"两晋隋唐\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=两晋隋唐\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"历史传记\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=历史传记\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"上古先秦\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=上古先秦\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"清史民国\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=清史民国\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"外国历史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1506&start={{page}}&count=20&sub=外国历史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 军事 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1507&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"抗战烽火\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1507&start={{page}}&count=20&sub=抗战烽火\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"战争幻想\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1507&start={{page}}&count=20&sub=战争幻想\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"谍战特工\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1507&start={{page}}&count=20&sub=谍战特工\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"军旅生涯\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1507&start={{page}}&count=20&sub=军旅生涯\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"军事战争\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1507&start={{page}}&count=20&sub=军事战争\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 科幻空间 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"末世危机\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=末世危机\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"时空穿梭\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=时空穿梭\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"进化变异\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=进化变异\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"未来世界\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=未来世界\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"星际文明\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=星际文明\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"超级科技\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=超级科技\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"古武机甲\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1509&start={{page}}&count=20&sub=古武机甲\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 悬疑侦探 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1508&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"　　　　　　 游戏竞技 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1510&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"虚拟网游\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1510&start={{page}}&count=20&sub=虚拟网游\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"游戏异界\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1510&start={{page}}&count=20&sub=游戏异界\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"电子竞技\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1510&start={{page}}&count=20&sub=电子竞技\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"游戏系统\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1510&start={{page}}&count=20&sub=游戏系统\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"游戏主播\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1510&start={{page}}&count=20&sub=游戏主播\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 武侠 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1503&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"传统武侠\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1503&start={{page}}&count=20&sub=传统武侠\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"武侠幻想\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1503&start={{page}}&count=20&sub=武侠幻想\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"武侠同人\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1503&start={{page}}&count=20&sub=武侠同人\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"古武未来\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1503&start={{page}}&count=20&sub=古武未来\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"国术无双\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1503&start={{page}}&count=20&sub=国术无双\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 体育 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1511&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"篮球运动\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1511&start={{page}}&count=20&sub=篮球运动\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"足球运动\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1511&start={{page}}&count=20&sub=足球运动\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"体育赛事\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1511&start={{page}}&count=20&sub=体育赛事\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 轻小说 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1512&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"衍生同人\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1512&start={{page}}&count=20&sub=衍生同人\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"原生幻想\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1512&start={{page}}&count=20&sub=原生幻想\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"搞笑吐槽\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1512&start={{page}}&count=20&sub=搞笑吐槽\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 短篇 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"短篇小说\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=短篇小说\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"生活随笔\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=生活随笔\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"影视剧本\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=影视剧本\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"诗歌散文\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=诗歌散文\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"人物传记\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=人物传记\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"美文游记\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=美文游记\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"评论文集\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1515&start={{page}}&count=20&sub=评论文集\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 现实 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1499&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"现实百态\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1499&start={{page}}&count=20&sub=现实百态\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"爱情婚姻\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1499&start={{page}}&count=20&sub=爱情婚姻\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"成功励志\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1499&start={{page}}&count=20&sub=成功励志\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"社会乡土\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1499&start={{page}}&count=20&sub=社会乡土\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"青春文学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1499&start={{page}}&count=20&sub=青春文学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文学艺术\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1499&start={{page}}&count=20&sub=文学艺术\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 女频分类 　　　　　　\",\"url\":\"\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"　　　　　　 现代言情 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"婚恋情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=婚恋情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"豪门世家\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=豪门世家\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"都市生活\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=都市生活\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"娱乐明星\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=娱乐明星\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"都市异能\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=都市异能\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"商战职场\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=商战职场\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"民国情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=民国情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"官场沉浮\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1524&start={{page}}&count=20&sub=官场沉浮\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 古代言情 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"古典架空\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=古典架空\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"穿越奇情\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=穿越奇情\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"古代情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=古代情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"宫闱宅斗\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=宫闱宅斗\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"经商种田\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=经商种田\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女尊王朝\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=女尊王朝\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"热血江湖\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=热血江湖\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"上古蛮荒\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1523&start={{page}}&count=20&sub=上古蛮荒\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 悬疑侦探 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1518&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"推理侦探\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1518&start={{page}}&count=20&sub=推理侦探\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"悬疑探险\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1518&start={{page}}&count=20&sub=悬疑探险\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"神秘文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1518&start={{page}}&count=20&sub=神秘文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"恐怖惊悚\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1518&start={{page}}&count=20&sub=恐怖惊悚\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"幽冥情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1518&start={{page}}&count=20&sub=幽冥情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 仙侠奇缘 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1517&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"古典仙侠\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1517&start={{page}}&count=20&sub=古典仙侠\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"仙侣奇缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1517&start={{page}}&count=20&sub=仙侣奇缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"武侠情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1517&start={{page}}&count=20&sub=武侠情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"现代修真\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1517&start={{page}}&count=20&sub=现代修真\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"远古洪荒\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1517&start={{page}}&count=20&sub=远古洪荒\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 玄幻言情 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"东方玄幻\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=东方玄幻\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"异世大陆\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=异世大陆\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"魔法幻情\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=魔法幻情\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"异能超术\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=异能超术\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"异族恋情\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=异族恋情\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"西方奇幻\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=西方奇幻\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"远古神话\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1516&start={{page}}&count=20&sub=远古神话\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 浪漫青春 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1522&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"青春校园\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1522&start={{page}}&count=20&sub=青春校园\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"青春纯爱\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1522&start={{page}}&count=20&sub=青春纯爱\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"青春疼痛\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1522&start={{page}}&count=20&sub=青春疼痛\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"叛逆成长\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1522&start={{page}}&count=20&sub=叛逆成长\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 科幻空间 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"时空穿梭\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=时空穿梭\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"末世危机\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=末世危机\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"未来世界\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=未来世界\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"星际恋歌\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=星际恋歌\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"超级科技\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=超级科技\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"进化变异\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=进化变异\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"古武机甲\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1519&start={{page}}&count=20&sub=古武机甲\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 游戏竞技 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1520&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"网游情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1520&start={{page}}&count=20&sub=网游情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"电子竞技\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1520&start={{page}}&count=20&sub=电子竞技\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"游戏异界\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1520&start={{page}}&count=20&sub=游戏异界\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"体育竞技\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1520&start={{page}}&count=20&sub=体育竞技\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 纯爱 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1707&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"婚恋情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1707&start={{page}}&count=20&sub=婚恋情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"时空穿梭\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1707&start={{page}}&count=20&sub=时空穿梭\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"穿越奇情\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1707&start={{page}}&count=20&sub=穿越奇情\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"古典架空\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1707&start={{page}}&count=20&sub=古典架空\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"古代情缘\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1707&start={{page}}&count=20&sub=古代情缘\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"都市生活\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1707&start={{page}}&count=20&sub=都市生活\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 出版文学 　　　　　　\",\"url\":\"\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"　　　　　　 小说 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"社会\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=社会\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"情感\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=情感\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"侦探/悬疑/推理\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=侦探/悬疑/推理\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"作品集\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=作品集\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"历史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=历史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"科幻\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=科幻\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"武侠\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=武侠\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"世界名著\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1688&start={{page}}&count=20&sub=世界名著\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 励志 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"成功/激励\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=成功/激励\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"心灵与修养\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=心灵与修养\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"青少年励志\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=青少年励志\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"人际交往\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=人际交往\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"人生哲学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=人生哲学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"口才/演讲/辩论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=口才/演讲/辩论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"人在职场\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=人在职场\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女性励志\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1690&start={{page}}&count=20&sub=女性励志\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 心理 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"心理百科\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=心理百科\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"心理学经典著作\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=心理学经典著作\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"心理学入门\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=心理学入门\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"应用心理学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=应用心理学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"人格心理学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=人格心理学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"心灵疗愈\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=心灵疗愈\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"心理学理论与研究\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=心理学理论与研究\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"社会心理学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1466&start={{page}}&count=20&sub=社会心理学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 军事 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"武器装备\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=武器装备\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"军事理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=军事理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"世界军事\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=世界军事\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"军事文学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=军事文学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"军事史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=军事史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"经典军事著作\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=经典军事著作\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"战略战术战役\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=战略战术战役\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国军事\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1697&start={{page}}&count=20&sub=中国军事\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 政治 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"政治理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=政治理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"党政读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=党政读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国政治\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=中国政治\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"世界政治\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=世界政治\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"法律普及读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=法律普及读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"政治热点\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=政治热点\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"公共管理\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=公共管理\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"法律法规\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1464&start={{page}}&count=20&sub=法律法规\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 文学 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"中国现当代随笔\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=中国现当代随笔\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文集\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=文集\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国现当代诗歌\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=中国现当代诗歌\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"纪实文学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=纪实文学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文学评论与鉴赏\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=文学评论与鉴赏\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"名家作品\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=名家作品\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国古诗词\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=中国古诗词\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文学理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1692&start={{page}}&count=20&sub=文学理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 文化 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"文学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=文学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=中国文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文化史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=文化史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"地域文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=地域文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"民族文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=民族文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"艺术理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=艺术理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"国学普及读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=国学普及读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文化理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=文化理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 历史 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"历史普及读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=历史普及读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=中国史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"世界史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=世界史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"地方史志\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=地方史志\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"历史随笔\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=历史随笔\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文物考古\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=文物考古\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"史料典籍\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=史料典籍\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"史学理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1693&start={{page}}&count=20&sub=史学理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 社科 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"教育\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=教育\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"语言文字\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=语言文字\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"社会科学总论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=社会科学总论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"社会学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=社会学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"经典名家作品集\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=经典名家作品集\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"人类学/人口学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=人类学/人口学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"新闻传播出版\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=新闻传播出版\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"民族学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1691&start={{page}}&count=20&sub=民族学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 养生 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"健康百科\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=健康百科\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"饮食健康\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=饮食健康\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"常见病预防和治疗\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=常见病预防和治疗\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"药膳食疗\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=药膳食疗\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中医养生\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=中医养生\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女性/儿童\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=女性/儿童\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"心理健康\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=心理健康\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中老年养生\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1463&start={{page}}&count=20&sub=中老年养生\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 投资 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1704&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"理财技巧\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1704&start={{page}}&count=20&sub=理财技巧\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"女性理财\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1704&start={{page}}&count=20&sub=女性理财\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"证券/股票\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1704&start={{page}}&count=20&sub=证券/股票\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"投资指南\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1704&start={{page}}&count=20&sub=投资指南\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"外汇\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1704&start={{page}}&count=20&sub=外汇\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 经济 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"经济通俗读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=经济通俗读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"经济学理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=经济学理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"各部门经济\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=各部门经济\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国经济\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=中国经济\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"国际经济\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=国际经济\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"经济史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=经济史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"经济法\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=经济法\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"财政税收\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1703&start={{page}}&count=20&sub=财政税收\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 亲子 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"家教方法\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=家教方法\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"育儿/亲子\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=育儿/亲子\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"孕产知识\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=孕产知识\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"素质教育\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=素质教育\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"母婴喂养/护理\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=母婴喂养/护理\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"胎教/早教\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=胎教/早教\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"家教理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=家教理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"养育女孩\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1683&start={{page}}&count=20&sub=养育女孩\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 管理 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"一般管理学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=一般管理学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"市场/营销\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=市场/营销\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"企业与企业家\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=企业与企业家\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"金融/投资\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=金融/投资\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"电子商务\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=电子商务\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"会计/财务\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=会计/财务\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"商业史传\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=商业史传\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"战略管理\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1689&start={{page}}&count=20&sub=战略管理\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 两性 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1696&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"恋爱\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1696&start={{page}}&count=20&sub=恋爱\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"婚姻\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1696&start={{page}}&count=20&sub=婚姻\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"婚恋综合\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1696&start={{page}}&count=20&sub=婚恋综合\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"性知识\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1696&start={{page}}&count=20&sub=性知识\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 哲学 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"中国哲学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=中国哲学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"哲学知识读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=哲学知识读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"西方哲学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=西方哲学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"哲学经典著作\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=哲学经典著作\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"东方哲学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=东方哲学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"伦理学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=伦理学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"哲学理论与流派\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=哲学理论与流派\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"马克思哲学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1701&start={{page}}&count=20&sub=马克思哲学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 宗教 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1702&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"佛教\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1702&start={{page}}&count=20&sub=佛教\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"宗教普及读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1702&start={{page}}&count=20&sub=宗教普及读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"道教\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1702&start={{page}}&count=20&sub=道教\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"宗教理论与概况\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1702&start={{page}}&count=20&sub=宗教理论与概况\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"伊斯兰教\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1702&start={{page}}&count=20&sub=伊斯兰教\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"宗教经典著作\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1702&start={{page}}&count=20&sub=宗教经典著作\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 传记 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"人物合集\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=人物合集\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"历史人物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=历史人物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"财经人物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=财经人物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"政治人物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=政治人物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文学家\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=文学家\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"历代帝王\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=历代帝王\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"其他\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=其他\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"科学家\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1695&start={{page}}&count=20&sub=科学家\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 科普 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"百科知识\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=百科知识\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"科学世界\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=科学世界\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"人类故事\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=人类故事\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"宇宙知识\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=宇宙知识\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"生物世界\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=生物世界\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"生态环境\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=生态环境\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"神秘现象\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=神秘现象\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"数理化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1698&start={{page}}&count=20&sub=数理化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 自然 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"总论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=总论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"地球科学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=地球科学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"天文学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=天文学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"科技史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=科技史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"生物科学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=生物科学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"化学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=化学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"物理学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1706&start={{page}}&count=20&sub=物理学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 美食 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"家常菜谱\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=家常菜谱\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"药膳食疗\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=药膳食疗\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"地方美食\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=地方美食\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"茶酒饮料\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=茶酒饮料\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"烹饪理论/手册\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=烹饪理论/手册\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"饮食文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=饮食文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"西餐料理\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1705&start={{page}}&count=20&sub=西餐料理\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 休闲 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"幽默笑话\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=幽默笑话\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"旅游随笔\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=旅游随笔\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"宠物杂事\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=宠物杂事\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"游戏\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=游戏\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"家庭园艺\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=家庭园艺\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"户外探险\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=户外探险\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"国内自助旅游指南\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=国内自助旅游指南\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"车载户外\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1465&start={{page}}&count=20&sub=车载户外\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 艺术 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"文学\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=文学\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"中国文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=中国文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文化史\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=文化史\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"地域文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=地域文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"民族文化\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=民族文化\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"艺术理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=艺术理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"国学普及读物\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=国学普及读物\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"文化理论\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1461&start={{page}}&count=20&sub=文化理论\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"　　　　　　 时尚 　　　　　　\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=\",\"style\":{\"layout_flexBasisPercent\":1}},{\"title\":\"护肤/美容整形\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=护肤/美容整形\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"家事窍门\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=家事窍门\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"时尚\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=时尚\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"家装方法指导\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=家装方法指导\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"瘦身美体\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=瘦身美体\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"服饰搭配/配饰\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=服饰搭配/配饰\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"家装策略秘籍\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=家装策略秘籍\",\"style\":{\"layout_flexGrow\":1}},{\"title\":\"彩妆/美发/美甲\",\"url\":\"https://bookshelf.html5.qq.com/qbread/api/rank/list?groupid=1694&start={{page}}&count=20&sub=彩妆/美发/美甲\",\"style\":{\"layout_flexGrow\":1}}]",
    "header": "{\n\t\"user-agent\":\"Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36\",\n\t\"Referer\":\"https://bookshelf.html5.qq.com/qbread\"\n\t}",
    "lastUpdateTime": 1768832840029,
    "respondTime": 380,
    "ruleBookInfo": {
      "author": "$.author",
      "init": "$.data.bookInfo",
      "intro": "<p>{{(t=String(java.getString('$.tag'))).length?'🏷️ '+t.replace(/\\|/g,', '):''}}</p>{{'\\n&lrm;'}}\n<p>{{$.summary}}</p>",
      "kind": "{{$.userscore}}分\n{{$.subject}}\n{{java.getString('$.isfinish')=='true'?'已完结':'连载中'}}\n{{java.put('time',String(java.timeFormat(java.getString('$.lastUpdatetime')*1000)).replace(/\\//g,'-').replace(/\\s.*/,''))}}",
      "lastChapter": "{{$.lastSerialname}} • {{java.get('time')}}",
      "name": "$.resourceName",
      "tocUrl": "https://bookshelf.html5.qq.com/qbread/api/book/all-chapter?bookId={{$.resourceID}}",
      "wordCount": "$.contentsize"
    },
    "ruleContent": {
      "content": "<p>{{$.data.Content[0].Content}}</p>"
    },
    "ruleExplore": {
      "author": "$.author",
      "bookList": "$.rows[*]",
      "bookUrl": "https://bookshelf.html5.qq.com/qbread/api/novel/intro-info?bookid={{$.resourceID}}",
      "coverUrl": "$.picurl",
      "intro": "$.summary",
      "kind": "{{$.userscore}}分\n{{$.subject}}\n{{java.getString('$.isfinish')=='true'?'已完结':'连载中'}}\n{{String(java.timeFormat(java.getString('$.lastUpdatetime')*1000)).replace(/\\//g,'-').replace(/\\s.*/,'')}}",
      "lastChapter": "$.lastSerialname",
      "name": "$.resourceName##（.*",
      "wordCount": "$.contentsize"
    },
    "ruleSearch": {
      "author": "$.author",
      "bookList": "$.booklist[*]",
      "bookUrl": "$.bid\n<js>1100000000+parseInt(result)</js>\nhttps://bookshelf.html5.qq.com/qbread/api/novel/intro-info?bookid={{result}}",
      "checkKeyWord": "深空彼岸",
      "coverUrl": "$.bid\n@js:\nvar s = result\nfunction gt(s){\n\tlet a = s.slice(-3)\n\tif(a<10){\n\t\t\tn = s.slice(-1)\n\t\t}\n\telse if(a<100){\n\t\t\tn = s.slice(-2)\n\t\t}\n\telse{\n\t\t\tn = a\n\t\t}\n\treturn n\n}\n\"http://wfqqreader-1252317822.image.myqcloud.com/cover/\"+gt(s)+\"/\"+s+\"/b_\"+s+\".jpg\"",
      "intro": "$.intro",
      "kind": "{{$.categoryInfoV4\n##\\d.*?\\:(.*?)\\:.*?(,|$)##$1$2}}\n{{$.updateInfo##已更新至.*##连载中}}\n##小说,",
      "lastChapter": "$.updateInfo##已更新至##第",
      "name": "$.title",
      "wordCount": "$.totalWords"
    },
    "ruleToc": {
      "chapterList": "$.rows",
      "chapterName": "$.serialName",
      "chapterUrl": "https://novel.html5.qq.com/be-api/content/ads-read,{\n\t\"method\": \"POST\",\n\t\"body\": {\n\t\t\"Scene\": \"chapter\",\n\t\t\"ContentAnchorBatch\": [{\n\t\t\t\t\"BookID\": \"{{baseUrl.match(/bookId=(\\d+)/)[1]}}\",\n\t\t\t\t\"ChapterSeqNo\": [{{$.serialID}}]\n\t\t\t}]\n\t},\n\t\"headers\": {\n\t\t\"Q-GUID\": \"4aa27c7cf2d9aca3359656ea186488cb\"\n\t}\n}",
      "isPay": "$.isFree",
      "isVip": "//删掉这行字，vip章节会显示🔓\n$.isFree"
    },
    "searchUrl": "https://newopensearch.reader.qq.com/wechat?keyword={{key}}&start={{page-1}}&end=19",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "阅读库子",
    "bookSourceType": 0,
    "bookSourceUrl": "http://www.yuedsk.com",
    "bookUrlPattern": "http://www.yuedsk.com/book/\\d+/",
    "customOrder": 13,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "玄幻·魔法::http://www.yuedsk.com/book/sort1/0/{{page}}.html\n武侠·修真::http://www.yuedsk.com/book/sort2/0/{{page}}.html\n都市·言情::http://www.yuedsk.com/book/sort3/0/{{page}}.html\n历史·军事::http://www.yuedsk.com/book/sort4/0/{{page}}.html\n穿越·架空::http://www.yuedsk.com/book/sort5/0/{{page}}.html\n游戏·竞技::http://www.yuedsk.com/book/sort6/0/{{page}}.html\n经部::http://www.yuedsk.com/book/sort11/0/{{page}}.html\n史部::http://www.yuedsk.com/book/sort12/0/{{page}}.html\n子部::http://www.yuedsk.com/book/sort13/0/{{page}}.html\n集部::http://www.yuedsk.com/book/sort14/0/{{page}}.html\n古典·名著::http://www.yuedsk.com/book/sort16/0/{{page}}.html",
    "lastUpdateTime": 1768988543445,
    "respondTime": 7890,
    "ruleBookInfo": {
      "author": "[property$=author]@content",
      "coverUrl": ".divbox img@src",
      "kind": "[property~=category|status]@content",
      "name": "[property$=book_name]@content",
      "tocUrl": ".btnlink@href"
    },
    "ruleContent": {
      "content": "#clickeye_content@html",
      "replaceRegex": "##\\(阅读库.*\\)|阅读库.+com"
    },
    "ruleExplore": {
      "author": ".c_tag span.1@text",
      "bookList": ".c_row",
      "bookUrl": "a.2@href",
      "coverUrl": "img@src",
      "intro": ".c_description@text",
      "kind": ".c_tag span.-1:-3@text",
      "lastChapter": "a.3@text",
      "name": "a.2@text",
      "wordCount": ".c_tag span.3@text"
    },
    "ruleSearch": {
      "author": ".c_tag span.1@text",
      "bookList": ".c_row",
      "bookUrl": "a.1@href",
      "coverUrl": "img@src",
      "kind": ".c_tag span.3:7:-1@text",
      "lastChapter": ".c_value a@text",
      "name": "a.1@text",
      "wordCount": ".c_tag span.5@text"
    },
    "ruleToc": {
      "chapterList": ".chapters li a",
      "chapterName": "text##^0+\\s*(\\d+)(?!\\s*章)##$1章",
      "chapterUrl": "href",
      "updateTime": "title"
    },
    "searchUrl": "http://www.yuedsk.com/modules/article/search.php?q={{key}}",
    "weight": 0
  },
  {
    "bookSourceComment": "貌似有点小bug，各位将就用",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "69书吧[需要挂🪜.有点小问题]",
    "bookSourceType": 0,
    "bookSourceUrl": "https://www.69shuba.com",
    "bookUrlPattern": "https?:\\/\\/www\\.69shuba\\.com\\/book\\/\\d+\\.htm",
    "customOrder": 14,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\nvar result = [];\nvar push = (title, url, size) => result.push({\n    title: java.t2s(title),\n    url: url && /_/.test(url) ? `/novels/${url}.htm` : url,\n    style: {\n        layout_flexGrow: 1,\n        layout_flexBasisPercent: size\n    }\n});\n\npush(\"书籍分类\", null, 1);\n\nconst tag = org.jsoup.Jsoup.parse(Ajax(source.key + \"/novels/hot\")).select('.listleft li:not([class]) a');\nconst sort = [\n    [\"全部\", \"monthvisit_0_0_1\"],\n    [\"连载\", \"newhot_0_0_1\"],\n    [\"全本\", \"newhot_0_1_1\"],\n    [\"人气\", \"weekvisit_0_0_1\"],\n    [\"推荐\", \"allvote_0_0_1\"],\n    [\"新书\", \"newhot_0_0_1\"]\n];\n\nsort.forEach(([name, pattern]) => {\n    let Url = pattern.replace(/1$/, \"{{page}}\");\n    push(`༺ˇ»\\`ʚ  ${name}  ɞ´«ˇ༻`, Url, 1);\n    tag.toArray().forEach((e, i) => push(e.text(), Url.replace(/^(.+?_)0/, `$1${i+1}`), 0.25));\n});\n\npush(\"༺ˇ»`ʚ  标签  ɞ´«ˇ༻\", null, 1);\norg.jsoup.Jsoup.parse(Ajax(source.key + \"/tags\")).select('.tag a').forEach(n => \n    push(n.text(), n.attr('href') + \"{{page}}/\", 0.2)\n);\n\nJSON.stringify(result);",
    "header": "{\"User-Agent\":\"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\"}",
    "jsLib": "var Regex = /Just a moment|onloadTurnstileCallback/;\nfunction Ajax(url) {\n     const { java } = this;\n     let result = java.ajax(url);\n     let retryCount = 0;\n     const maxRetries = 3;\n     while (Regex.test(result) && retryCount < maxRetries) {\n      result = java.startBrowserAwait(url, \"验证\").body();\n     }\n     return result;\n}",
    "lastUpdateTime": 1768907668844,
    "loginCheckJs": "let original = result;\nlet url = result.url();\nlet ck = cookie.getCookie(url).split('; ').filter(item => !item.startsWith(\"jieqiVisitTime\")).join('; ');\ncookie.setCookie(url, ck);\nif (result.code() == 403) java.toast('服务器拒绝访问，请检查网络状况！');\nif (Regex.test(original.body())) {\n\t   cookie.removeCookie(url);\n    result = java.startBrowserAwait(url, \"验证\");\n    if (/onloadTurnstileCallback/.test(original.body())) {\n    java.initUrl();\n    result = java.getStrResponse(null, null, false);\n    }\n}\nresult;",
    "respondTime": 182182,
    "ruleBookInfo": {
      "author": "@get:{a}",
      "coverUrl": "@get:{i}",
      "init": "@put:{\"n\":\"[property$=book_name]@content\",\n\"a\":\"[property$=author]@content\",\n\"t\":\"[property~=category|status]@content\",\n\"l\":\"[property$=latest_chapter_name]@content\",\n\"i\":\"[property$=image]@content\",\n\"z\":\".booknav2@p.-2@text\",\n\"o\":\"[property$=description]@content\",\n\"g\":\"[property$=update_time]@content\",\n\"m\":\"a[class$=more-btn]@href\"\n}",
      "intro": "@get:{o}",
      "kind": "@get:{t}",
      "lastChapter": "@get:{l}◎@get:{g}",
      "name": "@get:{n}",
      "tocUrl": "@get:{m}",
      "wordCount": "@get:{z}##\\s*\\|.*$"
    },
    "ruleContent": {
      "content": ".txtnav@html##<[^>]+>.*?<[^>]+>|{{chapter.title}}|\\(本章完\\)|<br\\/?>|\\ue5e5\n@js:if (result == \"\") result = \"未获取到文本，请刷新正文。\";\nresult;",
      "nextContentUrl": "text.下一章@href||[class^=\"page\"]@a.-1@href",
      "title": "h1@text"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": "label.0@text",
      "bookList": "<js>\nif (!String(src).trim()) java.toast(\"搜索被封禁请切换网络或等待\");\nresult;\n</js>\n.newbox > ul > li",
      "bookUrl": "a.0@href",
      "coverUrl": "img@data-src",
      "intro": "ol@text",
      "kind": "label!0@text",
      "lastChapter": ".zxzj p@ownText",
      "name": "h3@text"
    },
    "ruleToc": {
      "chapterList": "#catalog li\n@js:\nresult.sort((a, b) => +a.attr('data-num') - +b.attr('data-num'));\nresult;",
      "chapterName": "a@text",
      "chapterUrl": "a@href"
    },
    "searchUrl": "/modules/article/search.php,{\n  \"body\": \"searchkey={{key}}&submit=Search\",\n  \"charset\": \"GBK\",\n  \"headers\": {\"Cookie\": \"{{cookie.getCookie(source.key)}}\"},\n  \"method\": \"POST\"\n}",
    "weight": 0
  },
  {
    "bookSourceComment": "源作者:qaz1749，该书源无发现功能，网站目前暂时不需要梯子，也没有机器人验证和登录要求",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "新笔趣阁",
    "bookSourceType": 0,
    "bookSourceUrl": "https://www.biquges123.com",
    "bookUrlPattern": "https://www.biquges123.com\\d+",
    "customOrder": 15,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "lastUpdateTime": 1768832830915,
    "respondTime": 981,
    "ruleBookInfo": {
      "author": "class.info_ct@tag.div.2@text",
      "coverUrl": "class.info_lt@tag.img@src",
      "init": "tag.main",
      "intro": "class.des@tag.span@text",
      "kind": "class.bread@tag.a.1@text",
      "lastChapter": "class.ud@tag.a@text",
      "name": "class.info_title@text"
    },
    "ruleContent": {
      "content": "class.article@html",
      "nextContentUrl": "class.text_btn@tag.a.2@href",
      "title": "class.text@tag.h1@text"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": ".author@text",
      "bookList": "class.hot_4@tag.li",
      "bookUrl": "class.hot_4_item@tag.a@href",
      "coverUrl": "class.cover@tag.img@src",
      "intro": "class.hot_des@text",
      "name": ".hot_name@text"
    },
    "ruleToc": {
      "chapterList": "class.list@tag.li",
      "chapterName": "tag.a@title",
      "chapterUrl": "tag.a@href"
    },
    "searchUrl": "/search?keyword={{key}}&page={{page}}",
    "weight": 0
  },
  {
    "bookSourceComment": "//2025.02.05\nby 天天的鸟蛋蛋 \n正文 关耳\n发现 另一个书友圈",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "🌸新键盘",
    "bookSourceType": 0,
    "bookSourceUrl": "http://www.xinjianpan.com/",
    "customOrder": 16,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; U; Android 14; zh-cn; M2102K1AC Build/UKQ1.231207.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.118 Mobile Safari/537.36 MQQBrowser/10.1.0\"}",
    "lastUpdateTime": 1768832790764,
    "respondTime": 181960,
    "ruleBookInfo": {
      "author": "[property$=author]@content",
      "coverUrl": "[property$=image]@content",
      "intro": "[property$=description]@content",
      "kind": "[property~=status|update_time|category]@content",
      "lastChapter": "[property$=latest_chapter_name]@content",
      "name": "[property$=book_name]@content",
      "tocUrl": "text.更多章节@href"
    },
    "ruleContent": {
      "content": "@js:\nfunction decode(c){ \n  let \tH = String(java.base64Decode(c));\n  return H; \n} \nc = src.match(/var c=\"([^\"]+)\"/)[1];\nbase64的c = decode(c);\nresult =String(java.getString('#chaptercontent p@html')).replace(/更多内容加载中...请稍候...[\\s\\S]*/g,'') + java.base64Decode(base64的c.slice((Number(base64的c.slice(8, 11))+11), (base64的c.length-Number(base64的c.slice(8, 11)))).replace(/_/g, '8L3A+').replace(/-/g, 'PHA+'));",
      "nextContentUrl": "##location.href='([^_]+_\\d+\\.html)'>下一章</a>##$1###",
      "replaceRegex": "##天才一秒记住【.*】地址.*|.*退出阅读模式即可，谢谢！|小说推荐：.*"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": "dd@a@text",
      "bookList": "dl:nth-child(n+1)",
      "bookUrl": "dt@a@href",
      "checkKeyWord": "斗破苍穹",
      "coverUrl": "img@data-src",
      "intro": "dd.0@text",
      "kind": "dd@span.0:-1@text",
      "lastChapter": "最新章节无显示{{}}",
      "name": "dt@a@text",
      "wordCount": "dd@span.1@text"
    },
    "ruleToc": {
      "chapterList": "//*[@class=\"chapterlist\"]//ul/li/a||//.",
      "chapterName": "//title/text()||//text()",
      "chapterUrl": "//@onclick##location.href='(.*?)'##$1###",
      "nextTocUrl": "option@value"
    },
    "searchUrl": "/search/?searchkey={{key}}",
    "weight": 0
  },
  {
    "bookSourceComment": "//by:cwjdb",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "三叉小说[略差]",
    "bookSourceType": 0,
    "bookSourceUrl": "http://m.xxxbiquge.info",
    "customOrder": 17,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\n    java.toast(\"正在努力加载中，请稍后\");\n    \nvar sort = [];\nvar push = (title, url, type1, type2) => {\n    sort.push ({\n        title: title,\n        url: url,\n        style: {\n            layout_flexGrow: type1,\n            layout_flexBasisPercent: type2\n        }\n    });\n};\n\nvar x = [{\n        u: \"http://m.xxxbiquge.info/xclass/0/1.html\",\n        ti: \"༺ˇ»`类型分类´«ˇ༻\",\n        reb: /(\\d+)\\.html/,\n        rea: \"{{page}}.html\"\n    },\n    {\n        u: \"http://m.xxxbiquge.info/quanben.html\",\n        ti: \"༺ˇ»`全本分类´«ˇ༻\",\n        reb: /(.*)\\.html/,\n        rea: \"$1_{{page}}.html\"\n    },\n    {\n        u: \"http://m.xxxbiquge.info/ph/week.html\",\n        ti: \"༺ˇ»`周榜´«ˇ༻\",\n        reb: /(.*)\\.html/,\n        rea: \"$1_{{page}}.html\"\n    },\n    {\n        u: \"http://m.xxxbiquge.info/ph/month0.html\",\n        ti: \"༺ˇ»`月榜´«ˇ༻\",\n        reb: /(.*)\\.html/,\n        rea: \"$1_{{page}}.html\"\n    },\n    {\n        u: \"http://m.xxxbiquge.info/ph/all0.html\",\n        ti: \"༺ˇ»`总榜´«ˇ༻\",\n        reb: /(.*)\\.html/,\n        rea: \"$1_{{page}}.html\"\n    }];\n    \nx.forEach (i => {\n    var o = org.jsoup.Jsoup.parse(java.ajax(i.u));\n    var s = o.select('nav.sortChannel_nav>a');\n    push(i.ti, \"\", 1, 1);\n    s.forEach(j => {\n        var url = String (j.attr(\"href\")).replace(i.reb,i.rea);\n        push(j.text(), url, 1, 0.25)\n    })\n});\n\nJSON.stringify(sort);",
    "lastUpdateTime": 1768999121041,
    "respondTime": 10538,
    "ruleBookInfo": {
      "author": "[property$=author]@content",
      "coverUrl": "[property$=image]@content",
      "intro": "[property$=description]@content##(^|[。！？]+[”」）】]?)##$1<br>\n<js>result</js>##\\\\n",
      "kind": "[property~=category|status|update_time]@content&&text.状态@text##状态：",
      "lastChapter": "[property$=latest_chapter_name]@content##正文卷.|正文.|VIP章节.|免费章节.|VIP卷.|默认卷.|章节目录.|最新章节.|[\\(（【].*?[求更票谢乐发订合补加].*?[】）\\)]",
      "name": "[property$=book_name]@content",
      "tocUrl": "text.章节列表@href"
    },
    "ruleContent": {
      "content": "#chaptercontent@textNodes",
      "nextContentUrl": "text.下一页@href",
      "replaceRegex": "##(第\\s*[零一二三四五六七八九十百千\\d]+\\s*[章节]?[、.]?\\s*|\\d+\\s*|[零一二三四五六七八九十]+\\s*)(.*?)\\s*[（(]第.*页[)）]|（本章未完.*继续阅读）|第.+卷_?|（粉嫩.*求支持！）"
    },
    "ruleExplore": {
      "author": ".author a.1@text",
      "bookList": "#main>div",
      "bookUrl": ".detail a@href",
      "coverUrl": "img@data-original",
      "intro": ".review@ownText##简介[：:]|\\\\n",
      "name": ".title@text"
    },
    "ruleSearch": {
      "author": "a.2@text",
      "bookList": ".slide-item.list1 div",
      "bookUrl": "a.0@href",
      "kind": "p.-1@ownText##\\|\\s*最近更新[：:]",
      "lastChapter": "a.-1@text",
      "name": "a p@text"
    },
    "ruleToc": {
      "chapterList": "#chapterlist>p:nth-child(n+2)>a",
      "chapterName": "text\n@js:result\n.replace(\"••\",\"\")\n.replace(/^(\\d+).第/,'第')\n.replace(/^(正文|VIP章节|最新章节)?(\\s+|_)|[\\(\\{（｛【].*[求含理更谢乐发推票盟补加字Kk\\/].*/g,'')\n.replace(/^(\\d+)[、．]第.+章/,'第$1章')\n.replace(/^(\\d+)、\\d+、/,'第$1章 ')\n.replace(/^(\\d+)、\\d+/,'第$1章')\n.replace(/^(第.+章)\\s?\\d+/,'$1')\n.replace(/^(\\d+)、/,'第$1章 ')\n.replace(/^(第.+章)\\s?第.+章/,'$1')\n.replace(/第\\s(.+)\\s章/,'第$1章')\n.replace(/.*(chapter|Chapter)\\s?(\\d+)\\s?/,'$1 $2 ')\n.replace(/\\(.+\\)/,'')\n.replace(/\\[|。/,'')\n.replace(/^(第)?([零一二两三四五六七八九十百千]+).+第/,'第')\n.replace(/第([零一二两三四五六七八九十百千]+)章/g,java.toNumChapter(result))\n##(章)([^\\s]+)(\\s·)##$1 $2$3",
      "chapterUrl": "href"
    },
    "searchUrl": "{{url=source.getKey();\ncookie.removeCookie(url)\njava.ajax(url).match(/action=\"(.+?)\"/)[1]}},{\n\"method\": \"POST\",\n\"body\": \"keyword={{key}}\"\n}",
    "weight": 0
  },
  {
    "bookSourceComment": "//极少部分文章无法加载，原站可以加载，不知道为什么，介意勿用",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "乐文网[极少文章无法加载]",
    "bookSourceType": 0,
    "bookSourceUrl": "https://www.lewen5.co",
    "customOrder": 18,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "header": "{\n  \"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.38\"\n}",
    "lastUpdateTime": 1768908401921,
    "respondTime": 180000,
    "ruleBookInfo": {
      "author": ".author@text",
      "coverUrl": ".book-main@img@src",
      "intro": "[property=\"og:description\"]@content\n<js>result</js>html",
      "kind": ".tag@span.1:0@text&&.time@text##.*?：",
      "lastChapter": ".update@a@text",
      "name": "h1@text",
      "tocUrl": "text.查看更多章节@href\n@js:\njava.put(\"html\", java.getString(\"h3:contains(章节列表) + div@.chapter-list@html\"))\n\nresult"
    },
    "ruleContent": {
      "content": "@js:\nvar re = /document.writeln[^']+'([^']+)'/g;\nlet m;\nvar values = [];\nwhile ((m=re.exec(result)) !== null) {\n  values.push(java.base64Decode(m[1]));\n}\nvalues.join(\"\")",
      "nextContentUrl": "text.下一章@href"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": ".s5@text",
      "bookList": ".sort_list li",
      "bookUrl": ".s2@a@href",
      "name": ".s2@text"
    },
    "ruleToc": {
      "chapterList": "<js>\na = org.jsoup.Jsoup.parse(result)\n\nw = result.includes(\"第1页\") || !baseUrl.includes(\"_1.html\")\n\njava.log(w)\n\nif (w) a.html(); else java.get(\"html\")+a.html();\n</js>\n.chapter-list li a",
      "chapterName": "text",
      "chapterUrl": "href",
      "nextTocUrl": "[selected=\"selected\"] ~ option@value"
    },
    "searchUrl": "/search.html,{\n  \"body\": \"s={{key}}\",\n  \"method\": \"POST\"\n}",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "笔趣阁¹",
    "bookSourceType": 0,
    "bookSourceUrl": "www.xbiquge.la",
    "customOrder": 19,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreScreen": "",
    "exploreUrl": "玄幻小说::http://www.xbiquge.la/fenlei/1_{{page}}.html\n修真小说::http://www.xbiquge.la/fenlei/2_{{page}}.html\n都市小说::http://www.xbiquge.la/fenlei/3_{{page}}.html\n穿越小说::http://www.xbiquge.la/fenlei/4_{{page}}.html\n网游小说::http://www.xbiquge.la/fenlei/5_{{page}}.html\n科幻小说::http://www.xbiquge.la/fenlei/6_{{page}}.html",
    "lastUpdateTime": 1769000062749,
    "respondTime": 5342,
    "ruleBookInfo": {
      "author": "id.info@tag.p.0@text##作    者：",
      "coverUrl": "id.fmimg@tag.img@src",
      "intro": "id.intro@tag.p.1@text",
      "lastChapter": "id.info@tag.p.3@title",
      "name": "id.info@tag.h1.0@text"
    },
    "ruleContent": {
      "content": "id.content@textNodes"
    },
    "ruleExplore": {
      "author": "tag.span.2@text",
      "bookList": "class.l@tag.ul@tag.li",
      "bookUrl": "tag.span.0@tag.a@href",
      "lastChapter": "tag.span.1@tag.a@text",
      "name": "tag.span.0@tag.a@text"
    },
    "ruleSearch": {
      "author": "class.even.1@text",
      "bookList": "class.grid@tag.tbody@tag.tr!0",
      "bookUrl": "class.even.0@tag.a@href",
      "lastChapter": "class.odd.0@tag.a@text",
      "name": "class.even.0@tag.a@text"
    },
    "ruleToc": {
      "chapterList": "id.list@tag.dd",
      "chapterName": "tag.a@text",
      "chapterUrl": "tag.a@href"
    },
    "searchUrl": "http://www.xbiquge.la/modules/article/waps.php?searchkey={{key}}",
    "weight": 1
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "笔趣阁²",
    "bookSourceType": 0,
    "bookSourceUrl": "http://m.xinbqg.com",
    "customOrder": 20,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreScreen": "",
    "exploreUrl": "玄幻::/xclass/1/{{page}}.html\n修真::/xclass/2/{{page}}.html\n都市::/xclass/3/{{page}}.html\n穿越::/xclass/4/{{page}}.html\n网游::/xclass/5/{{page}}.html\n科幻::/xclass/6/{{page}}.html\n其他::/xclass/7/{{page}}.html\n全本::/quanben.html",
    "header": "{\"User-Agent\": \"Mozilla/5.0 (Linux; Android 9) Mobile Safari/537.36\"}",
    "lastUpdateTime": 1769000179066,
    "respondTime": 16637,
    "ruleBookInfo": {
      "author": "[property$=author]@content",
      "coverUrl": "[property$=image]@content",
      "intro": "[property$=description]@content",
      "kind": "[property~=category|status|update_time]@content",
      "lastChapter": "[property$=latest_chapter_name]@content",
      "name": "[property$=book_name]@content",
      "tocUrl": "{{$.}}all.html",
      "wordCount": "{{@@text.字数@text##字数：}}"
    },
    "ruleContent": {
      "content": "#chaptercontent@html",
      "nextContentUrl": "#pb_next@href",
      "replaceRegex": "##（本章未完.*继续阅读）|记住.*网址.*com|『加入书签，方便阅读』|{{chapter.title}}|\\(第.*页\\)"
    },
    "ruleExplore": {
      "author": ".s3@text",
      "bookList": ".lis@li",
      "bookUrl": "a@href",
      "kind": ".s1@text##\\[|\\]",
      "name": "a@text"
    },
    "ruleSearch": {
      "author": ".author@text",
      "bookList": ".bookbox",
      "bookUrl": "a.1@href",
      "coverUrl": "img@src",
      "intro": "dd@text",
      "kind": ".cat@text##分类：",
      "lastChapter": "a.-1@text",
      "name": "h4@text"
    },
    "ruleToc": {
      "chapterList": "dl@dd!0",
      "chapterName": "a@text",
      "chapterUrl": "a@href"
    },
    "searchUrl": "/s.php?q={{key}},{\n  \"webView\": true\n}",
    "weight": 1
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "笔趣阁³",
    "bookSourceType": 0,
    "bookSourceUrl": "https://www.ibiquge.la/",
    "bookUrlPattern": "https://www.ibiquge.la/\\d+/\\d+/",
    "customOrder": 21,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "exploreUrl": "[{\"title\":\"玄幻小说\",\"url\":\"/fenlei/1_{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},{\"title\":\"修真小说\",\"url\":\"/fenlei/2_{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},{\"title\":\"都市小说\",\"url\":\"/fenlei/3_{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},{\"title\":\"穿越小说\",\"url\":\"/fenlei/4_{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},{\"title\":\"网游小说\",\"url\":\"/fenlei/5_{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},{\"title\":\"科幻小说\",\"url\":\"/fenlei/6_{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}}]",
    "header": "{\n  \"User-Agent\": \"Mozilla/5.0 (Windows; U; Windows NT 5.2;. en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Quark/4.6.6.164\"\n}",
    "lastUpdateTime": 1769001233554,
    "respondTime": 8451,
    "ruleBookInfo": {
      "author": "id.info@tag.p.0@text##作    者：",
      "coverUrl": "id.fmimg@tag.img@src",
      "intro": "id.intro@text",
      "kind": "id.info@tag.p.2@text##最后更新：",
      "lastChapter": "id.info@tag.p.3@a@text",
      "name": "id.info@tag.h1.0@text##\\（.*|\\(.*|免费阅读|全文.*阅读|最新章节|笔趣阁|小说"
    },
    "ruleContent": {
      "content": "id.content@html##亲,点击进去,给个好.*漂亮的老婆哦!|手机站全新改版.*广告清新阅读！"
    },
    "ruleExplore": {
      "author": "class.s5@text",
      "bookList": "class.l@li",
      "bookUrl": "class.s2@a@href",
      "coverUrl": "class.s2@a@href<js>\nvar id = result.match(/(\\d+)\\/?$/)[1];\nvar iid = parseInt(id/1000);\n'https://www.ibiquge.la/files/article/image/'+iid+'/'+id+'/'+id+'s.jpg';\n</js>",
      "lastChapter": "class.s3@a@text",
      "name": "class.s2@a@text"
    },
    "ruleSearch": {
      "author": "tag.td.2@text",
      "bookList": "class.grid@tag.tr!0",
      "bookUrl": "tag.td.0@tag.a@href",
      "coverUrl": "tag.td.0@tag.a@href<js>\nvar id = result.match(/(\\d+)\\/?$/)[1];\nvar iid = parseInt(id/1000);\n'https://www.ibiquge.la/files/article/image/'+iid+'/'+id+'/'+id+'s.jpg';\n</js>",
      "lastChapter": "tag.td.1@tag.a@text",
      "name": "tag.td.0@tag.a@text##\\（.*|\\(.*|免费阅读|全文.*阅读|最新章节|笔趣阁|小说"
    },
    "ruleToc": {
      "chapterList": "id.list@tag.dd",
      "chapterName": "tag.a@text",
      "chapterUrl": "tag.a@href"
    },
    "searchUrl": "https://www.ibiquge.la/modules/article/waps.php?searchkey={{key}}",
    "weight": 0
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "笔趣阁⁴",
    "bookSourceType": 0,
    "bookSourceUrl": "https://m.biqukun.com",
    "bookUrlPattern": "https://m.biqukun.com/\\d+/\\d+/",
    "customOrder": 22,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreScreen": "",
    "exploreUrl": "[{\"title\":\"玄幻小说\",\"url\":\"/sort/1_{{page}}/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"修真小说\",\"url\":\"/sort/2_{{page}}/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"都市小说\",\"url\":\"/sort/3_{{page}}/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"穿越小说\",\"url\":\"/sort/4_{{page}}/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"网游小说\",\"url\":\"/sort/5_{{page}}/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"科幻小说\",\"url\":\"/sort/6_{{page}}/\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}}]",
    "lastUpdateTime": 1769001240036,
    "respondTime": 11382,
    "ruleBookInfo": {
      "author": "text.作者@text##作者：",
      "coverUrl": ".block_img2 img@src",
      "intro": ".intro_info@text##最新章节.*",
      "kind": "text.状态@text##状态：",
      "lastChapter": ".chapter a.1@text",
      "name": "h2@text",
      "wordCount": "text.更新@text##更新：|.*更新时间：.*"
    },
    "ruleContent": {
      "content": "#nr@html",
      "nextContentUrl": "text.下一页@href",
      "replaceRegex": "##第\\d+章.*|.*本章未完.*"
    },
    "ruleExplore": {
      "bookList": ".xbk li",
      "bookUrl": "a@href",
      "coverUrl": "img@src",
      "name": ".xsm@text",
      "wordCount": ".tjrs@text"
    },
    "ruleSearch": {
      "author": "ownText##.*/|/",
      "bookList": ".fk li",
      "bookUrl": "a@href",
      "coverUrl": "a@href##.*/(\\d+)/(\\d+)/##https://www.biqukun.com/d/image/$1/$2/$2s.jpg",
      "kind": "textNodes##/.*|\\[|\\]",
      "name": "a@text"
    },
    "ruleToc": {
      "chapterList": ".chapter a",
      "chapterName": "text",
      "chapterUrl": "href",
      "nextTocUrl": "option@value"
    },
    "searchUrl": "https://m.biqukun.com/search.php?s=4532499176958073452&submit=&type=articlename&searchkey={{key}}",
    "weight": 2
  },
  {
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "笔趣阁⁵",
    "bookSourceType": 0,
    "bookSourceUrl": "http://wap.xshuquge.net",
    "customOrder": 23,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "exploreScreen": "",
    "exploreUrl": "[{\n\t\"title\":\"玄幻魔法\",\n\"url\":\"/sort/1/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"武侠修真\",\n\"url\":\"/sort/2/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"都市言情\",\n\"url\":\"/sort/3/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"历史军事\",\n\"url\":\"/sort/4/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"侦探推理\",\n\"url\":\"/sort/5/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"网游动漫\",\n\"url\":\"/sort/6/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"科幻灵异\",\n\"url\":\"/sort/7/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"其他类型\",\n\"url\":\"/sort/8/0_1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"✘全本✘\",\n\"url\":\"quanben/1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"————————排行————————\",\n\"url\":\"\",\"style\":{\"layout_flexGrow\":99,\"layout_flexBasisPercent\": -1}},\n{\"title\":\"日点击榜\",\n\"url\":\"store/dayvisit-1{{page}}.html\",\"style\":{\"layout_flexGrow\":1}},\n{\"title\":\"周点击榜\",\n\"url\":\"store/weekvisit-1{{page}}.html\",\"style\":{\"layout_flexGrow\":1}},\n{\"title\":\"月点击榜\",\n\"url\":\"store/monthvisit-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"总点击榜\",\n\"url\":\"store/allvisit-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"总收藏榜\",\n\"url\":\"/store/goodnum-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"字数排行\",\n\"url\":\"/store/size-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"日推荐榜\",\n\"url\":\"/store/size-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"周推荐榜\",\n\"url\":\"store/weekvote-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"月推荐榜\",\n\"url\":\"/store/monthvote-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"总推荐榜\",\n\"url\":\"store/allvote-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"最新入库\",\n\"url\":\"store/postdate-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}},\n{\"title\":\"最近更新\",\n\"url\":\"store/lastupdate-1{{page}}.html\",\"style\":{\"layout_flexGrow\":0.25}}\n]",
    "lastUpdateTime": 1769001247745,
    "respondTime": 12734,
    "ruleBookInfo": {
      "coverUrl": "[property$=\"og:image\"]@content",
      "intro": "[property$=\"og:novel:latest_chapter_name\"]@content&&class.cover@class.intro_info@text##(.*)(\\n)##最新章节 $1$2",
      "kind": "[property$=\"og:novel:category\"]@content&&\n[property$=\"og:novel:update_time\"]@content&&\n[property$=\"og:novel:status\"]@content",
      "lastChapter": "[property$=\"og:novel:latest_chapter_name\"]@content",
      "name": "class.cover@class.bolck_txt2@class.bolck_txt2@tag.h2@tag.a@textNodes"
    },
    "ruleContent": {
      "content": "id.nr1@html##（本章未完，请点击下一页继续阅读）|最新网址：wap.ishuquge.la|第.*章.*(第.*/.*页).*",
      "nextContentUrl": "text.下一页@href",
      "replaceRegex": "##\\s*最新网址：.*\\n"
    },
    "ruleExplore": {
      "author": "@html##(.*)(a>)(.*)(</p>)##$3",
      "bookList": "class.cover@class.line",
      "bookUrl": "class.blue.0@href",
      "coverUrl": "class.blue.0@href##/s/([0-9]{1,3})(.*).html##https://www.ishuquge.la/files/article/image/$1/$1$2/$1$2s.jpg",
      "kind": "a.0@textNodes",
      "name": "class.blue.0@textNodes"
    },
    "ruleSearch": {
      "author": "class.bookinfo.0@class.author.0@textNodes",
      "bookList": "class.read_book@class.bookbox",
      "bookUrl": "class.bookinfo.0@tag.h4.0@tag.i.0@tag.a.0@href",
      "coverUrl": "class.bookimg@tag.a.0@tag.img.0@src",
      "kind": "$https://wds.ecsxs.com/231269.json$",
      "lastChapter": "class.bookinfo.0@class.updatelast.0@tag.a.0@textNodes",
      "name": "class.bookinfo.0@tag.h4.0@tag.i.0@tag.a.0@text"
    },
    "ruleToc": {
      "chapterList": "class.cover@class.chapter@tag.li",
      "chapterName": "a.0@textNodes",
      "chapterUrl": "a.0@href",
      "nextTocUrl": "class.cover@class.listpage@class.right@tag.a@href"
    },
    "searchUrl": "/search.php,{\n\t\"body\":\"searchkey={{key}}&submit=\",\n\t\"method\":\"POST\"\n\t}",
    "weight": 1
  },
  {
    "bookSourceComment": "//2025.1.21by.◎辞晨◎",
    "bookSourceGroup": "_1yunnain精选",
    "bookSourceName": "书旗网[伪书旗]",
    "bookSourceType": 0,
    "bookSourceUrl": "http://www.shuqi.cc",
    "customOrder": 24,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreScreen": "",
    "exploreUrl": "@js:\nsort=[];\npush=(title,url,type1,type2)=>sort.push({\n\t\ttitle: title,\n\t\turl: url,\n\t\tstyle: {\n\t\t\t\tlayout_flexGrow: type1,\n\t\t\t\tlayout_flexBasisPercent: type2\n\t\t\t}\n\t});\npush(\"全部🌊分类\",null,1,1)\npush(\"🌊全本🌊\",`/full/0_{{page}}.html`,1,1)\n\tarList=[\"玄幻\",\"武侠\",\"都市\",\"历史\",\"网游\",\"科幻\",\"言情\",\"其他\"]\n\tarList.map((tag,index)=>{\n\t\turl=`/list${index+1}/{{page}}.html`;\n\t\tpush(tag, url, 1, 0.25);\n\t\t});\n//java.log(JSON.stringify(sort))\nJSON.stringify(sort)",
    "header": "{\n  'User-Agent': \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0\",\n  'sec-ch-ua-platform': \"\\\"Android\\\"\",\n  'origin': \"baseUrl\",\n  'x-requested-with': \"cn.mujiankeji.mbrowser\",\n  'referer': \"baseUrl\",\n  'accept-language': \"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\"\n}",
    "lastUpdateTime": 1769001267826,
    "respondTime": 8870,
    "ruleBookInfo": {
      "author": "[property=\"og:novel:author\"]@content",
      "coverUrl": "[property=\"og:image\"]@content",
      "intro": "[property=\"og:description\"]@content##\\s",
      "kind": "[property~=category|status|update_time]@content",
      "lastChapter": "[property~=las?test_chapter_name]@content",
      "name": "[property=\"og:novel:book_name\"]@content"
    },
    "ruleContent": {
      "content": ".font_max@html",
      "nextContentUrl": "text.下一章@href",
      "replaceRegex": "##第\\(\\d+\\/\\d+\\)页|.*\\.com.*"
    },
    "ruleExplore": {},
    "ruleSearch": {
      "author": "span.0@text",
      "bookList": ".row@dl",
      "bookUrl": "a.0@href",
      "coverUrl": "img@src",
      "kind": "{{@@h3@a@text##\\[|\\].*}},{{@@.book_other!0:-1@text##状态：|更新时间：}}",
      "lastChapter": "dd.-1@text##最新章节：",
      "name": "h3@a@text##.*\\]"
    },
    "ruleToc": {
      "chapterList": ".book_list2@li",
      "chapterName": "a@text",
      "chapterUrl": "a@href",
      "isVip": "http://www.shuqi.cc/97/97201/",
      "nextTocUrl": "<js>\np=java.getString(\".page-link@html\").match(/\\>\\d\\/(.*?)\\</);\np=p?p[1]:1\n//java.log(p);\npageSum=parseInt(p)\nburl=String(baseUrl)\n//java.log(burl);\nArray.from({length:pageSum-1},(_,i)=>{return burl.replace(/^(.*?)$/,`$1index_${i+2}.html`)})\n</js>"
    },
    "searchUrl": "/search.php?q={{key}}&p={{page}}",
    "weight": 1
  }
]