From 4f8a538fc976074a9868dd54a610381ac91b086c Mon Sep 17 00:00:00 2001 From: src48597962 <48597962@qq.com> Date: Fri, 11 Nov 2022 17:52:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'SrcJyData.js'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SrcJyData.js | 273 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 272 insertions(+), 1 deletion(-) diff --git a/SrcJyData.js b/SrcJyData.js index 8e91b7bb..92a4499f 100644 --- a/SrcJyData.js +++ b/SrcJyData.js @@ -53,7 +53,278 @@ let yijimenu = [ } ] -function homepage(datasource){ +function erji(datasource){ + var d = []; + var html = request(MY_URL.split('##')[1], { headers: { 'User-Agent': PC_UA } }); + var json = JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData; + var plays = json.play.item_list; + //log(plays); + var shows = json.play_from_open_index; + //log(shows); + + let actor = json.starring?'演员:'+json.starring : json.emcee?'主持:'+json.emcee:'内详'; + let director = json.director?'导演:'+json.director : json.tv_station?json.tv_station:'内详'; + let area = json.zone?'地区:'+json.zone:''; + let year = json.year?' 年代:' + json.year:''; + let remarks = json.style ? json.style : ''; + let pubdate = json.update_wordstr ? json.update_wordstr : ''; + + var details1 = director.substring(0, 15) + '\n' + actor.substring(0, 15) + '\n' + area + year; + var details2 = remarks + '\n' + pubdate; + var pic = MY_PARAMS.pic; + d.push({ + title: details1,//详情1 + desc: details2,//详情2 + pic_url: pic + '@Referer=',//图片 + url: pic + '#noHistory#',//链接 + col_type: 'movie_1_vertical_pic_blur', + extra: { + gradient: true + } + + }); + //二级统一菜单 + require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyMenu.js'); + for(var i in erjimenu){ + d.push( + erjimenu[i] + ) + } + + var tabs = []; + var lists = []; + + for (var i in plays) { + lists.push(plays[i].info); + tabs.push(plays[i].sitename[0]); + } + + //取之前足迹记录,用于自动定位之前的线路 + try { + eval('var SrcMark = ' + fetch("hiker://files/cache/SrcMark.json")); + if (SrcMark != "") { + if (SrcMark.route[MY_URL] != undefined) { + putMyVar(MY_URL, SrcMark.route[MY_URL]); + } + } + } catch (e) { } + var Marksum = 30;//设置记录线路足迹数量 + + //线路部份 + var Color = "#f13b66a"; + var Color1 = "#098AC1"; + function getHead(title) { + return '‘‘’’' + title + ''; + } + for (let i = 0; i < 9; i++) { + d.push({ + col_type: "blank_block" + }) + } + + function setTabs(tabs, vari) { + d.push({ + title: getMyVar('shsort') == '1'?'““””' : '““””', + url: $("#noLoading#").lazyRule(() => { + if (getMyVar('shsort') == '1') { putMyVar('shsort', '0'); } else { putMyVar('shsort', '1') }; + refreshPage(false); + return 'toast://切换排序成功' + }), + col_type: 'scroll_button' + }) + for (var i in tabs) { + if (tabs[i] != "") { + d.push({ + title: getMyVar(vari, '0') == i ? getHead(tabs[i] + '↓') : tabs[i], + url: $("#noLoading#").lazyRule((vari, i, Marksum) => { + if (parseInt(getMyVar(vari, '0')) != i) { + try { + eval('var SrcMark = ' + fetch("hiker://files/cache/SrcMark.json")); + } catch (e) { + var SrcMark = ""; + } + if (SrcMark == "") { + SrcMark = { route: {} }; + } else if (SrcMark.route == undefined) { + SrcMark.route = {}; + } + SrcMark.route[vari] = i; + var key = 0; + var one = ""; + for (var k in SrcMark.route) { + key++; + if (key == 1) { one = k } + } + if (key > Marksum) { delete SrcMark.route[one]; } + writeFile("hiker://files/cache/SrcMark.json", JSON.stringify(SrcMark)); + putMyVar(vari, i); + refreshPage(false); + return 'toast://切换成功' + } else { + return '#noHistory#hiker://empty' + } + }, vari, i, Marksum), + col_type: 'scroll_button' + }) + } + } + } + try{ + var playsinfo = plays[0].info; + }catch(e){ + var playsinfo = ""; + } + if(playsinfo||shows){ + setTabs(tabs, MY_URL); + }else{ + d.push({ + col_type: "line" + }) + for (let i = 0; i < 8; i++) { + d.push({ + col_type: "blank_block" + }) + } + } + var easy = $("").lazyRule(() => { + try{ + input=fetch(input,{}).split("('")[1].split("'")[0]; + + if(input.match(/ixigua|iqiyi|qq.com|mgtv|le\.com|bili|sohu|youku|pptv|cctv|1905\.com/)){ + input=input.split("?")[0]; + }else if(input.match(/huanxi/)){ + input=input.split("&")[0]; + }else if(input.match(/migu/)){ + input = "https://m.miguvideo.com/mgs/msite/prd/detail.html" + input.replace(/\\?.*cid/, '?cid').split("&")[0] + "&mgdbid="; + } + + if(!/^http/.test(input)){ + return "toast://本集无播放地址,可从更多片源中寻找"; + } + //log(input) + require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcParseS.js'); + return SrcParseS.聚影(input); + }catch(e){ + return input; + } + }); + if(!getMyVar('superwebM3U8')){ + try{ + var cfgfile = "hiker://files/rules/Src/Juying/config.json"; + var Juyingcfg=fetch(cfgfile); + if(Juyingcfg != ""){ + eval("var JYconfig=" + Juyingcfg+ ";"); + } + putMyVar('superwebM3U8',JYconfig.cachem3u8!=0&&JYconfig.superweb==1?'1':'0'); + }catch(e){} + } + var block = ['.m4a','.mp3','.gif','.jpg','.jpeg','.png','.ico','hm.baidu.com','/ads/*.js']; + //选集部份 + function setLists(lists, index) { + var list = lists[index]; + + function nolist() { + d.push({ + title: '此影片无播放选集!', + url: '#noHistory#hiker://empty', + col_type: 'text_center_1' + }); + } + + if(list){ + if (list.length == 0) { + nolist(); + } else { + if (getMyVar('shsort') == '1') { + try { + for (var j = list.length - 1; j >= 0; j--) { + let url = 'https://v.sogou.com' + list[j].url; + if (!list[j].index == '0') { + d.push({ + title: list[j].index + '', + url: url + easy, + extra: { id: MY_URL.replace('#autoCache#','')+j, jsLoadingInject: true, cacheM3u8: getMyVar('superwebM3U8')=="1"?true:false, blockRules: block }, + col_type: 'text_4' + }); + } + } + } catch (e) { + nolist(); + } + } else { + try { + for (var j = 0; j < list.length; j++) { + let url = 'https://v.sogou.com' + list[j].url; + if (!list[j].index == '0') { + d.push({ + title: list[j].index + '', + url: url + easy, + extra: { id: MY_URL.replace('#autoCache#','')+j, jsLoadingInject: true, cacheM3u8: getMyVar('superwebM3U8')=="1"?true:false, blockRules: block }, + col_type: 'text_4' + }); + } + } + } catch (e) { + nolist(); + } + } + } + }else if (shows&&plays.length>0) { + var arr = []; + var zy = shows.item_list[index]; + for (var ii in zy.date) { + date = zy.date[ii]; + day = zy.date[ii].day; + for (j in day) { + dayy = day[j][0] >= 10 ? day[j][0] : "0" + day[j][0]; + Tdate = date.year + date.month + dayy; + arr.push(Tdate); + if (getMyVar('shsort') == '1') { + arr.sort(function(a, b) { + return a - b + }) + } else { + arr.sort(function(a, b) { + return b - a + }) + } + } + } + for (var k = 0; k < arr.length; k++) { + let url = "https://v.sogou.com/vc/eplay?query=" + arr[k] + "&date=" + arr[k] + "&key=" + json.dockey + "&st=5&tvsite=" + plays[index].site; + d.push({ + title: "第" + arr[k] + "期", + col_type: "text_2", + url: url + easy, + extra: { id: MY_URL.replace('#autoCache#','')+k, jsLoadingInject: true, cacheM3u8: getMyVar('superwebM3U8')=="1"?true:false, blockRules: block } + }); + } + } else if (plays.length==0) { + nolist(); + } else { + for (var m in plays) { + let url = "https://v.sogou.com" + plays[m].url; + d.push({ + title: plays[m].flag_list.indexOf('trailer') == -1?plays[m].sitename[0]:plays[m].sitename[0] + '—预告', + img: 'http://dlweb.sogoucdn.com/video/wap/static/img/logo/' + plays[m].sitename[1], + url: url + easy, + col_type: "icon_2", + extra: { id: MY_URL.replace('#autoCache#',''), jsLoadingInject: true, cacheM3u8: getMyVar('superwebM3U8')=="1"?true:false, blockRules: block }, + }) + } + } + } + setLists(lists, getMyVar(MY_URL, '0')); + + //底部说明 + d.push({ + desc: '‘‘’’此规则仅限学习交流使用,请于导入后24小时内删除,任何团体或个人不得以任何方式方法传播此规则的整体或部分!', + url: 'toast://温馨提示:且用且珍惜!', + col_type: 'text_center_1' + }); + setResult(d); +} +function yiji(datasource){ var d = []; const Color = "#3399cc"; const categorys = datasource=="sougou"?['电视剧','电影','动漫','综艺','纪录片']:['电视剧','电影','动漫','综艺'];