🏷海棠文学城

🏷海棠文学城

alicecoco (8651)03/07 20:09

需登录
25.03.06 增加登录ui、源站切换、连接检测
//练习之作,bug致歉
//原源来自源社区,新增部分参考了很多大佬的源,特此说明并致谢
二维码导入
{
    "bookSourceComment": "需登录\n25.03.06 增加登录ui、源站切换、连接检测\n\/\/练习之作,bug致歉\n\/\/原源来自源社区,新增部分参考了很多大佬的源,特此说明并致谢",
    "bookSourceGroup": "✔,z★正版",
    "bookSourceName": "🏷海棠文学城",
    "bookSourceType": 0,
    "bookSourceUrl": "🏷海棠文学城",
    "bookUrlPattern": "",
    "concurrentRate": "",
    "customOrder": 5,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\nsort = [];\npush = (title, url, type) => sort.push ({\n  title: java.t2s(title),\n  url: `{{getUrl()}}`+url,\n  style: {\n    layout_flexGrow: 1,\n    layout_flexBasisPercent: type,\n  },\n});\npush('点击签到', `signinset.php`, .4);\npush('我的书柜', `?act=managemybookcase&pages={{page}}`, .4);\npush('• 长篇作品 •', null, 1);\n[[\"5万~10万字作品\",\"c\"], [\"10万~20万字作品\",\"b\"], [\"20万字以上作品\",\"a\"]]\n.map(\n  [title, t] => {\n    push(\n      title,\n      `?act=highcapacitybook&mngtypes=${t}&pages={{page}}`,\n      null\n    );\n  },\n);\npush('• 榜单控专用 •',null,1);\nX=org.jsoup.Jsoup.parse(java.ajax(`{{getUrl()}}?act=rankingall`)).select('option[value*=rankingall]');\nfor(i = 0; i < X.length; i++){\n  push(X[i].text(), X[i].attr('value'), null)\n};\nJSON.stringify(sort);",
    "header": "",
    "jsLib": "var urls = [\t\n\t\"https:\/\/ebook.longmabook.com\/\",\n\t\"https:\/\/www.longmabookcn.com\/\",\n\t\"https:\/\/ebook.lmbooks.com\/\",\n\t\"https:\/\/www.lmebooks.com\/\",\n\t\"https:\/\/www.haitbook.com\/\",\n\t\"https:\/\/www.htwhbook.com\/\",\n\t\"https:\/\/www.myhtebook.com\/\",\n\t\"https:\/\/www.lovehtbooks.com\/\",\n\t\"https:\/\/www.myhtebooks.com\/\",\n\t\"https:\/\/www.myhtlmebook.com\/\",\n\t\"https:\/\/jp.myhtebook.com\/\",\n\t\"https:\/\/jp.myhtlmebook.com\/\",\n\t\"https:\/\/ebook.urhtbooks.com\/\",\n\t\"https:\/\/www.urhtbooks.com\/\",\n\t\"https:\/\/www.newhtbook.com\/\",\n\t\"https:\/\/www.lvhtebook.com\/\",\n\t\"https:\/\/jp.lvhtebook.com\/\",\n\t\"https:\/\/www.htlvbooks.com\/\",\n\t\"https:\/\/www.htnewbooks.com\/\"\n]\n\nfunction getUrl(_) {\n  const { java, source } =_|| this\n  let v = String(source.getVariable())\n  if(v.length < 1){\n    source.setVariable(\"0\")\n    v = v.match(\/^\\d+$\/) ? v : 0\n  }\n  return urls[v]\n}\n\nfunction getIndex(a){\n\ti=urls.indexOf(a)+1\n\treturn i\n\t}",
    "lastUpdateTime": "1741349368473",
    "loginUi": "[{name:\"用户名\",type:\"text\"},\n{name:\"密码\",type:\"password\"},\n{name:\"登录\",type:\"button\",action:\"getLogin()\"},\n{name:\"退出\",type:\"button\",action:\"logOut()\"},\n{name:\"查看当前\",type:\"button\",action:\"current()\"},\n\/\/{name:\"查看cookie\",type:\"button\",action:\"getC()\"},\n{name:\"——————————选择源站——————————\",type:\"button\"},\n{name:\"一站\",type:\"button\",action:\"select(0)\"},\n{name:\"二站\",type:\"button\",action:\"select(1)\"},\n{name:\"三站\",type:\"button\",action:\"select(2)\"},\n{name:\"四站\",type:\"button\",action:\"select(3)\"},\n{name:\"五站\",type:\"button\",action:\"select(4)\"},\n{name:\"六站\",type:\"button\",action:\"select(5)\"},\n{name:\"七站\",type:\"button\",action:\"select(6)\"},\n{name:\"八站\",type:\"button\",action:\"select(7)\"},\n{name:\"九站\",type:\"button\",action:\"select(8)\"},\n{name:\"十站\",type:\"button\",action:\"select(9)\"},\n{name:\"十一站\",type:\"button\",action:\"select(10)\"},\n{name:\"十二站\",type:\"button\",action:\"select(11)\"},\n{name:\"十三站\",type:\"button\",action:\"select(12)\"},\n{name:\"十四站\",type:\"button\",action:\"select(13)\"},\n{name:\"十五站\",type:\"button\",action:\"select(14)\"},\n{name:\"十六站\",type:\"button\",action:\"select(15)\"},\n{name:\"十七站\",type:\"button\",action:\"select(16)\"},\n{name:\"十八站\",type:\"button\",action:\"select(17)\"},\n{name:\"十九站\",type:\"button\",action:\"select(18)\"}]",
    "loginUrl": "select = (x) => {\n\tsource.setVariable(x)\n\tindex=x+1\n\turl = getUrl()\n\tjava.toast('成功设置接口【' +index+ '】' + ' \\n' + url)\n\tlet date1 = new Date().getTime()\n\tlet html = java.ajax(url)\n\tlet date2 = new Date().getTime()\n\tlet t = date2 - date1\n\tlet time = t \/ 1000 + 's'\n\tlet logTime = '【' + url + '】\\n┋┋\\n' + '解析时间:' + time\n    if ( t > 5000) {\n        java.longToast('【' + index + '站:访问失败提示】\\n' + '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♣️源站已失效(可能被墙)♣️\\n┋┋\\n请更新网址\/切换源站\/切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛')\n    } else if (t < 1000) {\n        java.longToast('【' + index + '站:网络环境优良】\\n' + '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n❤️延迟低,推荐使用此站❤️\\n┋┋\\n网络环境优良,请继续保持状态\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛')\n    } else if (t >= 1000 && t < 2000) {\n        java.longToast('【' + index + '站:网络环境一般】\\n' + '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♦️延迟一般,勉强可使用♦️\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛')\n    } else if (t >= 2000 && t < 5000) {\n        java.longToast('【' + index + '站:网络环境堪忧】\\n' + '┏┅━┅━┅━┅━┅┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♠延迟过高,不建议使用♠\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛')\n    }\n}\n\ncurrent = () => {\n   \turl=getUrl()\n   \tindex=getIndex(url)\n    ck = java.getCookie(url)\n    c = String(ck).indexOf('nick=')\n    k = String(ck).indexOf('nick=deleted')\n    if (c == -1||k!=-1) {\n    \tjava.longToast('\\n┏┅━┅━┅━┅━┅┅━┅━┅┓\\n【' + index+'站】\\n┋┋\\n'+getUrl()+ '\\n┋┋\\n✘未登录✘' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛')\n    } \n\telse {\n\t\t java.longToast('\\n┏┅━┅━┅━┅━┅┅━┅━┅┓\\n【' + index+'站】\\n┋┋\\n'+ getUrl()+ '\\n┋┋\\n⭕已登录⭕' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅┛')\n    } \n}\n\nfunction getLogin() {\n    url=getUrl()\n    index=getIndex(url)\n    username=result.get(\"用户名\")\n    psw=result.get(\"密码\")\n    ck = java.getCookie(url)\n    c = String(ck).indexOf('nick=')\n    k = String(ck).indexOf('nick=deleted')\n    if(c!=-1&&k==-1){\n        java.toast(\"【\" + index + \"】站\\n\" + \"\\n已登录,请勿重复登录!\")\n    }else{\n        if(username==\"\" || psw==\"\"){\n            java.toast(\"用户名或密码为空!\")\n        }else{\n            code = java.getVerificationCode(url+ 'captcha\/code.php')\n            request = JSON.stringify({\n                'body': \"Username=\" + username + \"&password=\" + psw + \"&captcha_code=\" + code + \"&loginbtm=\",\n                'method': 'POST'\n            })\n            java.ajax(url + 'login.php,' + request)\n            cckk = java.getCookie(url)\n            cc = String(cckk).indexOf('nick=')\n            kk = String(cckk).indexOf('nick=deleted')\n            if (cc!=-1&&kk==-1) {\n                java.toast(\"⭕【\" + index + \"】站登录成功!\")\n            }else if(cc=-1&&kk=-1){\n                java.longToast(\"验证码错误!\")\n    \t        \/\/java.longToast(\"cckk\"+cckk+\"cc\"+cc+\"kk\"+kk+\"验证码错误!\")\n            }else{\n                java.longToast(\"用户名或密码错误!错误三次将暂时无法登陆一小时!\")\n                \/\/java.longToast(\"cckk\"+cckk+\"cc\"+cc+\"kk\"+kk+\"用户名或密码错误!错误三次将暂时无法登陆一小时!\")\n            }\n        }\n    }\n}\n\nfunction logOut() {\n    url=getUrl()\n    index=getIndex(url)\n    cookie.removeCookie(url)\n    java.toast(\"【\" + index + \"】站\\n\" + \"已退出当前域名登录!\")\n}\n\nfunction getC(){\n\turl=getUrl()\n\tc=java.getCookie(url)\n\tjava.toast(c)\n\t}\n\nfunction login() {}",
    "respondTime": 195515,
    "ruleBookInfo": {
        "author": "",
        "canReName": "1",
        "coverUrl": "class.uk-card.1@img@src",
        "init": "",
        "intro": "class.uk-card.0@textNodes##【作品編號.*\\s.|作家共有\\d+個專欄:[\\s\\S]+",
        "kind": "[email protected]@text&&class.uk-label@text##(.)攻(.)受##$1$2\n<js>\nstr = String(result);\nresult = str.replace(\/原創\/g, '原创')\n.replace(\/\\\/\/g, ',')\n.replace(\/\\[\/g, '')\n.replace(\/\\]\/g, '')\n.replace(\/強\/g, '强')\n.replace(\/.未設置.\/g, '')\n.replace(\/強\/g, '强')\n.replace(\/現\/g, '现')\n.replace(\/劇\/g, '剧')\n.replace(\/結\/g, '结')\n.replace(\/連載中\/g, '连载')\n.replace(\/纖細\/g, '纤细')\n.replace(\/輕\/g, '轻')\n.replace(\/鬆\/g, '松')\n.replace(\/馬\/g, '马')\n.replace(\/園\/g, '园')\n.replace(\/溫\/g, '温')\n.replace(\/懸\/g, '悬')\n.replace(\/職場\/g, '职场')\n.replace(\/靈異\/g, '灵异')\n.replace(\/種\/g, '种')\n.replace(\/網遊\/g, '网游')\n.replace(\/勵\/g, '励')\n.replace(\/宮\/g, '宫')\n.replace(\/會\/g, '会')\n.replace(\/運動\/g, '运动')\n.replace(\/話\/g, '话')\n.replace(\/俠\/g, '侠')\n.replace(\/羅\/g, '罗')\n.replace(\/視\/g, '视')\n.replace(\/帥\/g, '帅');\n<\/js>",
        "lastChapter": "",
        "name": "[email protected]@text",
        "tocUrl": "+<js>\nvar str = baseUrl; \nvar id = str.replace(\/(.*)bookid=(.*?)&(.*)\/, '$2');\nvar body = \"ebookid=\" + id + \"&pages=1&showbooklisttype=1\";\nvar option = {\n         \"method\": \"POST\",\n         \"body\": String(body)\n     }; \"{{getUrl()}}showbooklist.php,\" + JSON.stringify(option)\n <\/js>"
    },
    "ruleContent": {
        "content": "<js>\npaperid=baseUrl.match(\/paperid=(\\d+)\/)[1];\ncode=result.match(\/vercodechk.*?'[^']+'\/)?result.match(\/vercodechk.*?'([^']+)'\/)[1]:'';\nurl='{{getUrl()}}showpapercolor.php,';\nbody='paperid='+paperid+'&vercodechk='+code;\noption={\n\"method\":\"POST\",\n\"body\":String(body)\n}\nresult=java.ajax(url+JSON.stringify(option));\n\neggs=java.getString('@@class.uk-placeholder.-1@html');\nif(!eggs.match(\/【作家想說的話:】|加載中...\/) && eggs!=\"\"){\neggs=\"【彩蛋内容:】\"+eggs\n}else{eggs=''}\nwrite=java.getString('@@id.colorpanelwritersay@html');\nresult=result+write+eggs;\nif(!String(result).match(\/[\\u4e00-\\u9fa5]\/) && !(String(result).match(\/login\\.php\/))){\nresult=\"此章节需要购买\\n💰\"+java.getString('@@[email protected]@tag.li.10@text&&class.uk-alert-danger@html')\n}else{result=result}\nString(result).match(\/login.php\/)?'请登录后刷新正文阅读':result\n<\/js>\n##<.*?mages\/fullcolor.png.*?>",
        "imageStyle": "",
        "nextContentUrl": "@js:\nif(result.match(\/下方留下評論後可完成敲蛋\/)){\nvar id = result.match(\/paperid: '\\d+' ,bookwritercode: '([^']+)' ,bookid: '\\d+'\/);\ncode=result.match(\/vercodechk.*?'[^']+'\/)?result.match(\/vercodechk.*?'([^']+)'\/)[1]:'';\n\nvar id = id[0].replace(\/: '\/g, '=').replace(\/' ,\/g,'&').replace(\/'\/g,'');\nvar body = id + \"&repapergbookid=0&papergbookpage=1&repostmsgtxt=敲&vercodechk=\" + code + \"&postmode=1&giftid=0\";\n\nvar option = {\n         \"method\": \"POST\",\n         \"body\": String(body)\n     };\n\nresult=[\"\/papergbookresave.php,\" + JSON.stringify(option), \"\/showpapereggs.php,\" + JSON.stringify(option)]\n}",
        "replaceRegex": "##此章节需要购买[\\s\\S]+?💰[\\s\\S]+?此章节需要购买[\\s\\S]+?💰##请刷新正文看彩蛋",
        "sourceRegex": "",
        "webJs": ""
    },
    "ruleExplore": {
        "author": "@js:\nif(baseUrl.indexOf('managemybookcase')>-1){\nresult='{{@@tag.a.0@text}}'\n}else{result='{{@@tag.a.2@text||tag.a.1@text}}'}",
        "bookList": "[email protected]||html",
        "bookUrl": "@js:\nif(baseUrl.indexOf('managemybookcase')>-1){\nresult='{{@@tag.a.1@href}}'\n}else{result='{{@@tag.a.0@href}}'}\njava.put('a',result)",
        "coverUrl": "",
        "intro": "<js>\nif(baseUrl.indexOf('managemybookcase')==-1){\nresult=java.getString('@@text')\n}<\/js>##.*連載中|.*完結|\\s*",
        "kind": "<js>\nif(baseUrl.indexOf('managemybookcase')==-1){\nresult=java.getString('@@tag.font.2@text&&tag.font.-1@text',false)\n}<\/js>##\/##,@js:result.replace(\/原創\/g, '')\n.replace(\/\\\/\/g, ',')\n.replace(\/\\*\/g, '')\n.replace(\/\\[\/g, '')\n.replace(\/\\]\/g, '')\n.replace(\/.未設置.\/g, '')\n.replace(\/男男\/g, '')\n.replace(\/強\/g, '强')\n.replace(\/來\/g, '来')\n.replace(\/現\/g, '现')\n.replace(\/劇\/g, '剧')\n.replace(\/結\/g, '结')\n.replace(\/連載中\/g, '连载')\n.replace(\/纖細\/g, '纤细')\n.replace(\/輕\/g, '轻')\n.replace(\/鬆\/g, '松')\n.replace(\/馬\/g, '马')\n.replace(\/園\/g, '园')\n.replace(\/溫\/g, '温')\n.replace(\/懸\/g, '悬')\n.replace(\/職場\/g, '职场')\n.replace(\/靈異\/g, '灵异')\n.replace(\/種\/g, '种')\n.replace(\/網遊\/g, '网游')\n.replace(\/勵\/g, '励')\n.replace(\/宮\/g, '宫')\n.replace(\/會\/g, '会')\n.replace(\/運動\/g, '运动')\n.replace(\/話\/g, '话')\n.replace(\/俠\/g, '侠')\n.replace(\/羅\/g, '罗')\n.replace(\/視\/g, '视')\n.replace(\/帥\/g, '帅')",
        "lastChapter": "@js:\nif(baseUrl.indexOf('managemybookcase')>-1){\nresult='{{@@tag.a.2@text}}'\n}",
        "name": "@js:\nif(baseUrl.indexOf('managemybookcase')>-1){\nresult='{{@@tag.a.1@text}}'\n}else{result='{{@@tag.a.0@text||text##原創.*}}'}"
    },
    "ruleSearch": {
        "author": "tag.a.2@text",
        "bookList": "[email protected]!0",
        "bookUrl": "tag.a.0@href<js>java.put('a',result)<\/js>",
        "coverUrl": "",
        "intro": "td@textNodes",
        "kind": "tag.font.-2@text&&tag.font.2@text##(.)攻(.)受##$1$2\n<js>\nstr = String(result);\nresult = str.replace(\/原創\/g, '')\n.replace(\/\\\/\/g, ',')\n.replace(\/\\[\/g, '')\n.replace(\/\\]\/g, '')\n.replace(\/.未設置.\/g, '')\n.replace(\/來\/g, '来')\n.replace(\/男男\/g, '')\n.replace(\/強\/g, '强')\n.replace(\/現\/g, '现')\n.replace(\/劇\/g, '剧')\n.replace(\/結\/g, '结')\n.replace(\/連載中\/g, '连载')\n.replace(\/纖細\/g, '纤细')\n.replace(\/輕\/g, '轻')\n.replace(\/鬆\/g, '松')\n.replace(\/馬\/g, '马')\n.replace(\/園\/g, '园')\n.replace(\/溫\/g, '温')\n.replace(\/帥\/g, '帅')\n.replace(\/職場\/g, '职场')\n.replace(\/靈異\/g, '灵异')\n.replace(\/種\/g, '种')\n.replace(\/網遊\/g, '网游')\n.replace(\/勵\/g, '励')\n.replace(\/宮\/g, '宫')\n.replace(\/會\/g, '会')\n.replace(\/運動\/g, '运动')\n.replace(\/話\/g, '话')\n.replace(\/俠\/g, '侠')\n.replace(\/羅\/g, '罗')\n.replace(\/視\/g, '视')\n.replace(\/懸\/g, '悬')\n<\/js>",
        "lastChapter": "",
        "name": "tag.a.0@text##《(.*?)》##$1",
        "wordCount": "tag.font.-1@text"
    },
    "ruleToc": {
        "chapterList": "@js:\nlist=result.match(\/href=\"([^\"]+)\">(.*?)<[\\s\\S]*?font>(.*?)<[\\s\\S]*?font>(.*?)<[\\s\\S]*?font>(.*?)<\/g);\narr=[];\nnumber =Number(baseUrl.match(\/pages=(\\d+)\/)[1]); number = 50*(number-1);\nfor(i in list){\n\ta=list[i].match(\/href=\"([^\"]+)\">(.*?)<[\\s\\S]*?font>(.*?)<[\\s\\S]*?font>(.*?)<[\\s\\S]*?font>(.*?)<\/);\n\tchapternum = (Number(number)+(Number(i)+1))\n\tindex=\"第\"+chapternum+\"章 \";\n\tbv = book.getVariable(\"custom\");\n if(\/dl\/.test(bv)){index=''}\n\tarr.push({\n\t\t\"name\": index+a[2].replace(\/.*(重复|废废弃)章.*|^\\d+[\\.、]\/g,''),\n\t\t\"url\":a[1],\n\t\t\"info\":\"刊登时间:\"+a[3]+\"•字数:\"+a[4]+\"•价格:\"+a[5]\n\t\t})\n\t\n\t}\narr",
        "chapterName": "name",
        "chapterUrl": "url",
        "isVolume": "",
        "nextTocUrl": "a@onclick##.*?(\\d+).*?(\\d+).*##\/showbooklist.php,{\n         \"method\": \"POST\",\n         \"body\": \"ebookid=$1&pages=$2&showbooklisttype=1\"\n     }",
        "updateTime": "info"
    },
    "searchUrl": "{{getUrl()}}?act=searchlist&searchmode=author&selbooktype=all&searchkeyword={{key}}&selbooktypeb=all&selsexytype=all&selages=all&selstylesa=all&selstylesb=all&selbookpoststats=all&searchkpage={{page}}&fixlangsnd=FsedAjjT6&fixlangact=edit",
    "variableComment": "dl—删除第一个章节序号",
    "weight": 0
}
广告