少年梦阅读🎃
https://api.shaoniandream.com#🎃
ergrgerfed (14044)06/26 18:18
少年梦阅读
{
"bookSourceComment": "少年梦阅读 API 适配 | 修复 connection closed | 适配3.25",
"bookSourceGroup": "游戏异界\/少年梦",
"bookSourceName": "少年梦阅读🎃",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/api.shaoniandream.com#🎃",
"customOrder": 0,
"enabled": true,
"enabledCookieJar": false,
"enabledExplore": true,
"exploreUrl": "热门::https:\/\/api.shaoniandream.com\/Booklibrary\/index,{\"method\":\"POST\",\"body\":\"count=20&isDevice=Android&page={{page}}®Device=2&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669\"}\n新书::https:\/\/api.shaoniandream.com\/Booklibrary\/index,{\"method\":\"POST\",\"body\":\"count=20&isDevice=Android&page={{page}}®Device=2&sort=new&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669\"}\n精品::https:\/\/api.shaoniandream.com\/Booklibrary\/index,{\"method\":\"POST\",\"body\":\"count=20&isDevice=Android&page={{page}}®Device=2&sort=hot&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669\"}",
"header": "{\n \"User-Agent\": \"okhttp\/4.9.1\",\n \"version\": \"v3\",\n \"Content-Type\": \"application\/json\"\n}",
"lastUpdateTime": "1782469083977",
"loginUi": "[\n {\n \"name\": \"账号\",\n \"type\": \"text\"\n },\n {\n \"name\": \"密码\",\n \"type\": \"password\"\n }\n]",
"loginUrl": "<js>\n function login() {\n const user = String(source.getLoginInfoMap().get(\"账号\"))\n const pw = String(source.getLoginInfoMap().get(\"密码\"))\n let sign = java.md5Encode(`isDevice=Android&password=${pw}&phone=${user}®Device=2&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669`).toString().toUpperCase()\n let data = JSON.stringify({\n isDevice: \"Android\",\n password: pw,\n phone: user,\n regDevice: \"2\",\n sign: sign\n })\n let op = JSON.stringify({\n method: \"POST\",\n body: data\n })\n let res = java.ajax(`https:\/\/api.shaoniandream.com\/Login\/login,${op}`)\n let $ = JSON.parse(res)\n if($.status != 1) java.toast($.msg)\n java.put(\"uid\",$.data.id)\n source.putLoginHeader(JSON.stringify({\n logintoken: $.data.logintoken\n }))\n }\n<\/js>",
"respondTime": 2018,
"ruleBookInfo": {
"author": "AuthorObj.penName",
"coverUrl": "http:\/\/alioss.shaoniandream.com{{$.picture}}",
"init": "data",
"intro": "jianjie",
"kind": "sortName",
"lastChapter": "ChapterName##连载至",
"name": "title",
"tocUrl": "<js>\n let uid = java.get(\"uid\") != \"undefined\" ? java.get(\"uid\") : \"-1\"\n let sign = java.md5Encode(`BookID={{$.id}}&UserID=${uid}&isDevice=Android®Device=2&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669`).toString().toUpperCase()\n let data = JSON.stringify({\n BookID: {{$.id}},\n UserID: uid,\n isDevice: \"Android\",\n regDevice: \"2\",\n sign: sign\n })\n let op = JSON.stringify({\n method: \"POST\",\n body: data\n })\n \"https:\/\/api.shaoniandream.com\/Booklibrary\/readdir,\" + op\n<\/js>",
"wordCount": "FontCount"
},
"ruleContent": {
"content": "<js>\n let $ = JSON.parse(result)\n let content = $.data.show_content.map((item)=>{\n return java.base64Decode(item.content)\n }).join(\"\\n\").trim()\n let img = $.data.chapterpic.map((item)=>{\n return `<img src=\"http:\/\/alioss.shaoniandream.com${item.url}\" \/>`\n }).join(\"\\n\").trim()\n let miaoshu = java.base64Decode($.data.miaoshu || \"\")\n let txt = \"\"\n if(miaoshu != \"\")\n txt = `${content}\\n${img}\\n作者有话说:\\n${miaoshu}`\n else txt = `${content}\\n${img}`\n txt\n<\/js>"
},
"ruleExplore": {
"bookList": "data",
"name": "title",
"author": "penName",
"coverUrl": "http:\/\/alioss.shaoniandream.com{{$.picture}}",
"intro": "jianjie",
"bookUrl": "<js>\n let uid = java.get(\"uid\") != \"undefined\" ? java.get(\"uid\") : \"-1\"\n let sign = java.md5Encode(`BookID=${$.id}&UserID=${uid}&isDevice=Android®Device=2&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669`).toString().toUpperCase()\n let data = JSON.stringify({\n BookID: $.id,\n UserID: uid,\n isDevice: \"Android\",\n regDevice: \"2\",\n sign: sign\n })\n let op = JSON.stringify({method: \"POST\", body: data})\n \"https:\/\/api.shaoniandream.com\/Booklibrary\/bookdetail,\" + op\n<\/js>",
"kind": "SortObj.cname"
},
"ruleReview": {},
"ruleSearch": {
"author": "penName",
"bookList": "data",
"bookUrl": "<js>\n let uid = java.get(\"uid\") != \"undefined\" ? java.get(\"uid\") : \"-1\"\n let sign = java.md5Encode(`BookID={{$.BooksID}}&UserID=${uid}&isDevice=Android®Device=2&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669`).toString().toUpperCase()\n let data = JSON.stringify({\n BookID: {{$.BooksID}},\n UserID: uid,\n isDevice: \"Android\",\n regDevice: \"2\",\n sign: sign\n })\n let op = JSON.stringify({method: \"POST\", body: data})\n \"https:\/\/api.shaoniandream.com\/Booklibrary\/bookdetail,\" + op\n<\/js>",
"coverUrl": "http:\/\/alioss.shaoniandream.com{{$.picture}}",
"intro": "jianjie",
"kind": "SortObj.cname",
"lastChapter": "",
"name": "title",
"wordCount": "FontCount"
},
"ruleToc": {
"chapterList": "<js>\n let $ = JSON.parse(result)\n let uid = java.get(\"uid\") != \"undefined\" ? java.get(\"uid\") : \"-1\"\n let array = []\n $.data.chapterList.forEach((booklet) => {\n array.push({ name: booklet.title, isv: true })\n booklet.chapterList.forEach((chapter) => {\n let sign = java.md5Encode(`BookID=${$.data.id}&UserID=${uid}&chapter_id=${chapter.id}&isDevice=Android&isMarket=true®Device=2&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669`).toString().toUpperCase()\n let data = JSON.stringify({\n BookID: $.data.id,\n UserID: uid,\n chapter_id: chapter.id,\n isDevice: \"Android\",\n isMarket: \"true\",\n regDevice: \"2\",\n sign: sign\n })\n let op = JSON.stringify({method: \"POST\", body: data})\n array.push({\n name: chapter.title,\n url: \"https:\/\/api.shaoniandream.com\/Booklibrary\/readchapter,\" + op,\n time: java.timeFormat(chapter.release_time_now * 1000),\n vip: chapter.isFree == 1,\n buy: chapter.lock == 1\n })\n })\n })\n array\n<\/js>",
"chapterName": "name",
"chapterUrl": "url",
"isPay": "buy",
"isVip": "vip",
"isVolume": "isv",
"preUpdateJs": "",
"updateTime": "time"
},
"searchUrl": "<js>\n let sign = java.md5Encode(`count=10&isDevice=Android&keywords=${key}&page=1®Device=2&key=87ac02d392a8d3566fe7748c8de00af3&secrect=57dcuidu8aa8062bfe8042ea65310669`).toString().toUpperCase()\n let data = JSON.stringify({\n count: 10,\n isDevice: \"Android\",\n keywords: key,\n page: 1,\n regDevice: \"2\",\n sign: sign\n })\n let op = JSON.stringify({method: \"POST\", body: data})\n \"https:\/\/api.shaoniandream.com\/Booklibrary\/index,\" + op\n<\/js>",
"weight": 88
}