"), col_type: "rich_text", extra: { textSize: 18, click: true } }); setResult(d) }, dataObj); } let playSet = storage0.getItem('playSet') || {}; let len = 列表.slice(0, 10).concat(列表.slice(-10)).reduce((max, str) => Math.max(max, str.split('$')[0].replace(name,"").trim().length), 0); let col_type = 列表.length > 4 && len < 5 ? 'text_4' : len > 10 ? 'text_1' : len>4&&len<7 ? 'text_3' :'text_2'; let sniffer = erdata["sniffer"]; require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyMethod.js'); for(let i=0; i<列表.length; i++) { let playtitle = 列表[i].split('$')[0]; playtitle = playtitle==name?'正片':playtitle.replace(name+" - ","").replace(name+"_","").replace(name,"").replace("《》","").replace("<>","").replace("[]","").trim(); playtitle = decodeURIComponent(playtitle); let playurl = (novel?"hiker://empty##":"")+列表[i].split('$')[1].trim(); let playid = name + "_选集_" + (pageid?pageid+"_":"") + i; let obj = { id: playid, playUrl: playurl, sniffer: sniffer, cachem3u8: playSet.cachem3u8 } let extra = getPlayExtra(obj); if(!novel){ dataObj.id = playid; dataObj.sniffer = sniffer; lazy = $("").lazyRule((dataObj) => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcParseS.js'); return SrcParseS.聚影(input, dataObj); }, dataObj); } d.push({ title: "““””"+playtitle.replace(/第|集|话|期|new|最新|新/g, '')+"", url: playurl + lazy, col_type: col_type, extra: extra }); } updateParams = 1; } } //底部说明 d.push({ desc: '‘‘’’本规则为空壳小程序,仅供学习交流使用,不提供任何内容。', url: 'toast://温馨提示:且用且珍惜!', col_type: 'text_center_1', extra: { id: updateItemid, lineVisible: false } }); setResult(d); if(pic && pic!=MY_PARAMS.pic && !/^hiker/.test(pic)){ setPagePicUrl(pic); } if(updateParams){ //判断是否从收藏或历史进入二级,且接口文件还在data目录的,更新到rule目录 if(typeof(isFromHistoryPage)!="undefined"){ if(isFromHistoryPage() && jkdata.url.startsWith(libspath)){ jkdata.url = jkfilespath + jkdata.url.substr(jkdata.url.lastIndexOf('/')+1); } } //保存换源数据进MY_PARAMS if(sextra.url && (sextra.url!=MY_PARAMS.url || MY_PARAMS.data.url!=jkdata.url)){ setPageParams({ url: sextra.url, pic: pic, pageTitle: name, data: jkdata }); } //设置二级收藏更新最新章节 setLastChapterRule('js:' + $.toString((url,jkdata)=>{ require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyData.js'); setLastChapter(url,jkdata); }, MY_URL, jkdata)) } } //点播一级 function dianboyiji(testSource) { addListener("onClose", $.toString(() => { clearMyVar('点播动态加载loading'); clearMyVar('点播一级jkdata'); })); let d = []; let jkdata = {}; if(testSource){ log("接口测试模式"); jkdata = testSource; }else if(storage0.getMyVar('点播一级jkdata')){ jkdata = storage0.getMyVar('点播一级jkdata'); }else{ let yxdatalist = getDatas('jk', 1); let index = yxdatalist.indexOf(yxdatalist.filter(d => d.type==sourceType && d.name==sourceName )[0]); jkdata = yxdatalist[index] || {}; if(jkdata.name){ setPageTitle(jkdata.name); } } let sname = jkdata.name; if(getMyVar('currentSname') != sname){ clearMyVar('SrcJu_dianbo$分类'); clearMyVar('SrcJu_dianbo$fold'); clearMyVar('SrcJu_dianbo$classCache'); clearMyVar('SrcJu_dianbo$flCache'); putMyVar('currentSname', sname); } if(MY_PAGE==1){ let longClick = [{ title: "分享当前源", js: $.toString((data) => { if(!data.url){ return "toast://当前源无效,无法分享"; } require(config.依赖.replace(/[^/]*$/,'') + 'SrcJySet.js'); return JYshare('jk', getItem("sharePaste",""), data); },jkdata) }]; if(!testSource){ longClick.push({ title: "删除当前源", js: $.toString(() => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyPublic.js'); deleteData('jk', homeSource); return "toast://已处理"; }) },{ title: "编辑当前源", js: $.toString((data) => { return $('hiker://empty#noRecordHistory##noHistory#').rule((data) => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcJySet.js'); return jiekou(data); }, data) },jkdata) }) } d.push({ title: "换主页源", url: testSource?"toast://测试模式下不能更换主页源":$('#noLoading#').lazyRule(() => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyPublic.js'); return selectSource(); }), pic_url: getIcon("点播-主页.svg"), col_type: "icon_3_round_fill", extra: { longClick: longClick } }) let searchModeS = ["代理聚搜","分组接口","当前接口","当前页面"].map(v=>{ return v==getItem("接口搜索方式","当前接口")?`‘‘’’`+v+`√`:v+' '; }); d.push({ title: "搜索方式", url: $(searchModeS,1).select(()=>{ input = input.replace(/[’‘]|<[^>]*>| |√/g, ""); setItem("接口搜索方式",input); refreshPage(); return "toast://搜索方式设置为:"+input+(input=="当前页面"?",只能搜索1页":""); }), pic_url: getIcon("点播-搜索.svg"), col_type: "icon_3_round_fill" }) d.push({ title: "管理设置", url: testSource?"toast://测试模式下不能更换主页源":$(["接口管理","解析管理","资源管理","站源切换","资源码订阅"],1).select(()=>{ if(input=="接口管理"){ if(getItem("sourceMode")=="2"){ return "toast://订阅文件模式,无法管理本地接口"; } putMyVar('guanli','jk'); return $("hiker://empty#noRecordHistory##noHistory##noRefresh#").rule(() => { setPageTitle('接口管理'); require(config.依赖.replace(/[^/]*$/,'') + 'SrcJySet.js'); SRCSet(); }) }else if(input=="解析管理"){ if(getItem("sourceMode")=="2"){ return "toast://订阅文件模式,无法管理本地解析"; } putMyVar('guanli','jx'); return $("hiker://empty#noRecordHistory##noHistory##noRefresh#").rule(() => { setPageTitle('解析管理'); require(config.依赖.replace(/[^/]*$/,'') + 'SrcJySet.js'); SRCSet(); }) }else if(input=="资源管理"){ return $("hiker://empty#noRecordHistory##noHistory#").rule(() => { setPageTitle('资源管理'); require(config.依赖.replace(/[^/]*$/,'') + 'SrcJySet.js'); resource(); }) }else if(input=="站源切换"){ let sm; if(getItem("sourceMode")=="2"){ clearItem("sourceMode"); sm = "本地接口模式"; }else{ setItem("sourceMode","2"); sm = "订阅文件模式"; } return "toast://站源获取设置为:"+sm; }else if(input=="资源码订阅"){ return $('hiker://empty#noRecordHistory##noHistory#').rule(() => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyPublic.js'); setPageTitle("资源码订阅管理"); subResource(); }) } }), pic_url: getIcon("点播-设置.svg"), col_type: "icon_3_round_fill", extra: { longClick: [{ title: "切换列表样式", js: $.toString(() => { let sm; if(getItem("点播一级样式","")==""){ setItem("点播一级样式", "movie_3_marquee"); sm = "movie_3_marquee"; }else{ clearItem("点播一级样式"); sm = "movie_3"; } refreshPage(false); return "toast://已切换为" + sm; }) }] } }) if(!sname){ d.push({ col_type: "line_blank" }); d.push({ title: "主页源不存在\n需先选择配置主页源", desc: "前提是本地有接口或订阅未失效", url: 'toast://点上面换主页源按源', col_type: "text_center_1", extra: { lineVisible: false } }) }else{ if (typeof(setPreResult)!="undefined" && getMyVar('点播动态加载loading')!='1') { d.push({ title: "", url: "hiker://empty", col_type: "text_1", extra: { lineVisible: false, cls: "loading_gif" } }) d.push({ pic_url: "https://hikerfans.com/weisyr/img/Loading1.gif", col_type: "pic_1_center", url: "hiker://empty", extra: { cls: "loading_gif" } }) setPreResult(d); d = []; putMyVar('点播动态加载loading', '1'); } /* return $('hiker://empty#noRecordHistory##noHistory#').rule((name,data) => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyData.js'); let ssdata = getSsData(name,data).vodlists; setResult(ssdata); }, input, data); */ let searchurl = $('').lazyRule((jkdata) => { if(getItem('接口搜索方式','当前接口')=="当前接口"){ if(jkdata){ storage0.putMyVar('搜索临时搜索数据', jkdata); return 'hiker://search?s='+input+'&rule='+MY_RULE.title; }else{ return 'toast://未找到接口数据' } }else if(getItem('接口搜索方式')=="分组接口"){ putMyVar('搜索临时搜索分组', jkdata.group||jkdata.type); return 'hiker://search?s='+input+'&rule='+MY_RULE.title; }else if(getItem('接口搜索方式')=="代理聚搜"){ return 'hiker://search?s='+input+'&rule='+MY_RULE.title; }else if(getItem('接口搜索方式')=="当前页面"){ require(config.依赖); let d = search(input, 'dianboyiji' , jkdata); if(d.length>0){ deleteItemByCls('dianbosousuolist'); addItemAfter('dianbosousuoid', d); }else{ return 'toast://无结果'; } return 'hiker://empty'; } },jkdata); d.push({ title: "搜索", url: $.toString((searchurl) => { input = input.trim(); if(input == ''){ return "hiker://empty" } return input + searchurl; },searchurl), desc: "搜你想看的...", col_type: "input", extra: { id: 'dianbosousuoid', titleVisible: true, onChange: $.toString(() => { if(input==""){ deleteItemByCls('dianbosousuolist'); } }) } }); for (let i = 0; i < 4; i++) { d.push({ col_type: "blank_block" }) } } } if(sname){ try{ require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyData.js'); let yidata = getYiData(jkdata); let fllists = yidata.fllists; if(fllists){ d = d.concat(fllists); }else if(yidata.error['fl']){ d.push({ title: "分类获取失败", desc: '无法访问或源失效,点击查看网页', url: MY_URL + '#noHistory#', col_type: 'text_center_1' }); } let vodlists = yidata.vodlists; if(vodlists && vodlists.length>0){ let sniffer = yidata["sniffer"] || {}; let videocontain = sniffer["contain"] || undefined; let videoexclude = sniffer["exclude"] || ['m3u8.js','?url=']; let video_col_type = getItem("点播一级样式", "movie_3"); vodlists.forEach(list=>{ let vodname = list.vod_name; let vodurl = list.vod_url; if(vodname){ vodname = vodname.replace(/<[^>]+>/g, '').replace(/在线观看/g,'').replace('·','·'); let voddesc = list.vod_desc || ""; let vodpic = list.vod_pic; vodpic = vodpic.replace('/img.php?url=', '').replace('/tu.php?tu=', ''); let regex = /url\(['"]?([^'"]+)['"]?\)/; let match = vodpic.match(regex); if (match && match[1]) { vodpic = match[1]; } if(vodpic.startsWith("//")){ vodpic = "https:" + vodpic; } if(!/^http|^hiker/.test(vodpic)){ vodpic = getHome(vodurl) + '/' + vodpic; } let dataObj = {}; if(/hipy_/.test(jkdata.type)){ dataObj.stype = jkdata.type; dataObj.sname = jkdata.name; dataObj.surl = jkdata.url.startsWith('hiker://')?getPath(jkdata.url):jkdata.url; dataObj.sext = jkdata.ext; } d.push({ title: vodname, desc: voddesc.replace(/<\/?.+?\/?>/g,''), pic_url: vodpic + (vodpic.includes('@')?"":"@Referer="), url: vodurl=="no_data"?"toast://无数据":/^hiker/.test(vodurl)?vodurl:list.vod_play?$("hiker://empty").lazyRule((dataObj, vod_play) => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcParseS.js'); return SrcParseS.聚影(vod_play, dataObj); }, dataObj, list.vod_play):$("hiker://empty#immersiveTheme##autoCache#").rule(() => { require(config.依赖); dianboerji() }), col_type: yidata.coltype || video_col_type, extra: list.vod_play?{ id: vodurl, url: /pan\.quark\.cn|drive\.uc\.cn/.test(vodurl)?undefined:vodurl, jsLoadingInject: true, blockRules: ['.m4a', '.mp3', '.gif', '.jpeg', '.jpg', '.ico', '.png', 'hm.baidu.com', '/ads/*.js', 'cnzz.com'], videoRules: videocontain, videoExcludeRules: videoexclude }:{ url: vodurl, pic: vodpic, pageTitle: vodname, data: jkdata } }) } }) }else if(yidata.error['vod'] && MY_PAGE==1){ d.push({ title: "列表获取失败", desc: '无法访问或源失效,点击查看网页', url: (yidata.listurl?yidata.listurl:MY_URL) + '#noHistory#', col_type: 'text_center_1' }); }else if(vodlists && vodlists.length == 0 && MY_PAGE==1){ d.push({ title: '列表为空', desc: '点击查看网页', url: (yidata.listurl?yidata.listurl:MY_URL) + '#noHistory#', col_type: 'text_center_1' }); } }catch(e){ d.push({ title: '源接口异常了,请更换', desc: '调用一级数据异常>' + e.message + ' 错误行#' + e.lineNumber, url: MY_URL + '#noHistory#', col_type: 'text_center_1' }); log(jkdata.name+'>调用一级数据异常>' + e.message + ' 错误行#' + e.lineNumber); } } deleteItemByCls("loading_gif"); setResult(d); } //一级 function yiji() { addListener("onClose", $.toString(() => { clearMyVar('SrcJu_homeHistory'); })); addListener('onRefresh', $.toString(() => { clearMyVar('SrcJu_homeHistory'); })); if(MY_RULE.title=="聚影✓"){ toast("此小程序已停用,请重新导入聚影"); } if(getMyVar('SrcJuying-VersionCheck', '0') == '0'){ let programversion = 0; try{ programversion = $.require("config").version || MY_RULE.version || 0; }catch(e){} if(programversion<8){ confirm({ title: "温馨提示", content: "发现小程序新版本\n预留本地库依赖切换逻辑", confirm: $.toString(() => { return "海阔视界首页频道规则【聚影】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=6996" }), cancel: $.toString(() => { return "toast://不升级小程序,功能不全或有异常" }) }); } Version(); downloadFiles();//下载必要的依赖文件 putMyVar('SrcJuying-VersionCheck', '1'); } let d = []; if(MY_PAGE==1){ require(config.依赖.replace(/[^/]*$/,'').replace('/Ju/','/master/') + 'SrcJyMenu.js'); if($.type(storage0.getItem('buttonmenu1'))=="object"){ setItem('buttonmenu1',storage0.getItem('buttonmenu1').name); } if($.type(storage0.getItem('buttonmenu2'))=="object"){ setItem('buttonmenu2',storage0.getItem('buttonmenu2').name); } if($.type(storage0.getItem('buttonmenu3'))=="object"){ setItem('buttonmenu3',storage0.getItem('buttonmenu3').name); } if($.type(storage0.getItem('buttonmenu4'))=="object"){ setItem('buttonmenu4',storage0.getItem('buttonmenu4').name); } if($.type(storage0.getItem('buttonmenu5'))=="object"){ setItem('buttonmenu5',storage0.getItem('buttonmenu5').name); } let btnmn1 = getItem('buttonmenu1',"管理"); let btnmn2 = getItem('buttonmenu2',"收藏"); let btnmn3 = getItem('buttonmenu3',"点播"); let btnmn4 = getItem('buttonmenu4',"直播"); let btnmn5 = getItem('buttonmenu5',"云盘"); let yijimenu = [ { title: btnmn1, url: buttonmenu[btnmn1].url, pic_url: buttonmenu[btnmn1].img, col_type: 'icon_5', extra: { id: 'buttonmenu1', longClick: [{ title: "♥️管理", js: $.toString(() => { return $("hiker://empty#noRecordHistory##noHistory#").rule(() => { require(config.依赖.replace(/[^/]*$/,'').replace('/Ju/','/master/') + 'SrcJySet.js'); manageSet(); }) }) },{ title: "💡切换按钮", js: $.toString((menubtns) => { return $(menubtns,2,"自定义第1个按钮功能").select(() => { setItem('buttonmenu1',input); refreshPage(false); return 'toast://第1按钮已设置为'+input; }) },menubtns) }] } }, { title: btnmn2, url: buttonmenu[btnmn2].url, pic_url: buttonmenu[btnmn2].img, col_type: 'icon_5', extra: { id: 'buttonmenu2', longClick: [{ title: "💡切换按钮", js: $.toString((menubtns) => { return $(menubtns,2,"自定义第2个按钮功能").select(() => { setItem('buttonmenu2',input); refreshPage(false); return 'toast://第2按钮已设置为'+input; }) },menubtns) }] } }, { title: btnmn3, url: buttonmenu[btnmn3].url, pic_url: buttonmenu[btnmn3].img, col_type: 'icon_5', extra: { id: 'buttonmenu3', longClick: [{ title: "💡切换按钮", js: $.toString((menubtns) => { return $(menubtns,2,"自定义第3个按钮功能").select(() => { setItem('buttonmenu3',input); refreshPage(false); return 'toast://第3按钮已设置为'+input; }) },menubtns) }] } }, { title: btnmn4, url: buttonmenu[btnmn4].url, pic_url: buttonmenu[btnmn4].img, col_type: 'icon_5', extra: { id: 'buttonmenu4', longClick: [{ title: "💡切换按钮", js: $.toString((menubtns) => { return $(menubtns,2,"自定义第4个按钮功能").select(() => { setItem('buttonmenu4',input); refreshPage(false); return 'toast://第4按钮已设置为'+input; }) },menubtns) }] } }, { title: btnmn5, url: buttonmenu[btnmn5].url, pic_url: buttonmenu[btnmn5].img, col_type: 'icon_5', extra: { id: 'buttonmenu5', longClick: [{ title: "💡切换按钮", js: $.toString((menubtns) => { return $(menubtns,2,"自定义第5个按钮功能").select(() => { setItem('buttonmenu5',input); refreshPage(false); return 'toast://第5按钮已设置为'+input; }) },menubtns) }] } }, { col_type: 'line' } ] yijimenu.forEach((item)=>{ d.push(item); }) if (typeof(setPreResult)!="undefined" && getMyVar('动态加载loading')!='1') { d.push({ title: "", url: "hiker://empty", col_type: "text_1", extra: { lineVisible: false, cls: "loading_gif" } }) d.push({ pic_url: "https://hikerfans.com/weisyr/img/Loading1.gif", col_type: "pic_1_center", url: "hiker://empty", extra: { cls: "loading_gif" } }) setPreResult(d); d = []; putMyVar('动态加载loading', '1'); } } var searchurl = $('').lazyRule(() => { let recordlist = storage0.getItem('searchrecord') || []; if(recordlist.indexOf(input)>-1){ recordlist = recordlist.filter((item) => item !== input); } recordlist.unshift(input); if(recordlist.length>20){ recordlist.splice(recordlist.length-1,1); } storage0.setItem('searchrecord', recordlist); return "hiker://search?rule=" + MY_RULE.title + "&s=" + input; }); let filterJk = getItem('主页搜索接口范围',''); d.push({ title: "搜索", url: $.toString((searchurl) => { input = input.trim(); if(input == ''){ return "hiker://empty" } if(/www\.aliyundrive\.com|www\.alipan\.com/.test(input)){ input = input.replace('http','\nhttp'); return $("hiker://empty#noRecordHistory##noHistory#").rule((input) => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyAliDisk.js'); aliShareUrl(input); },input); }else{ return input + searchurl; } },searchurl), desc: "搜索接口范围," + (filterJk==""?"全部接口":filterJk.includes('[')?"TAG:"+filterJk:"分组:"+filterJk), col_type: "input", extra: { titleVisible: true, id: "searchinput", onChange: $.toString((searchurl) => { if(input.indexOf('https://www.aliyundrive.com/s/')==-1){ if(input.length==0){deleteItemByCls('suggest');} if(input.length>1&&input!=getMyVar('sousuo$input', '')){ putMyVar('sousuo$input', input); deleteItemByCls('suggest'); var html = request("https://movie.douban.com/j/subject_suggest?q=" + input, {timeout: 3000}); var list = JSON.parse(html)||[]; let suggest = list.map((sug)=>{ try { let sugitem = { url: sug.title + searchurl, extra: { cls: 'suggest' } } if(sug.img!=""){ sugitem.title = sug.title; sugitem.img = sug.img + '@Referer=https://www.douban.com'; sugitem.desc = "年份:" + sug.year; sugitem.col_type = "movie_1_vertical_pic"; }else{ sugitem.title = "⚡" + sug.title; sugitem.col_type = "text_1"; } return sugitem; } catch (e) { } }); if(suggest.length>0){ addItemAfter('searchinput', suggest); } } } }, searchurl) } }); d.push({ title: "📑"+(getItem('searchrecordide')=='1'?"关":"开")+"搜索记录", url: $('#noLoading#').lazyRule(() => { if(getItem('searchrecordide')=='1'){ clearItem('searchrecordide'); }else{ setItem('searchrecordide','1'); } refreshPage(false); return "toast://已切换" }), col_type: 'scroll_button' }); d.push({ title: "🎥"+(getItem('historyEnable')=='1'?"关":"开")+"观看记录", url: $('#noLoading#').lazyRule(() => { if(getItem('historyEnable')=='1'){ clearItem('historyEnable'); }else{ setItem('historyEnable','1'); } refreshPage(false); return "toast://已切换" }), col_type: 'scroll_button' }); d.push({ title: "🔍搜索接口", url: $('#noLoading#').lazyRule(() => { require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyPublic.js'); let datalist = getDatas("jk", 1); let groupNames = getJiekouGroups(datalist); groupNames.unshift("全部"); let selectkeys = getJkTags(datalist); groupNames = groupNames.concat(selectkeys); return $(groupNames, 3).select(() => { if(input=='全部'){ clearItem('主页搜索接口范围'); }else{ setItem('主页搜索接口范围', input); } refreshPage(false); return "toast://已切换" }) }), col_type: 'scroll_button' }); d.push({ col_type: "blank_block" }); if(getItem('searchrecordide','0')=='1'){ let recordlist = storage0.getItem('searchrecord') || []; if(recordlist.length>0){ d.push({ title: '🗑清空', url: $('#noLoading#').lazyRule(() => { clearItem('searchrecord'); deleteItemByCls('searchrecord'); return "toast://已清空"; }), col_type: 'scroll_button' }); }else{ d.push({ title: '↻无记录', url: "hiker://empty", col_type: 'scroll_button' }); } recordlist.forEach(item=>{ d.push({ title: item, url: item + searchurl, col_type: 'scroll_button', extra: { cls: 'searchrecord' } }); }) } if(getItem('historyEnable')=='1'){ d.push({ title: '\t观看记录\t\t\t', desc: "1-3", url: $('#noLoading#').lazyRule(() => { let i = parseInt(getMyVar('SrcJu_homeHistory','0')) + 1; require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyPublic.js'); putMyVar('SrcJu_homeHistory', i); deleteItemByCls('historylist'); let h = getHistory(i); addItemAfter("historyid", h); let j = parseInt(getMyVar('SrcJu_homeHistory','0')); updateItem("historyid", {desc: (j*3+1) + "-" + (j*3+3)}); return "hiker://empty"; }), pic_url: getIcon("主页-记录.svg", 1),//'https://hikerfans.com/tubiao/red/40.png', col_type: 'avatar', extra: { id: "historyid" } }); let items = getHistory(); d = d.concat(items); } let resoufile = libspath + "resou.json"; let Juyingresou = fetch(resoufile); let JYresou = {}; if(Juyingresou != ""){ try{ eval("JYresou=" + Juyingresou+ ";"); delete JYresou['resoulist']; }catch(e){ log("加载热搜缓存出错>"+e.message); } } let resoudata = JYresou['data'] || {}; let fenlei = ["电视剧","电影","动漫","综艺"]; let fenleiid = ["3","2","5","4"]; let ids = getMyVar("热榜分类","0"); let list = resoudata[fenlei[ids]] || []; let nowtime = Date.now(); let oldtime = JYresou.updatetime || 0; if(list.length==0 || nowtime > (oldtime+24*60*60*1000)){ try{ let html = request("https://api.web.360kan.com/v1/rank?cat="+fenleiid[ids], {timeout: 3000}); list = JSON.parse(html).data; resoudata[fenlei[ids]] = list; JYresou['data'] = resoudata; JYresou['updatetime'] = nowtime; writeFile(resoufile, JSON.stringify(JYresou)); }catch(e){ log("获取热搜榜出错>"+e.message); } } d.push({ title: '\t热搜榜单\t\t\t', desc: '✅'+fenlei[ids], url: $(fenlei, 2, '选择热榜分类').select((fenlei) => { putMyVar("热榜分类",fenlei.indexOf(input)); refreshPage(false); return "hiker://empty"; },fenlei), pic_url: getIcon("主页-热搜.svg", 1),//'https://hikerfans.com/tubiao/red/73.png',//'https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=3779990328,1416553241&fm=179&app=35&f=PNG?w=60&h=70&s=E7951B62A4639D153293A4E90300401B', col_type: 'avatar', extra: { id: "rousoubang" } }); let rbcolor = getItem('主题颜色','#00ba99'); list.forEach((item,i)=>{ d.push({ title: (i=="0"?'““””' + (parseInt(i)+1).toString() + '\t\t' + item.title:i=="1"?'““””' + (parseInt(i)+1).toString() + '\t\t' + item.title:i=="2"?'““””' + (parseInt(i)+1).toString() + '\t\t' + item.title:'““””' + (parseInt(i)+1).toString() + '\t\t' + item.title)+'\n'+item.comment+'', url: item.title + searchurl, pic_url: item.cover, desc: item.description, col_type: "movie_1_vertical_pic" }); }) deleteItemByCls("loading_gif"); setResult(d); //一些自动检查调用在首页加截后,间隔24小时 if (!getMyVar('startCheck') && nowtime > (oldtime+24*60*60*1000)) { clearJkSort(); //清理历史接口排序信息 clearJkFiles(); //清理接口残留文件 updateResource(); //检查更新订阅资源码 putMyVar('startCheck', 1); } } // 新搜索页 function newSearch() { let d = []; let sourceAllList = getDatas("jk", 1).filter(x=> !x.onlysearch); let groupnames = getJiekouGroups(sourceAllList); setResult(d); } // 版本检测 function Version() { let loaclversion; if(getItem('本地依赖库')=="1"){ let loaclfile = "hiker://files/data/"+MY_RULE.title+"/code/SrcTmplVersion.js"; if(fileExist(loaclfile)){ eval(fetch(loaclfile)); loaclversion = newVersion.SrcJuying; } } var nowVersion = loaclversion || getItem('Version', "0.1");//现在版本 var nowtime = Date.now(); var oldtime = parseInt(getItem('VersionChecktime','0').replace('time','')); if (nowtime > (oldtime+24*60*60*1000) && getItem("依赖","").startsWith("http") && getItem('本地依赖库','0')!="1") { try { eval(request(getItem("依赖","").replace(/[^/]*$/,'') + 'SrcTmplVersion.js')) if (parseFloat(newVersion.SrcJuying) > parseFloat(nowVersion)) { confirm({ title:'发现新版本,是否更新?', content:'本地V'+nowVersion+' => 云端V'+newVersion.SrcJuying + '\n' + (newVersion.hint||""), confirm: $.toString((nowtime,version,updateRecords) => { setItem('Version', version); setItem('VersionChecktime', nowtime+'time'); deleteCache(); refreshPage(); const hikerPop = $.require("http://hiker.nokia.press/hikerule/rulelist.json?id=6966"); hikerPop.updateRecordsBottom(updateRecords); },nowtime, newVersion.SrcJuying, newVersion.JYUpdateRecords.slice(0, 3)), cancel:'' }) log('检测到新版本!\nV'+newVersion.SrcJuying+'版本》'+newVersion.SrcJuyingdesc[newVersion.SrcJuying]); } putMyVar('SrcJuying-Version', '-V'+newVersion.SrcJuying); } catch (e) { } }else{ putMyVar('SrcJuying-Version', '-V'+nowVersion); } }