🏷晋江文学[自定义发现]

https://m.jjwxc.net/channel/#自定义

guaner001125 (317)02/19 11:10

搜索不到时可以尝试以下格式搜索
##完整书名

点击“登录”自定义发现
更改过发现要刷新本书源才会生效


❗️注意事项:
1、请不要退出晋江app的账号,只要点了退出,或者在其他地方登录了,都要重新抓token。

2、更新token,书籍就要更新目录。

3、登录步骤:
①填写好账号密码,点击“邮箱验证码”或者“手机验证码”
②填写好验证码,点击“邮箱登录”或者“手机登录”
③点击右上角的“✓”,弹出提示“成功”
④想要确认是否成功可以在登录UI里点右上角三点,查看登录头token里是否有值。

4、如果邮箱和手机号无法登录,可能是需要过滑动验证码,可尝试先在晋江app里登录一遍后,再在阅读里登录,还是不行就只能抓包token,填写在“抓包token登录”处。
二维码导入
{
    "bookSourceComment": "搜索不到时可以尝试以下格式搜索\n##完整书名\n\n点击“登录”自定义发现\n更改过发现要刷新本书源才会生效\n\n\n❗️注意事项:\n1、请不要退出晋江app的账号,只要点了退出,或者在其他地方登录了,都要重新抓token。\n\n2、更新token,书籍就要更新目录。\n\n3、登录步骤:\n①填写好账号密码,点击“邮箱验证码”或者“手机验证码”\n②填写好验证码,点击“邮箱登录”或者“手机登录”\n③点击右上角的“✓”,弹出提示“成功”\n④想要确认是否成功可以在登录UI里点右上角三点,查看登录头token里是否有值。\n\n4、如果邮箱和手机号无法登录,可能是需要过滑动验证码,可尝试先在晋江app里登录一遍后,再在阅读里登录,还是不行就只能抓包token,填写在“抓包token登录”处。",
    "bookSourceGroup": "①🔰  正版,②🌸  常用",
    "bookSourceName": "🏷晋江文学[自定义发现]",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/m.jjwxc.net\/channel\/#自定义",
    "bookUrlPattern": "",
    "customOrder": 9,
    "enabled": false,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "<js>\ntoken = Map(\"token\")\n\n\/\/选择需要开启的分类\n开启的分类 = Map(\"fl\")==\"\"?\"9,10\":Map(\"fl\");\n标签分类 = Map(\"bq\")==\"\"?\"5\":Map(\"bq\");\n\n\/\/一行个数\nvar nums = 4 ;\n\/\/分隔符\nvar separator = '::'\n\n\/\/标题::链接::一行个数::分类\n\n\/*\n所有分类\n\n0古代言情  1都市青春  2幻想现言  3古代穿越  4奇幻言情  5未来游戏悬疑  6都市现纯  7幻想现纯  8古代纯爱  9百合小说  10无cp  11衍生无CP  12衍生纯爱  13衍生言情  14二次元言情 \n\n所有标签分类\n1言情  2纯爱  3百合 4女尊  5无Cp\n*\/\n\n\n\/\/分类\nall = [\"点击签到::https:\/\/app.jjwxc.org\/androidapi\/signin,{\\\"method\\\":\\\"POST\\\",\\\"body\\\":\\\"versionCode=313&sign={{enbody = String(Date.now())+':'+String(source.getLoginHeaderMap().get('token'));String(java.createSymmetricCrypto('DES\/CBC\/PKCS5Padding', String('KW8Dvm2N'), String('1ae2c94b')).encryptBase64(enbody))}}\\\"}\",\"我的收藏::https:\/\/android.jjwxc.net\/androidapi\/incrementFavorite,{'method':'POST','body':\\\"versionCode=313&token={{source.getLoginHeaderMap().get('token')}}&order=1&classId=&backupTime={{Date.now()}}\\\"}\",\"今日限免::https:\/\/app-cdn.jjwxc.net\/bookstore\/getFullPage?channel=novelfree\"];\n\n分类 = [\"古代言情\",\"都市青春\",\"幻想现言\",\"古代穿越\",\"奇幻言情\",\"未来游戏悬疑\",\"都市现纯\",\"幻想现纯\",\"古代纯爱\",\"百合小说\",\"无cp\",\"衍生无CP\",\"衍生纯爱\",\"衍生言情\",\"二次元言情\"]\n\n古代言情连载 = [\"天作之合::14000019\",\"复仇虐渣::80000012\",\"重来一世::14000021\",\"宫廷侯爵::14000020\",\"架空历史::14000022\",\"布衣生活::14000018\",\"古香古色::14000017\",\"科举朝堂::80000014\",\"励志人生::80000015\",\"市井人家::80000013\",\"女尊女强::14000023\",\"传奇武侠::14000024\"]\n\n古代言情完结 = [\"天作之合::14000038\",\"复仇虐渣::80000000\",\"重来一世::14000040\",\"宫廷侯爵::14000039\",\"架空历史::14000041\",\"布衣生活::14000037\",\"古香古色::14000036\",\"科举朝堂::80000002\",\"励志人生::80000003\",\"市井人家::80000001\",\"女尊女强::14000042\",\"传奇武侠::14000043\"]\n\n都市青春连载 = [\"业界精英::15000018\",\"天之骄子::15000031\",\"豪门世家::15000017\",\"励志人生::15000019\",\"娱乐星光::15000032\",\"婚前婚后::15000020\",\"时代新风::15000024\",\"校园青春::80000016\",\"都市情缘::15000021\",\"甜心蜜意::80000020\",\"破镜重圆::15000022\",\"近水楼台::15000023\",\"情有独钟::80000022\",\"时尚流行::80000018\",\"欢喜冤家::15000033\",\"因缘邂逅::15000034\"]\n都市青春完结 = [\"业界精英::15000045\",\"天之骄子::15000056\",\"豪门世家::15000044\",\"励志人生::15000046\",\"娱乐星光::15000057\",\"婚前婚后::15000047\",\"时代新风::15000051\",\"校园青春::80000017\",\"都市情缘::15000048\",\"甜心蜜意::80000021\",\"破镜重圆::15000049\",\"近水楼台::15000050\",\"情有独钟::80000023\",\"时尚流行::80000019\",\"欢喜冤家::15000058\",\"因缘邂逅::15000059\"]\n幻想现言连载 = [\"穿书攻略::80000026\",\"流金年代::80000028\",\"豪门世家::16000024\",\"娱乐时尚::80000030\",\"快穿系统::16000021\",\"种田日常::16000022\",\"打脸爽文::80000024\",\"再世重生::16000017\",\"都市异闻::16000034\",\"穿越时空::16000018\",\"神奇能力::16000033\",\"升级逆袭::16000031\",\"时代奇缘::16000020\",\"人生赢家::16000019\",\"现代架空::16000032\",\"幻想传奇::16000023\"]\n幻想现言完结 = [\"穿书攻略::80000027\",\"流金年代::80000029\",\"豪门世家::16000051\",\"娱乐时尚::80000031\",\"快穿系统::16000048\",\"种田日常::16000049\",\"打脸爽文::80000025\",\"再世重生::16000044\",\"都市异闻::16000059\",\"穿越时空::16000045\",\"神奇能力::16000058\",\"升级逆袭::16000056\",\"时代奇缘::16000047\",\"人生赢家::16000046\",\"现代架空::16000057\",\"幻想传奇::16000050\"]\n古代穿越连载 = [\"天作之合::17000018\",\"复仇虐渣::80000011\",\"宫廷侯爵::17000021\",\"架空穿越::17000024\",\"快穿穿书::80000010\",\"历史穿越::17000023\",\"科举朝堂::80000009\",\"布衣生活::17000020\",\"前世今生::17000022\",\"女尊女强::17000017\",\"市井人家::80000008\",\"异世传奇::17000019\"]\n古代穿越完结 = [\"天作之合::17000037\",\"复仇虐渣::80000007\",\"宫廷侯爵::17000040\",\"架空穿越::17000043\",\"快穿穿书::80000006\",\"历史穿越::17000042\",\"科举朝堂::80000005\",\"布衣生活::17000039\",\"前世今生::17000041\",\"女尊女强::17000036\",\"市井人家::80000004\",\"异世传奇::17000038\"]\n奇幻言情连载 = [\"仙侠情缘::18000018\",\"东方传奇::18000017\",\"修真升级::18000021\",\"异世穿书::18000024\",\"灵异神怪::18000022\",\"玄奇幻界::80000046\",\"异术超能::80000040\",\"西方幻想::18000023\",\"系统快穿::80000042\",\"魔法幻情::18000020\",\"异闻传说::80000044\",\"另类幻想::18000019\"]\n奇幻言情完结 = [\"仙侠情缘::18000035\",\"东方传奇::18000034\",\"修真升级::18000038\",\"异世穿书::18000041\",\"灵异神怪::18000039\",\"玄奇幻界::80000047\",\"异术超能::80000041\",\"西方幻想::18000040\",\"系统快穿::80000043\",\"魔法幻情::18000037\",\"异闻传说::80000045\",\"另类幻想::18000036\"]\n未来游戏悬疑连载 = [\"星际日常::19000014\",\"娱乐直播::80000260\",\"基建种田::80000262\",\"无限领域::80000058\",\"科幻机甲::19000013\",\"穿书攻略::80000264\",\"幻想传奇::19000015\",\"萌宠灵怪::80000060\",\"游戏电竞::19000016\",\"异度幻想::19000032\",\"未来架空::19000031\",\"幻想甜宠::80000266\",\"悬疑解密::19000034\",\"升级爽文::80000062\",\"系统快穿::80000056\",\"时空穿梭::19000033\"]\n未来游戏悬疑完结 = [\"星际日常::19000024\",\"娱乐直播::80000261\",\"基建种田::80000263\",\"无限领域::80000059\",\"科幻机甲::19000023\",\"穿书攻略::80000265\",\"幻想传奇::19000025\",\"萌宠灵怪::80000061\",\"游戏电竞::19000026\",\"异度幻想::19000040\",\"未来架空::19000039\",\"幻想甜宠::80000267\",\"悬疑解密::19000042\",\"升级爽文::80000063\",\"系统快穿::80000057\",\"时空穿梭::19000041\"]\n都市现纯连载 = [\"竞技人生::20000064\",\"时尚娱乐::20000065\",\"种田日常::20000023\",\"现代都市::20000032\",\"豪门世家::20000026\",\"业界精英::20000022\",\"重来一世::20000027\",\"边缘恋曲::20000025\",\"校园青春::20000028\",\"婚前婚后::20000067\",\"穿越时空::20000024\",\"励志人生::20000021\",\"欢喜冤家::20000031\",\"情有独钟::20000066\",\"都市甜文::20000030\",\"打脸逆袭::20000029\"]\n都市现纯完结 = [\"竞技人生::20000072\",\"时尚娱乐::20000073\",\"种田日常::20000050\",\"现代都市::20000059\",\"豪门世家::20000053\",\"业界精英::20000049\",\"重来一世::20000054\",\"边缘恋曲::20000052\",\"校园青春::20000055\",\"婚前婚后::20000075\",\"穿越时空::20000051\",\"励志人生::20000048\",\"欢喜冤家::20000058\",\"情有独钟::20000074\",\"都市甜文::20000057\",\"打脸逆袭::20000056\"]\n幻想现纯连载 = [\"重生穿越::80000092\",\"娱乐星光::80000088\",\"萌宠频道::80000084\",\"仙侠修真::80000080\",\"快穿世界::80000076\",\"末世狂想::80000074\",\"幻想甜宠::80000096\",\"无限流::80000072\",\"系统::80000078\",\"异闻秘术::80000082\",\"边缘幻想::80000086\",\"星际日常::80000090\",\"奇幻灵异::80000100\",\"科幻机甲::80000102\",\"人生赢家::80000094\",\"升级爽文::80000098\"]\n幻想现纯完结 = [\"重生穿越::80000093\",\"娱乐星光::80000089\",\"萌宠频道::80000085\",\"仙侠修真::80000081\",\"快穿世界::80000077\",\"末世狂想::80000075\",\"幻想甜宠::80000097\",\"无限流::80000073\",\"系统::80000079\",\"异闻秘术::80000083\",\"边缘幻想::80000087\",\"星际日常::80000091\",\"奇幻灵异::80000101\",\"科幻机甲::80000103\",\"人生赢家::80000095\",\"升级爽文::80000099\"]\n古代纯爱连载 = [\"宫廷将相::21000025\",\"仙侠修真::21000024\",\"布衣生活::21000021\",\"武侠传奇::21000029\",\"西幻异世 ::21000023\",\"穿越时空::21000026\",\"重来一世::21000022\",\"古代幻想::21000028\",\"系统快穿::21000030\",\"玄幻灵异::21000032\",\"天作之合::21000031\",\"升级逆袭::21000027\"]\n古代纯爱完结 = [\"宫廷将相::21000052\",\"仙侠修真::21000051\",\"布衣生活::21000048\",\"武侠传奇::21000056\",\"西幻异世 ::21000050\",\"穿越时空::21000053\",\"重来一世::21000049\",\"古代幻想::21000055\",\"系统快穿::21000057\",\"玄幻灵异::21000059\",\"天作之合::21000058\",\"升级逆袭::21000054\"]\n百合小说连载 = [\"重来一世::22000013\",\"幻想未来::22000023\",\"架空历史::22000015\",\"都市情缘::22000024\",\"穿越时空::22000016\",\"天赐良缘::22000025\",\"时尚娱乐::22000026\",\"奇幻异闻::22000014\",\"系统快穿::80000168\",\"宫廷侯爵::80000164\",\"业界精英::80000166\",\"情有独钟::80000170\"]\n百合小说完结 = [\"重来一世::22000031\",\"幻想未来::22000039\",\"架空历史::22000033\",\"都市情缘::22000040\",\"穿越时空::22000034\",\"天赐良缘::22000041\",\"时尚娱乐::22000042\",\"奇幻异闻::22000032\",\"系统快穿::80000169\",\"宫廷侯爵::80000165\",\"业界精英::80000167\",\"情有独钟::80000171\"]\n无cp连载 = [\"未来幻想-男主::80000268\",\"未来幻想-女主::80000270\",\"都市成长-男主::80000272\",\"都市成长-女主::80000274\",\"古代架空-男主::80000276\",\"古代架空-女主::80000278\",\"无限快穿-男主::80000280\",\"无限快穿-女主::80000282\"]\n无cp完结 = [\"未来幻想-男主::80000269\",\"未来幻想-女主::80000271\",\"都市成长-男主::80000273\",\"都市成长-女主::80000275\",\"古代架空-男主::80000277\",\"古代架空-女主::80000279\",\"无限快穿-男主::80000281\",\"无限快穿-女主::80000283\"]\n衍生无CP连载 = [\"都市轻小说::80000300\",\"幻想轻小说::80000302\",\"东方衍生::80000304\",\"西方衍生::80000314\",\"二次元热血::80000308\",\"二次元幻想::80000310\",\"二次元异能::80000312\",\"女主向::80000306\"]\n衍生无CP完结 = [\"都市轻小说::80000301\",\"幻想轻小说::80000303\",\"东方衍生::80000305\",\"西方衍生::80000315\",\"二次元热血::80000309\",\"二次元幻想::80000311\",\"二次元异能::80000313\",\"女主向::80000307\"]\n衍生纯爱连载 = [\"名著传奇::23000019\",\"西方罗曼::23000024\",\"都市轻小说::80000064\",\"幻想轻小说::80000066\",\"二次元热血::80000068\",\"二次元幻想::80000070\",\"二次元异能::23000022\",\"其他衍生::23000018\"]\n衍生纯爱完结 = [\"名著传奇::23000038\",\"西方罗曼::23000043\",\"都市轻小说::80000065\",\"幻想轻小说::80000067\",\"二次元热血::80000069\",\"二次元幻想::80000071\",\"二次元异能::23000041\",\"其他衍生::23000037\"]\n衍生言情连载 = [\"名著阅读::24000017\",\"历史传奇::24000022\",\"西方罗曼::24000023\",\"无限快穿::24000021\",\"江湖恩怨::24000019\",\"娱乐竞技::24000020\",\"东方幻想::24000018\",\"其他书籍::24000024\"]\n衍生言情完结 = [\"名著阅读::24000036\",\"历史传奇::24000041\",\"西方罗曼::24000042\",\"无限快穿::24000040\",\"江湖恩怨::24000038\",\"娱乐竞技::24000039\",\"东方幻想::24000037\",\"其他书籍::24000043\"]\n二次元言情连载 = [\"热血冒险::80000180\",\"多重身份::80000178\",\"经营基建::80000184\",\"竞技社团::80000192\",\"东方古风::80000172\",\"西幻魔幻::80000174\",\"乙女游戏::80000176\",\"异能超能::80000182\",\"次元快穿::80000188\",\"萌系育成::80000190\",\"浪漫情缘::80000186\",\"新奇幻想::80000194\"]\n二次元言情完结 = [\"热血冒险::80000181\",\"多重身份::80000179\",\"经营基建::80000185\",\"竞技社团::80000193\",\"东方古风::80000173\",\"西幻魔幻::80000175\",\"乙女游戏::80000177\",\"异能超能::80000183\",\"次元快穿::80000189\",\"萌系育成::80000191\",\"浪漫情缘::80000187\",\"新奇幻想::80000195\"]\n\n\n标签 =[\"快穿::125::::bq\",\"穿书::134::::bq\",\"甜文::124::::bq\",\"重生::75::::bq\",\"爽文::137::::bq\",\"系统::122::::bq\",\"强强::19::::bq\",\"星际::135::::bq\",\"生子::20::::bq\",\"校园::185::::bq\",\"末世::81::::bq\",\"女配::96::::bq\",\"美食::99::::bq\",\"异能::72::::bq\",\"玄学::206::::bq\",\"打脸::138::::bq\",\"清穿::18::::bq\",\"女强::82::::bq\",\"直播::142::::bq\",\"年下::21::::bq\",\"武侠::11::::bq\",\"逆袭::184::::bq\",\"宫斗::74::::bq\",\"日韩::86::::bq\",\"婚恋::78::::bq\",\"竞技::70::::bq\",\"科举::174::::bq\",\"萌宠::205::::bq\",\"恐怖::29::::bq\",\"机甲::97::::bq\",\"科幻::28::::bq\",\"洪荒::67::::bq\",\"血族::69::::bq\",\"宅斗::73::::bq\",\"网红::141::::bq\",\"成长::183::::bq\",\"职场::98::::bq\",\"经商::180::::bq\",\"网配::84::::bq\",\"美娱::140::::bq\",\"商战::123::::bq\",\"传奇::89::::bq\",\"聊斋::188::::bq\",\"婆媳::80::::bq\",\"爱情::1::::lx\",\"武侠::2::::lx\",\"奇幻::3::::lx\",\"仙侠::4::::lx\",\"游戏::5::::lx\",\"传奇::6::::lx\",\"科幻::7::::lx\",\"童话::8::::lx\",\"惊悚::9::::lx\",\"悬疑::10::::lx\",\"剧情::16::::lx\",\"娱乐圈::64::::bq\",\"种田文::66::::bq\",\"年代文::173::::bq\",\"无限流::83::::bq\",\"少年漫::90::::bq\",\"古穿今::65::::bq\",\"升级流::139::::bq\",\"少女漫::14::::bq\",\"原著向::93::::bq\",\"姐弟恋::186::::bq\",\"大冒险::198::::bq\",\"轻小说::17::::lx\",\"穿越时空::60::::bq\",\"仙侠修真::68::::bq\",\"豪门世家::33::::bq\",\"随身空间::56::::bq\",\"情有独钟::39::::bq\",\"灵异神怪::26::::bq\",\"破镜重圆::47::::bq\",\"英美衍生::17::::bq\",\"虐恋情深::42::::bq\",\"青梅竹马::62::::bq\",\"超级英雄::132::::bq\",\"宫廷侯爵::32::::bq\",\"异世大陆::57::::bq\",\"悬疑推理::128::::bq\",\"天作之合::52::::bq\",\"天之骄子::54::::bq\",\"游戏网游::92::::bq\",\"都市情缘::30::::bq\",\"性别转换::24::::bq\",\"现代架空::126::::bq\",\"未来架空::127::::bq\",\"欢喜冤家::41::::bq\",\"前世今生::49::::bq\",\"幻想空间::25::::bq\",\"复仇虐渣::145::::bq\",\"东方玄幻::144::::bq\",\"朝堂之上::178::::bq\",\"奇幻魔幻::27::::bq\",\"励志人生::121::::bq\",\"民国旧影::61::::bq\",\"布衣生活::38::::bq\",\"业界精英::101::::bq\",\"历史衍生::91::::bq\",\"女扮男装::136::::bq\",\"市井生活::175::::bq\",\"古代幻想::189::::bq\",\"西方罗曼::59::::bq\",\"平步青云::55::::bq\",\"相爱相杀::103::::bq\",\"因缘邂逅::45::::bq\",\"灵魂转换::23::::bq\",\"魔法幻情::191::::bq\",\"西方名著::16::::bq\",\"江湖恩怨::35::::bq\",\"异国奇缘::37::::bq\",\"花季雨季::31::::bq\",\"制服情缘::85::::bq\",\"都市异闻::181::::bq\",\"古典名著::130::::bq\",\"近水楼台::46::::bq\",\"亡灵异族::192::::bq\",\"乔装改扮::51::::bq\",\"小门小户::177::::bq\",\"时代奇缘::22::::bq\",\"史诗奇幻::199::::bq\",\"阴差阳错::53::::bq\",\"恋爱合约::48::::bq\",\"异闻传说::196::::bq\",\"边缘恋歌::44::::bq\",\"三教九流::36::::bq\",\"骑士与剑::63::::bq\",\"七年之痒::79::::bq\",\"授权衍生::148::::bq\",\"异想天开::190::::bq\",\"乡村爱情::58::::bq\",\"爱情战争::50::::bq\",\"时尚流行::182::::bq\",\"时代新风::210::::bq\",\"古典衍生::20::::lx\",\"东方衍生::18::::lx\",\"西方衍生::19::::lx\",\"其他衍生::21::::lx\"];\n\n\n\/\/分类生成\nfunction parse(data){\n\tlet args=data.split(separator);\n\tlet title = args[0],url=args[1],num=nums;\n\t\n\ttry {num = args[2] }catch(e){}\n\t\n\t let u=\/^\\d+\/.test(url)?\"http:\/\/app-cdn.jjwxc.net\/bookstore\/getFullPage?channelBody=%7B%22\"+url+\"%22%3A%7B%22offset%22%3A%22{{(page-1)*25}}%22%2C%22limit%22%3A%2225%22%7D%7D&versionCode=148\":url;\n try {num = args[2] }catch(e){}\n\treturn [title, u, num]\n\t}\n\n\n\/\/标签生成\nfunction parse2(data,xx){\n\tlet args=data.split(separator);\n\tlet title = args[0],url=args[1],num=nums;\n\t\n\ttry {num = args[2] }catch(e){}\n\t\n\t  try {tag = args[3]; u=tag==\"bq\"?'https:\/\/android.jjwxc.com\/search\/getSearchForKeyWords?versionCode=313&offset={{(page-1)*20}}&limit=20&bq='+url+'&removetags=0&fw=0&yc=0&xx='+xx+'&sd=0&lx=0&fg=0&mainview=0&fbsj=0&collectionTypes=ors&isfinish=0&sortType=0&token='+token:u;\n u=tag==\"lx\"?'https:\/\/android.jjwxc.com\/search\/getSearchForKeyWords?versionCode=313&offset={{(page-1)*20}}&limit=20&bq=0&removetags=0&fw=0&yc=0&xx='+xx+'&sd=0&lx='+url+'&fg=0&mainview=0&fbsj=0&collectionTypes=ors&isfinish=0&sortType=0&token='+token:u\n }catch(e){}\n\treturn [title, u, num]\n\t}\n\nfunction FlexBox(title, url, num){\n\tlet obj={};\n\t\t obj.style={},obj.title=title,obj.url=url?url:'',obj.style['layout_flexGrow']=1;\n\t\/\/数值设定\n\tlet data={1:1,2:0.4,3:0.25,4:0.2,5:0.15,7:0.1,10:0.05};\nobj.style['layout_flexBasisPercent']=data[num]\n\t\treturn obj\n\t\t}\n\t\t\n分类list = 开启的分类.split(\",\")\n\nvar 分类result = [];\n\tall.forEach(x=>{\n\t\t 分类result.push(FlexBox.apply(null,parse(x)))\n\t\t})\n\t\t\nfor(i in 分类list){\n\t分类result.push(FlexBox.apply(null,parse(分类[分类list[i]]+\"连载::::1\")))\n\ta = eval(分类[分类list[i]]+\"连载\");\n\ta.forEach(x=>{\n\t\t 分类result.push(FlexBox.apply(null,parse(x)))\n\t\t})\n\t分类result.push(FlexBox.apply(null,parse(分类[分类list[i]]+\"完结::::1\")))\n\tb = eval(分类[分类list[i]]+\"完结\");\n\tb.forEach(x=>{\n\t\t 分类result.push(FlexBox.apply(null,parse(x)))\n\t\t})\n\t}\n分类result.push(FlexBox.apply(null,parse(\"标签::::1\")))\n标签.forEach(x=>{\n\t\t 分类result.push(FlexBox.apply(null,parse2(x,标签分类)))\n\t\t})\n\t\tJSON.stringify(分类result)\n<\/js>",
    "header": "<js>\nlet date=\"Mobile \"+Date.now();\nresult = JSON.stringify({\"User-Agent\": String(date)})\n<\/js>",
    "jsLib": "function rd(){\n\tlet n = [0,1,2,3,4,5,6,7,8,9];\n\tlet s =\"\";\n\tfor(i=0;i<20;i++){\n\t\tr=Math.floor(Math.random()*10);\n\t\ts+=n[r]\n\t\t}\n\t\treturn s\n\t}\n\t\nfunction encode(data){\n\tconst { java } = this;\n  return\tjava.createSymmetricCrypto(\"DES\/CBC\/PKCS5Padding\", String(\"KW8Dvm2N\"), String(\"1ae2c94b\")).encryptBase64(data)\n\t}\n\t\nfunction Map(e) { \n\t  const { source } = this;\n    let infomap = source.getLoginHeaderMap();\n    let map = (infomap !== null && infomap.get(e)) ? infomap.get(e) : '';\n    return String(map);\n}\n\n\t\nfunction setHead(k,v){\n\tconst { source } = this;\n  let  infomap = source.getLoginHeaderMap();\n  let map = (infomap !== null && infomap !== \"\")?infomap:{};\n  map[k] = v;\n  source.putLoginHeader(JSON.stringify(map))\n\t}",
    "lastUpdateTime": "1739934611718",
    "loginCheckJs": "",
    "loginUi": "[\n\t{\n    \t  name:\"抓包token登录\",\n    \t  type:\"password\"\n    \t},\n    {\n    \t  name:\"账号\",\n    \t  type:\"text\"\n    \t},\n    \t{\n    \t  name:\"密码\",\n    \t  type:\"password\"\n    \t},\n    \t{\n    \t  name:\"验证码\",\n    \t  type:\"text\"\n    \t},\n    \n   {\n        name: \"①获取邮箱验证码\",\n        type: \"button\",\n        action: \"getCode('email')\"\n    },\n     {\n        name: \"②邮箱登录\",\n        type: \"button\",\n        action: \"getCode('email')\"\n    },\n    {\n        name: \"①获取手机验证码\",\n        type: \"button\",\n        action: \"getCode('phone')\"\n    },\n    \t\n   \n    {\n        name: \"②手机登录\",\n        type: \"button\",\n        action: \"getCode('phone')\"\n    },\n\t{\n\t\tname: \"填写需要开启的分类序号(如2,4,5【默认为9,10】)\",\n\t\ttype: \"text\",\n\t\taction: \"getToast()\"\n\t}, {\n\t\tname: \"0古代言情    1都市青春    2幻想现言      3古代穿越\",\n\t\ttype: \"button\",\n\t\taction: \"getToast()\"\n\t},\n\t{\n\t\tname: \"4奇幻言情   5未来游戏悬疑  6都市现纯  7幻想现纯\",\n\t\ttype: \"button\",\n\t\taction: \"getToast()\"\n\t},\n\t{\n\t\tname: \"8古代纯爱      9百合小说      10无cp     11衍生无CP\",\n\t\ttype: \"button\",\n\t\taction: \"getToast()\"\n\t},\n\t{\n\t\tname: \"12衍生纯爱          13衍生言情             14二次元言情\",\n\t\ttype: \"button\",\n\t\taction: \"getToast()\"\n\t},\n\t{\n\t\tname: \"填写需要开启的分类序号(如2【默认为5,只能单选】)\",\n\t\ttype: \"text\",\n\t\taction: \"getToast()\"\n\t},\n\t{\n\t\tname: \"1言情         2纯爱         3百合       4女尊       5无Cp\",\n\t\ttype: \"button\",\n\t\taction: \"getToast()\"\n\t}\n]",
    "loginUrl": "<js>\n\/\/请不要改书源的任何地方,请点击“登录”后再填写\nfunction getloginUrl(){\n\tlet 账号 = result.get(\"账号\");\n\tlet 密码 = result.get(\"密码\");\n\tlet en = encode(密码);\n\tlet id = rd()+\":\"+java.androidId()+\"d4:\";\n\tlet sign = encode(Date.now()+\"_\"+id+\"_\");\n\tlet loginUrl = `https:\/\/app.jjwxc.org\/androidapi\/login?versionCode=401&loginName=${encodeURIComponent(账号)}&encode=1&loginPassword=${encodeURIComponent(en)}&sign=${encodeURIComponent(sign)}&identifiers=${encodeURIComponent(id)}&autologin=1`;\n\treturn loginUrl\n\t}\n\nfunction getCode(t){\n\tlet 验证码 = result.get(\"验证码\");\n\tlet 账号 = result.get(\"账号\");\n\tlet 密码 = result.get(\"密码\");\n\t\n\tif(!\/^\\d{4,}\/.test(验证码)){\n\t\t\nlet res = \tJSON.parse(java.ajax(getloginUrl()));\n\nif(res.code==\"221003\"){\n\tlet url = \"https:\/\/app.jjwxc.org\/\/appDevicesecurityAndroid\/getDeviceSecurityCode\";\n\tbody = \"versionCode=401&username=\"+encodeURIComponent(账号)+\"&checktype=\"+t;\n\toption = {\n\t\t\"method\":\"POST\",\n\t\t\"body\":String(body)\n\t\t}\n\t\t\tmsg = JSON.parse(java.ajax(url+\",\"+JSON.stringify(option))).data.message;\n\t\tjava.toast(msg);\n\t\t}else{\n\t\t\tjava.toast(res.message)\n\t\t\t}\n}else{\n\t\tlet lurl = getloginUrl()+\"&checktype=\"+t+\"&checkdevicecode=\"+验证码;\n\t\tlet token = JSON.parse(java.ajax(lurl)).token;\n\t\tjava.longToast(\"获取到:\"+token+\"\\n\"+\"请点右上角的✓\");\n\t\tjava.log(\"token值:\"+token)\n\t\tsource.putLoginHeader(token)\n\t}\n}\n\nfunction getToast(){\n\tjava.toast(\"用来看的,别点了,确认请点右上角的✓\")\n\t};\n\t\nfunction login(){\n\tlet token;\n\tMap = source.getLoginInfoMap();\n\tMap == (Map == null||Map==\"\")?{}:Map\n\ttoken = source.getLoginHeader();\n\tlet t = source.getLoginInfoMap()[\"抓包token登录\"];\n\tif(t!=\"\"&&t!=null)token = t;\n\tif(\/\\{\/.test(token))token = source.getLoginHeaderMap()[\"token\"];\n\t\n\tlet fl = Map.get(\"填写需要开启的分类序号(如2,4,5【默认为9,10】)\");\n\tfl = (fl==\"\"||fl==null)?\"9,10\":fl;\n\t\n\tlet bq = Map.get(\"填写需要开启的分类序号(如2【默认为5,只能单选】)\");\n\tbq = (bq==\"\"||bq==null)?\"5\":bq;\n\t \n\t option = {\n\t \t\"token\":String(token),\n\t \t\"fl\":String(fl),\n\t \t\"bq\":String(bq)\n\t \t}\n\tsource.putLoginHeader(JSON.stringify(option))\n\t\n\t}\n<\/js>",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "$.authorName",
        "canReName": "1",
        "coverUrl": "{{$.novelCover}}\n<js>\nif(\/(?:postimg|bmp|alicdn)\\.\/.test(result)){\n\tjava.setContent(src);\n\tresult = \"https:\/\/i9-static.jjwxc.net\/novelimage.php?novelid={{$.novelId}}\"\n\t}else{\n\t\tresult = result\n\t\t}\n\n<\/js>",
        "init": "",
        "intro": "<js>\n\/\/请假条\ntry{\na=JSON.parse(java.ajax('http:\/\/app.jjwxc.org\/androidapi\/getnovelOtherInfo?novelId='+baseUrl.match(\/(\\d+)\/)[1]+'&type=novelbasicinfo&versionCode=163'));\n\njava.put(\"pv\",a.novelreview)\n\n$=a.novelLeave;\nn='\\n';\nleave=$.leaveContent?'————————•————————'+n+'​'+n+$.leaveDateBack+n+'​'+'​'+'      '+$.leaveContent+n+$.leaveDate.replace(\/请假时间:\/,'⌚️')+n+$.leaveIntro:'';\njava.put('leave',leave);\njava.put('intro',JSON.parse(result).novelIntro.replace(\/\\#\/g,'#'));\nresult}catch(err){\njava.log(err);\njava.put('leave',\"\");\njava.put('intro',\"\");\n}\n<\/js>\n{{\/开启购买\/.test(book.getVariable(\"custom\"))?\"&nbsp;&nbsp;💰已开启自动购买下五章,建议删除书籍变量的[开启\/关闭购买]文字,避免刷新书籍时反复进行网络请求<br>\\n&lrm;<br>\":\"\"}}\n&nbsp;&nbsp;📖{{$.novelIntroShort##。$}}📖{{'\\n&lrm;'}}<br>\n🏆{{$.ranking}}    🍼{{$.nutrition_novel}}    📝{{$.comment_count}}    🔖{{$.novelStyle}}\n◉ 标签:{{$.novelTags##,|\\s##🏷}}<br>\n◉ {{$.protagonist##,|,|;|;##、}}<br>\n◉ {{$.costar##,|,|;|;##、}}<br>\n◉ {{$.other##,|,|;|;##、}}<br>\n◉ 视角:{{$.mainview}}<br>\n◉ 评分:{{java.get(\"pv\")}}<br>\n◉ 收藏:{{$.novelbefavoritedcount}}<br>\n{{String(java.get('intro')).replace(\/立意:\/,'◎◎ 立意:')}}<br>{{java.get('leave')}}<br>\n{{'\\n'+'​'}}\n\n<js>\nresult=String(result);\nli=result.match(\/◎ 立意.*\/)?'&lrm;\\n'+result.match(\/(◎ 立意.*?<br>)\/)[1]:'';\nString(result).replace(\/📖📖|📖''📖\/,'').replace(\/(◉ 收藏.*?<br>)\/,'$1\\n'+li+'&lrm;\\n'+'————————•————————\\n').replace(\/◎◎ 立意.*<br>\/,'').replace(\/(?:◉ 标签:|◉ 主角:|◉ 配角:|◉ 其它:|◉ 视角:|◉ 评分:|&lrm;\\n◎ 立意:)<br>\/g,'')<\/js>",
        "kind": "{{step=java.getString('$.novelStep')=='2'?'已完结':'连载中';}},{{$.novelClass&&$.novelTags}}##-##,",
        "lastChapter": "<js>\ntry{last=JSON.parse(java.ajax('http:\/\/android.jjwxc.net\/androidapi\/chapterList?novelId='+baseUrl.match(\/(\\d+)\/)[1])).chapterlist;\n$=last[last.length-1];\nvip=$.isvip?'🔒':'';\nchapterid=$.chapterid;\nchaptername=$.chaptername;\ndate=$.chapterdate;\nvip+chapterid+'.'+chaptername+'•'+date}\ncatch(err){\nresult=\"请刷新或暂无目录\"\n}\n<\/js>",
        "name": "",
        "tocUrl": "@js:\ntoken = Map(\"token\");\nnovelId=baseUrl.match(\/novelId=(\\d+)\/)[1]\nif(\/\\d+_[\\w\\d]{16,}\/.test(token)){\n\turl = \"https:\/\/android.jjwxc.net\/androidapi\/chapterList?novelId=\"+novelId+\"&more=0&whole=1&token=\"+token\n\t}else{\nurl = \"https:\/\/android.jjwxc.net\/androidapi\/chapterList?novelId=\"+novelId+\"&more=0&whole=1\"\n}",
        "wordCount": "$.novelSize##,"
    },
    "ruleContent": {
        "content": "<js>\r\nfunction decode(){\r\n        let v43,v38,dest;\r\n         \n        let date=\"Mobile \"+Date.now();\r\n        let respose = java.get(baseUrl,{\"User-Agent\": String(date)}); \r\n        let accesskey = String(respose.header(\"accesskey\"));\r\n        let keyString = String(respose.header(\"keystring\"));\r\n        let content = String(respose.body());\r\n        let accesskeyLen = accesskey.length;\r\n        let v9 =0;\r\n        let v6 = String(accesskey[accesskeyLen-1]).charCodeAt();\r\n        for(i=0;i<accesskeyLen;i++){\r\n\t        v9 += accesskey[i].charCodeAt();\r\n\t    }\r\n        let v15 = v9 %  keyString.length;\r\n        let v17 = parseInt(v9 \/ 65);\r\n        let v18 = keyString.length;\r\n        if( v17 +v15 > v18){\r\n\t        v43 = keyString.substring(v15,(v18-v15)+v15)\r\n\t    }else{\r\n\t\t    v43 = keyString.substring(v15,v17+v15)\r\n\t\t}\r\n        let v32 = content.length;\r\n        if((v6 & 1)!=0){\r\n            v38 =\tcontent.substring(v32-12,v32)\r\n\t        dest = content.substring(0,v32-12)\r\n\t    }else{\r\n\t\t    v38 = content.substring(0,12);\r\n\t\t    dest = content.substring(12,content.length);\r\n\t\t}\r\n\t    let key = java.md5Encode(v43+v38).substring(0,8);\r\n\t    let iv = java.md5Encode(v38).substring(0,8);\r\n\t    content = java.createSymmetricCrypto(\"DES\/CBC\/PKCS5Padding\", String(key), String(iv)).decryptStr(dest);\r\n        return content\r\n}\r\n\r\nif(\/jjwxc\/.test(baseUrl)){\r\n    intro=String(java.get(\"intro1\")).replace(\/\\s\/g,'');\r\n    \/\"content\"\/.test(result)?java.setContent(result):java.setContent(decode());\r\n    intro=intro!=\"\"?\"◎\"+intro+\"◎<br>\":\"\";\r\n    content=java.getString(\"$..content\");\r\n    saybody=java.getString(\"$..sayBody\");\r\n    say=saybody!=\"\"?\"\\n【📢作者有话说】\\n\"+saybody:\"\";\r\n    if(\/token\/.test(baseUrl)){\r\n        vipc=String(content).length > 30?java.createSymmetricCrypto(\"DES\/CBC\/PKCS5Padding\", String(\"KW8Dvm2N\"), String(\"1ae2c94b\")).decryptStr(content):java.getString(\"$..message\")+\"\\n登录后请更新目录,刷新正文\";\r\n        result=intro+String(vipc+say);\r\n    }else{\r\n        result=intro+content+say\r\n    }\r\n}else{\r\n    result=\"\"\r\n}\r\n\r\n\/\/评论开启\r\nlet bbb = book.getVariable(\"custom\")\r\nlet sss=source.getVariable()\r\nif(\/评论\/.test(bbb) || \/评论\/.test(sss)){\r\n    let commentNum =\/评论\/.test(bbb)?bbb.match(\/评论(\\d+)\/)[1]:sss.match(\/评论(\\d+)\/)[1];\r\n    if(\/chapterContent\/.test(baseUrl)){\r\n        commentUrl = baseUrl.replace(\/androidapi\/,'comment').replace(\/chapterContent\/,'getCommentList')+\"&limit=\"+commentNum+\"&offset=0\";\r\n    }else if(\/androidChapterBatchDownload\/.test(baseUrl)){\r\n\t    body = baseUrl.match(\/body\":\"(.*?)\"\/)[1];\r\n\t    commentUrl = \"https:\/\/app.jjwxc.org\/comment\/getCommentList?\"+body+\"&limit=\"+commentNum+\"&offset=0&commentSort=0\"\r\n    }\r\n    comment = JSON.parse(java.ajax(commentUrl));\r\n    cflag = comment.code == \"200\" ? true:false;\r\n    ccflag = comment.code == undefined ? true:false\r\n    commentList = [];\r\n    if(cflag || ccflag){\r\n        commentList =comment.commentList || comment.data.commentList ||[];\r\n        commentb = \"\";\r\n    }else{\r\n\t    commentb = comment.message\r\n\t    }\r\n    for(i=0;i<commentList.length;i++){\r\n\t    let b = commentList[i];\r\n\t    let author = b.commentAuthor;\r\n\t    let body = b.commentBody;\r\n\t    let time = b.commentDate;\r\n\t    commentb+=\"▪\"+author+\" ——\"+time+\"▪\\n\"+body+\"\\n\";\r\n    }\r\n    result = result + \"\\nㅤ\\n最新评论:\\n\" + commentb\r\n}\r\nresult\n<\/js>\n##为营造更好的评论环境,近期网站要求发评须进行实名认证,未实名用户评论暂时仅在对应作者后台及发评用户后台可见.*|获取正文失败[\\s\\S]+|◎\\s+?◎",
        "imageStyle": "TEXT",
        "nextContentUrl": "",
        "payAction": "cid = baseUrl.match(\/chapterId=(\\d+)\/)[1];\nnid = baseUrl.match(\/novelId=(\\d+)\/)[1];\ntoken = Map(\"token\");\n\nenbody = String(Date.now())+\":\"+token+\":\"+nid;\nsign = java.createSymmetricCrypto(\"DES\/CBC\/PKCS5Padding\", String(\"KW8Dvm2N\"), String(\"1ae2c94b\")).encryptBase64(enbody)\n\nbody = \"versionCode=287&novelId=\"+nid+\"&chapters=\"+cid+\"&orderType=15&isautoBuy=0&autosubscribeStatus=0&notUseBackpoint=&sign=\"+sign;\n\nurl = \"https:\/\/android.jjwxc.net\/androidapi\/buy,\"\npost = {\n\t\"method\":\"POST\",\n\t\"body\":String(body)\n\t}\n a = java.ajax(url+JSON.stringify(post));\n \n if(\/购买成功\/.test(JSON.parse(a).message)){\n \tjava.longToast(JSON.parse(a).message+\"\\n请刷新正文\");\n \t}else{\n \t\tmm = JSON.parse(a).message==\"\"?JSON.parse(a).popupdata.popupmessage+\"\\n❗️进晋江app进行一次验证后❗️才能在阅读app使用购买功能\":JSON.parse(a).message;\n\n \t\tjava.longToast(mm);\n \t\t}",
        "replaceRegex": "@js:\n\/\/去除章节简介与正文重复\nif(\/^◎\/.test(result) ){\nchapter = result.match(\/◎([\\s\\S]+?)(…)*◎\/)[1].replace(\/\\s\/g,'').replace(\/,\/g,',');\n\nchapter2=result.match(\/◎[\\s\\S]+?◎([\\s\\S]+)\/)[1].replace(\/\\s\/g,'').replace(\/,\/g,',');\n\n\/\/前4个字相同就删除\nnum = 4\nif(chapter.substring(0,num)==chapter2.substring(0,num)){\n\tresult = result.replace(\/◎[\\s\\S]+?◎\/,'')\n\t}else{result}\n}else{result}",
        "sourceRegex": "",
        "webJs": ""
    },
    "ruleExplore": {
        "author": "$.authorName||$.authorname",
        "bookList": "@JSon:$..[?(@.novelName)]&&$..[?(@.novelname)]&&$.massage\n<js>\nif(result){\nfunction remove(a,b){\nlet delIndexList = a; \/\/ 要删除的序列\n if (delIndexList.length !== 0) { \nfor (let i = delIndexList.length - 1; i >= 0; i--) { b.splice(delIndexList[i], 1) } \nreturn b\n}\n}\n\nif(baseUrl.match(\/novelfree\/)){\nlist=JSON.parse(src);\nfor(i in list){\nchannelName=list[i].channelName;\nblist=list[i].data;\nif(blist!=\"undefined\"){\nfor(j in blist){\nblist[j].channelName=channelName\n}}else{blist.channelName=channelName}\n\n}\nif(!baseUrl.match(\/novelfree\/)){\nlist=remove([0, 6,11,12,13],list)\n}else{\nlist=remove([1],list)\n}\nresult=JSON.stringify(list);}\nelse if(baseUrl.match(\/signin|getSearchForKeyWords\/)){\nresult=\"{signIn:[\"+src+\"]}\"\n}\nelse{result=result}\n}else{result=\"\"}\n<\/js>\n$..[?(@.novelName)]&&$..[?(@.novelname)]&&$.signIn[*]",
        "bookUrl": "http:\/\/app-cdn.jjwxc.net\/androidapi\/novelbasicinfo?novelId={{$.novelid||$.novelId}}@put:{id:$.novelid||$.novelId}",
        "coverUrl": "@JSon:$.cover||$.novelCover||$.ebookurl\n<js>\nif(\/(?:postimg|bmp|alicdn)\\.\/.test(result)){\n\tjava.setContent(src);\n\tresult = \"https:\/\/i9-static.jjwxc.net\/novelimage.php?novelid={{$.novelId}}\"\n\t}else{\n\t\tresult = result\n\t\t}\n\t\theader = {\n\t\t\"headers\":{\n\t\t\t\"referer\":result.match(\/(^https?:\\\/\\\/.*?\\\/)\/)[1]\n\t\t\t}\n\t\t}\nresult = (result +\",\"+ JSON.stringify(header)).replace(\/wx\\d+\/,'wx2')\n<\/js>",
        "intro": "$.novelIntroShort||$.novelintroshort\n<js>\nfree=\"{{$.freeDate}}\";\nif(free!=\"\"){\nresult=\"限免日期:🗓\"+free+\"\\n\"+result\n}else{\nresult=result\n}\n<\/js>",
        "kind": "@JSon:$.channelName&&$.tags&&$.novelSizeformat&&$.className##\\s+##,",
        "lastChapter": "第{{$.maxChapterId}}章##第章",
        "name": "$.novelName||$.novelname||$.message",
        "wordCount": "$.novelStep||$.novelstep\n@js:result==2?'已完结':'连载中';"
    },
    "ruleSearch": {
        "author": "author",
        "bookList": "$.items[:20]\n<js>\nlist=result.toArray();\njson=[];\nfor(i in list){\nid=String(list[i]).match(\/href\/)?String(list[i].attr(\"href\")).match(\/(\\d+)\/)[1]:list[i].novelid;\nurl=\"http:\/\/www.jjwxc.net\/onebook.php?novelid=\"+id;\nhtml=String(java.ajax(url));\njava.setContent(html);\nJ=org.jsoup.Jsoup.parse(html);\n\ndes=String(J.select(\"span[style='color:#F98C4D']\").text()).replace(\/立意:\/,'◎ ').replace(\/一句话简介:\/,'◎ ')+\"◎\"+java.getElement(\"id.novelintro\").text();\ntitle=J.select('h1[itemprop=\"name\"]').text();\nauthor=J.select('span[itemprop=\"author\"]').text();\ncover=J.select(\".noveldefaultimage\").attr(\"src\");\nif(\/(?:postimg|bmp|alicdn)\\.\/.test(cover)){\n\tcover = \"https:\/\/i9-static.jjwxc.net\/novelimage.php?novelid=\"+id\n\t}\ncat=String(J.select('a[style=\"text-decoration:none;color: red;\"]').text()).replace(\/\\s\/g,',');\nstatus=J.select('span[itemprop=\"updataStatus\"]').text();\nsize=String(J.select('span[itemprop=\"wordCount\"]').text()).replace(\/字\/,'');\nn=String(java.getElement('@@id.oneboolt@tag.tr.-2@span').text()).replace(\/\\n\/,'•').replace(\/\\*最新更新\/,'').replace(\/(.*?)\\[VIP\\]\/,'🔒$1');\nnum=java.getElement('@@id.oneboolt@tag.tr.-2@tag.td.0').text();\ngenre=J.select('[itemprop=\"genre\"]').text().split('-')[1];\njson.push({\ntitle:title,\nauthor:author,\ncat:status+\",\"+cat+','+genre,\nsize:size,\nurl:\"http:\/\/app-cdn.jjwxc.net\/androidapi\/novelbasicinfo?novelId=\"+id,\ndes:des,\nnew:String(num+\"、\"+n).replace(\/(\\d+、)🔒\/,'🔒$1'),\ncover:cover\n})\n}\njson\n<\/js>",
        "bookUrl": "url",
        "checkKeyWord": "穿进刑侦文",
        "coverUrl": "cover",
        "intro": "des",
        "kind": "cat",
        "lastChapter": "new",
        "name": "title",
        "wordCount": "size"
    },
    "ruleToc": {
        "chapterList": "<js>\nmessage = JSON.parse(src).message;\nnovelId=baseUrl.match(\/novelId=(\\d+)\/)[1];\n\n\nif(\/token=\\d+_[\\w\\d]{16,}\/.test(baseUrl)&&!\/1058\/.test(message)){\nlet lessData = JSON.parse(src).chapterlist;\n\n有卷名url = \"https:\/\/android.jjwxc.net\/androidapi\/chapterList?novelId=\"+novelId+\"&more=0&whole=1\";\n\nlet moreData = JSON.parse(java.ajax(有卷名url)).chapterlist;\n\nfor(let item of lessData) {\n    let match = moreData.find(moreItem => moreItem.chapterid === item.chapterid && moreItem.chaptertype === item.chaptertype);\n    if(match) {\n        Object.assign(match, item);\n    }\n}\nJSON.stringify(moreData)\n}else{\n\tresult = src\n\t}\n<\/js>\n$.chapterlist[*]||$.[*]\n\n<js>\nfunction readEncrypt(novelid,flag) {\n\t     cookie=Map(\"token\");\n     \tFORUMSIGNTAG = 1;\n       READSIGNTAG = 0;\n\t      strArr = [cookie,novelid,\"autosubscribe\",flag];\n\t         \n\t      sb = new Date().getTime().toString();\n         length = strArr.length;\n        for ( i2 = READSIGNTAG; i2 < length; i2 += FORUMSIGNTAG) {\n            str = strArr[i2];\n            sb+=\":\";\n            sb+=str;\n        }\n\t     \n\t    en= java.createSymmetricCrypto(\"DES\/CBC\/PKCS5Padding\", String(\"KW8Dvm2N\"), String(\"1ae2c94b\")).encryptBase64(sb)\n\t    \n\t      body = \"versionCode=313&sign=\"+en;\noption = {\n\tmethod:\"POST\",\n\tbody:String(body)\n\t}\nurl = \"https:\/\/android.jjwxc.com\/androidapi\/autoSubscribe,\"+JSON.stringify(option); java.longToast(JSON.parse(java.ajax(url)).message)\n    }\n    \n if(\/(开启|关闭)购买\/.test(book.getVariable(\"custom\"))){\n \ta = \/关闭购买\/.test(book.getVariable(\"custom\"))?\"cancel\":(\/开启购买\/.test(book.getVariable(\"custom\"))?\"open\":\"cancel\");\n \treadEncrypt(result[0].novelid,a)\n \t}\n \t\nresult = result[0]==\"1058\"||result[0]==\"1068\"?JSON.stringify([{\"chaptername\":\"暂无目录\",\"chapterid\":\"\",\"islock\":\"0\"}]):result;\n<\/js>\n$.[*]",
        "chapterName": "<js>\n$=result;title=$.chaptername;title=String(title).replace(\/^\\s+\/,'');intro=$.chapterintro;vip=$.isvip!='0';lock=$.islock!='0';type=$.chaptertype=='1'?true:false;num=!type?$.chapterid+\"  ☪ \":'';\n\nbbb = book.getVariable(\"custom\");sss = source.getVariable();\nif(\/去章节序号\/.test(bbb) || \/去章节序号\/.test(sss)){\nnum=''\n}\nif(\/章节名\/.test(bbb) || \/章节名\/.test(sss)){\nnum=!type?\"第\"+$.chapterid+\"章 \":'';\n}\ntitle=type?'📖 '+title+' 📖':title;\nif( (\/目录简介\/.test(bbb) || \/目录简介\/.test(sss))&&!\/📖\/.test(title)){\n\tfu = \/目录简介【(.*?)】\/.test(bbb)?bbb.match(\/目录简介【(.*?)】\/)[1]:sss.match(\/目录简介【(.*?)】\/)[1]\n\ttitle = title +fu+intro\n\t}else{\n\t\tjava.put(\"intro1\",intro);\n\t\t}\nl=lock?'[此章节已锁]':'';\nresult=num+title+l;\n<\/js>",
        "chapterUrl": "@js:\n$=result;\nchapterid=$.chapterid;\nvip=$.isvip!='0';\n\ntype=$.chaptertype=='1';\n\nif( !type){\nif(!vip){\nresult='https:\/\/app.jjwxc.net\/androidapi\/chapterContent?novelId='+baseUrl.match(\/novelId=(\\d+)\/)[1]+'&chapterId='+chapterid\n}else{\n\tresult =\"https:\/\/app.jjwxc.org\/androidapi\/chapterContent?novelId=\"+baseUrl.match(\/novelId=(\\d+)\/)[1]+\"&versionCode=349&token=\"+Map(\"token\")+\"&chapterId=\"+chapterid\n\t}\n}else{ result=\"\"}",
        "formatJs": "",
        "isPay": "<js>\npoint=(\"{{$.point}}\"=='0');\nchapterMessage =(\"{{$.chapterMessage}}\"!=\"VIP\")\nif(chapterMessage||point){\n\tresult=true\n\t}else{\n\t\tresult=false\n\t\t}\n<\/js>",
        "isVip": "<js>\nvip = (\"{{$.isvip}}\"!=\"0\");\ntype = (\"{{$.chaptertype}}\"=='1');\nresult = !type?(vip?true:false):false\n<\/js>",
        "isVolume": "<js>\n\"{{$.chaptertype}}\"=='1'?true:false;\n<\/js>",
        "preUpdateJs": "tocUrl = book.tocUrl;\nif(\/token=\\d+_[\\w\\d]{16,}\/.test(tocUrl)){\n   let src = \tjava.ajax(tocUrl);\n\t message = JSON.parse(src).message;\n\t if(\/登入验证失败\/.test(message)){\n\t \t     newToken = Map(\"token\");\t     \n\t \t     oldToken = tocUrl.match(\/token=(\\d+_[\\w\\d]{16,})\/)[1];    \n\t \t     if(newToken == oldToken)setHead(\"token\",\"\");  \t  \t      \n\t       java.longToast(\"登录token已失效,请重新登录\");\n\t       java.refreshTocUrl();\n\t    }\n\t}",
        "updateTime": "{{$.chaptersize}}字•{{$.chapterdate}}•{{$.chapterintro##^\\s*}}##^•|0000-00-00.*|^0字•|•$"
    },
    "searchUrl": "https:\/\/android.jjwxc.net\/androidapi\/search?versionCode=191&keyword={{key}}&type=1&page={{page}}&searchType=8&sortMode=DESC",
    "variableComment": "1、书籍变量(当前书)\n填写 [去章节序号] —— 去除章节序号\n填写[章节名]  ——  变为第xx章 章节名\n\n填写 [目录简介【符号】] —— 章节简介放到目录列表,正文不出现 符号:跟章节名连接时中间的符号,如 目录简介【 】,中间将为空格\n\n填写 [评论+评论数量]——如 评论50  则可以显示50条评论,数量必填\n\n填写 [开启购买\/关闭购买]  —— 如 开启购买 则会开启自动购买下五章【确认以后点右上角三点刷新才会生效,使用完毕后最好删除,避免重复请求】\n\n2、源变量(所有书)\n同书籍变量",
    "weight": 0
}
广告