[{"bookSourceComment":"\/\/梦不觉","bookSourceGroup":"影视","bookSourceName":"听小说APP[短剧_官方本地解密]","bookSourceType":4,"bookSourceUrl":"APP短剧接口","customButton":false,"customOrder":5,"enabled":true,"enabledCookieJar":false,"enabledExplore":true,"eventListener":false,"exploreUrl":"@js:\n(function(){\n    var state = {ch:'男频', ct:'类型', rk:'排行榜'};\n    try { var saved = JSON.parse(source.getVariable()); if(saved && saved.ch) state = saved; } catch(e){}\n    \n    var maleCates = ['都市脑洞','都市玄幻','古风权谋','种田经营','都市日常','奇幻脑洞','历史古代','玄幻仙侠','奇幻仙侠','战神归来'];\n    var femaleCates = ['都市情感','宫斗宅斗','家庭伦理','年代剧','古风言情','奇幻爱情','萌宝','民国爱情','成长创业'];\n    \n    var maleTags = [\n        ['逆袭',20],['神豪',24],['种田经营',65],['爽剧',6],['系统\/弹幕',10],\n        ['捞偏门',63],['异能',16],['传承觉醒',47],['悬疑',17],['天下无敌',48],\n        ['大男主',38],['刑侦破案',45],['强者回归',39]\n    ];\n    var femaleTags = [\n        ['读心术',51],['破镜重圆',36],['总裁',8],['反转',26],['都市',15],\n        ['马甲',18],['闪婚',37],['现代',35],['穿书',52],['一见钟情',58],\n        ['年代',1],['女强',12],['宫斗宅斗',31],['萌宝',13],['奇幻脑洞',66],\n        ['青梅竹马',49],['先婚后爱',11],['穿越',4],['亲情',29],['重生',7],\n        ['玄学',46],['大女主',40],['暗恋成真',53],['追妻',28],['甜宠',19],\n        ['奇幻',14],['日久生情',25],['打脸虐渣',21],['欢喜冤家',44]\n    ];\n    \n    var actionJs = \"var s={ch:infoMap['频道']||'男频',ct:infoMap['分类']||'类型',rk:infoMap['排行']||'排行榜'}; source.setVariable(JSON.stringify(s)); java.refreshExplore();\";\n    \n    var cache = {};\n    try { cache = JSON.parse(source.getVariable()); } catch(e){}\n    if (!cache.dev_id) {\n        cache.dev_id = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\/[xy]\/g, function(c){\n            var r = Math.random()*16|0, v = c=='x'?r:(r&0x3|0x8);\n            return v.toString(16);\n        });\n        source.setVariable(JSON.stringify(cache));\n    }\n    var devId = cache.dev_id;\n    var authH = '{\"headers\":{\"publicId\":\"' + devId + '\",\"deviceId\":\"' + devId + '\",\"m2\":\"' + devId + '\"}}';\n    \n    var ui = [];\n    ui.push({title:'频道', type:'select', chars:['男频','女频'], default:state.ch, action:actionJs, style:{layout_flexBasisPercent:1}});\n    ui.push({title:'分类', type:'select', chars:['类型','剧情'], default:state.ct, action:actionJs, style:{layout_flexBasisPercent:1}});\n    ui.push({title:'排行', type:'select', chars:['排行榜','推荐','最新'], default:state.rk, action:actionJs, style:{layout_flexBasisPercent:1}});\n    ui.push({title:'关键字', type:'text', default:'', style:{layout_flexBasisPercent:1}});\n    ui.push({title:'搜短剧', type:'button', action:\"var k=infoMap['关键字']; if(!k){ java.toast('请输入关键字'); } else { java.searchBook(k, source); }\", style:{layout_flexBasisPercent:1}});\n    \n    \/\/ 排行链接（根据rk状态高亮对应项）\n    ui.push({title:'排行榜', url:'https:\/\/ts3.txs12.com\/playlet\/rank', style:{layout_flexGrow:1, layout_flexBasisPercent:0.33}});\n    ui.push({title:'推荐', url:'https:\/\/ts3.txs12.com\/playlet\/list-video, ' + authH, style:{layout_flexGrow:1, layout_flexBasisPercent:0.33}});\n    ui.push({title:'最新', url:'https:\/\/ts3.txs12.com\/playlet\/video\/new, ' + authH, style:{layout_flexGrow:1, layout_flexBasisPercent:0.33}});\n    \n    if (state.ct === '类型') {\n        \/\/ 分类名称 → 按钮触发搜索\n        var cates = (state.ch === '男频') ? maleCates : femaleCates;\n        for (var i = 0; i < cates.length; i++) {\n            var cat = cates[i];\n            ui.push({title:cat, type:'button', action:\"java.searchBook('\" + cat + \"', source)\", style:{layout_flexGrow:1, layout_flexBasisPercent:0.33}});\n        }\n    } else {\n        \/\/ 剧情标签 → 跳转标签页\n        var tags = (state.ch === '男频') ? maleTags : femaleTags;\n        for (var i = 0; i < tags.length; i++) {\n            var t = tags[i];\n            ui.push({title:t[0], url:'https:\/\/ts3.txs12.com\/playlet\/tags\/' + t[1], style:{layout_flexGrow:1, layout_flexBasisPercent:0.25}});\n        }\n    }\n    \n    return JSON.stringify(ui);\n})()","header":"{\"User-Agent\":\"okhttp\/5.3.2\",\"appName\":\"com.listenxs.txsplayer\",\"vc\":\"521430\",\"vn\":\"1.4.3\",\"channel\":\"defChannel\",\"language\":\"zh-CN\",\"country\":\"CN\",\"netType\":\"1\",\"Gender\":\"male\",\"gpStore\":\"true\"}","lastUpdateTime":"1788319568329","respondTime":180000,"ruleBookInfo":{"author":"$.data.actor","coverUrl":"$.data.faceImg","intro":"$.data.description","kind":"{{$.data.classify}},{{$.data.tags}}","lastChapter":"{{$.data.video_count}}集","name":"$.data.title","tocUrl":"@js:\n(function(){\n    return String(baseUrl);\n})()","wordCount":"评分:{{$.data.score}}"},"ruleContent":{"content":"@js:\n(function(){\n    try {\n        var data = JSON.parse(result);\n        if (data.code === 0 && data.data && data.data.length > 0) {\n            return data.data[0].url;\n        }\n    } catch(e) {}\n    return result;\n})()"},"ruleExplore":{"author":"$.actor","bookList":"@js:\n(function(){\n    try {\n        var data = JSON.parse(result);\n        if (data.data && Array.isArray(data.data)) return data.data;\n        if (data.data && data.data.rankings) return data.data.rankings;\n        if (data.data && data.data.dramas) return data.data.dramas;\n        if (data.data && data.data.recommendations) return data.data.recommendations;\n    } catch(e) {}\n    return [];\n})()","bookUrl":"@js:\n(function(){\n    var item = result;\n    var id = item.id || '';\n    return 'https:\/\/ts3.txs12.com\/playlet\/video\/' + id + '\/info';\n})()","coverUrl":"$.faceImg","intro":"$.description","kind":"@js:\n(function(){\n    var parts = [];\n    if (result.score) parts.push('评分:' + result.score);\n    if (result.rank) parts.push('第' + result.rank + '名');\n    if (result.video_count) parts.push(result.video_count + '集');\n    if (result.tags) parts.push(result.tags.join(','));\n    return parts.join(',');\n})()","lastChapter":"@js:\n(function(){\n    if (result.video_count) return result.video_count + '集';\n    if (result.classify) return result.classify.join(',');\n    return '';\n})()","name":"$.title"},"ruleSearch":{"author":"$.actor","bookList":"$.data.results","bookUrl":"@js:\n(function(){\n    var item = result;\n    var id = item.id || '';\n    return 'https:\/\/ts3.txs12.com\/playlet\/video\/' + id + '\/info';\n})()","coverUrl":"$.faceImg","intro":"$.description","kind":"@js:\n(function(){\n    var parts = [];\n    if (result.score) parts.push('评分:' + result.score);\n    if (result.video_count) parts.push(result.video_count + '集');\n    if (result.tags) parts.push(result.tags.join(','));\n    return parts.join(',');\n})()","lastChapter":"@js:\n(function(){\n    if (result.video_count) return result.video_count + '集';\n    if (result.classify) return result.classify.join(',');\n    return '';\n})()","name":"$.title"},"ruleToc":{"chapterList":"$.data.items","chapterName":"$.title","chapterUrl":"@js:\n(function(){\n    var m = String(baseUrl).match(\/playlet\\\/video\\\/([^\\\/]+)\/);\n    var vid = m ? m[1] : '';\n    var eid = java.getString('$.episode_id') || '';\n    if (!vid || !eid) return '';\n    return 'https:\/\/ts3.txs12.com\/playlet\/video\/' + vid + '\/items, {\\\"method\\\":\\\"POST\\\",\\\"body\\\":{\\\"video_ids\\\":[\\\"' + eid + '\\\"]}}';\n})()","isVolume":"false","updateTime":"$.utime"},"searchUrl":"https:\/\/ts3.txs12.com\/playlet\/search-video?keyword={{key}}&page={{page}}&size=20","weight":0}]