听姬
https://www.himehear.com
guaner001125 (317)2023/04/16
该用户很懒,什么介绍也没有写!
{ "bookSourceComment": "需登录", "bookSourceGroup": "正版", "bookSourceName": "听姬", "bookSourceType": 1, "bookSourceUrl": "https:\/\/www.himehear.com", "customOrder": 0, "enabled": true, "enabledCookieJar": true, "enabledExplore": true, "enabledReview": false, "lastUpdateTime": 1681635628295, "loginUi": "[\n {\n name: \"账号\",\n type: \"text\"\n },\n {\n name: \"验证码\",\n type: \"text\"\n },\n {\n name: \"邮箱验证码\",\n type: \"button\",\n action: \"getCode(2)\"\n },\n {\n name: \"手机验证码\",\n type: \"button\",\n action: \"getCode(1)\"\n }\n]", "loginUrl": "<js>\nfunction getCode(type){\n\ttry{\n\t\tphone = result.get(\"账号\");\n\t\t\n\turl = \"https:\/\/www.himehear.com\/tjapp\/v1\/common\/verifyCode\";\n\tbody={\n\t\t\"messageType\":1,\n\t\t\"sendType\":type,\n\t\t\"account\":String(phone)\n\t\t}\n\t\t\n\t\toption = {\n\t\t\t\"method\":\"POST\",\n\t\t\t\"body\":JSON.stringify(body)\n\t\t\t}\n\t\t\t\n\t\t\turl = url+\",\"+JSON.stringify(option);\n\t\t\t\n\t \tJSON.parse(java.ajax(url)).code==0?java.toast(\"验证码发送成功,请注意查收\"):java.toast(\"验证码发送失败,请稍候再试\");\n\t \t\n\t\t\t}catch(e){\n\t\t\t\tjava.log(e)\n\t\t\t\t}\n\t\t\t\t\n\t}\n\n\nfunction login(){\n\tphone = source.getLoginInfoMap().get(\"账号\");\n\tcode = source.getLoginInfoMap().get(\"验证码\");\n\turl = \"https:\/\/www.himehear.com\/tjapp\/v1\/user\/loginV2\";\n\t\n\tif(\/@\/.test(String(phone))){\n\t\tloginType = 2\n\t\t}else if(\/^\\d{11}$\/.test(String(phone))){\n\t\t\tloginType = 1\n\t\t\t}\n\t\n\tbody = {\n\t\t\"verifyCode\":String(code),\n\t\t\"loginType\":2,\n\t\t\"account\":String(phone)\n\t\t}\n\t\t\n\toption = {\n\t\t\"method\":\"POST\",\n\t\t\"body\":JSON.stringify(body)\n\t\t}\n\t\t\n\turl = url + \",\" + JSON.stringify(option);\n\t\n\ttoken =JSON.parse(java.ajax(url)).result.token;\n\tjava.log(token);\n\t\n\theaders = {\n\t\t\"token\":String(token)\n\t\t}\n\t\t\tsource.putLoginHeader(JSON.stringify(headers));\n\t\n\t}\n\n<\/js>", "respondTime": 180000, "ruleBookInfo": { "init": "", "intro": "$.result.introduction" }, "ruleContent": { "content": "<js>\ndramaPath = baseUrl.match(\/.*\\\/(.*)\/)[1];\njava.log(dramaPath)\nfunction re(a){\n\ta = String(java.encodeURI(a)).replace(\/\\+\/g,\"%20\").replace(\/\\*\/g,'%2A').replace(\/%7E\/g,'~').replace(\/%2F\/g,'\/');\n\treturn a;\n\t}\n\t\noss = JSON.parse(java.get(\"https:\/\/www.himehear.com\/tjapp\/v1\/oss\/ali\/sts\",source.getLoginHeaderMap()).body()).result;\n\nsk = oss.accessKeySecret;\nak = re(oss.accessKeyId);\nst = oss.securityToken.trim();\n\ndate = String(parseInt(Date.now()\/1000+3600));\n\njava.log(date);\n\ndata = \"GET\\n\\n\\n\"+date+\"\\n\"+\"\/tingjifm\/\"+dramaPath+\"?security-token=\"+st;\n\nsign = java.HMacBase64(data, \"HMacSHA1\", sk);\n\nurl = `https:\/\/tingjifm.oss-cn-shenzhen.aliyuncs.com\/${dramaPath}?Expires=${date}&OSSAccessKeyId=${ak}&Signature=${sign}&security-token=${re(st)}`;\n<\/js>", "nextContentUrl": "" }, "ruleExplore": {}, "ruleReview": {}, "ruleSearch": { "author": "{{$.author}}◆{{$.studioName}}", "bookList": "$.result[*]", "bookUrl": "https:\/\/www.himehear.com\/tjapp\/v2\/works\/detail?radioId={{$.id}}", "coverUrl": "https:\/\/tingjifm-pub.oss-cn-shenzhen.aliyuncs.com\/{{$.radioImg}}", "intro": "$.introduction", "kind": "", "name": "$.radioDramaName", "wordCount": "" }, "ruleToc": { "chapterList": "$.result..partDramas[*]", "chapterName": "$.dramaName", "chapterUrl": "$.dramaPath", "updateTime": "" }, "searchUrl": "https:\/\/www.himehear.com\/tjapp\/v1\/home\/drama\/searching,{\n\t\"method\":\"POST\",\n\t\"body\":{\"pageSize\":20,\"category\":\"drama\",\"pageNum\":1,\"key\":\"{{key}}\"}\n\t}", "weight": 0 }