听姬
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
}