更新 'SrcJu.js'

Ju
src48597962 2 years ago
parent 43d9f389aa
commit 0f68bed4d1
  1. 231
      SrcJu.js

@ -97,16 +97,8 @@ function sousuo() {
putMyVar('SrcJuSousuo', '1'); putMyVar('SrcJuSousuo', '1');
let name = MY_URL.split('##')[1]; let name = MY_URL.split('##')[1];
let d = []; let d = [];
d.push({ search(name,'sousuo');
title: "搜索中...",
url: "hiker://empty",
extra: {
id: "sousuoloading"
}
});
setResult(d); setResult(d);
java.lang.Thread.sleep(1000);
search(name);
} }
//二级+源搜索 //二级+源搜索
@ -178,13 +170,13 @@ function erji() {
MY_URL = surl; MY_URL = surl;
sauthor = parse["作者"] || sauthor; sauthor = parse["作者"] || sauthor;
let detailsmark; let detailsmark;
if(getMyVar('SrcJuloading')){ if(getMyVar('是否取缓存文件')){
let detailsdata = fetch(detailsfile); let detailsdata = fetch(detailsfile);
if (detailsdata != "") { if (detailsdata != "") {
try{ try{
eval("let detailsjson=" + detailsdata + ";"); eval("let detailsjson=" + detailsdata + ";");
if(detailsjson.sname==sname && detailsjson.surl==surl){ if(detailsjson.sname==sname && detailsjson.surl==surl){
detailsmark = detailsjson; detailsmark = detailsjson;//本地缓存接口+链接对得上则取本地,用于切换排序和样式时加快
} }
}catch(e){ } }catch(e){ }
} }
@ -479,7 +471,7 @@ function erji() {
最新(surl,公共); 最新(surl,公共);
}, surl, parse['最新'], 公共)) }, surl, parse['最新'], 公共))
} }
putMyVar('SrcJuloading','1');//判断是否取本地缓存文件,软件打开初次必需在线取同名数据 putMyVar('是否取缓存文件','1');//判断是否取本地缓存文件,软件打开初次必需在线取同名数据
} else { } else {
if(!detailload){ if(!detailload){
d.push({ d.push({
@ -509,46 +501,59 @@ function erji() {
} }
//搜索接口 //搜索接口
function search(name, sdata) { function search(keyword, mode, sdata) {
if(getMyVar('SrcJuSearching')=="1"){ if(getMyVar('SrcJuSearching')=="1"){
return "toast://上次搜索线程还未结束,等等再来" return "toast://上次搜索线程还未结束,等等再来"
} }
let searchMark = storage0.getMyVar('searchMark') || {}; putMyVar('SrcJuSearching','1');
let loadid = getMyVar('SrcJuSousuo') == "1" ? 'sousuoloading' : 'listloading'; let name = keyword.split(' ')[0];
if (searchMark[name] && !sdata) { let success = 0;
//log("重复搜索>"+name+",调用搜索缓存"); let beresults = [];
addItemBefore(loadid, searchMark[name]); let beerrors = [];
updateItem(loadid, { title: getMyVar('SrcJuSousuo') == "1" ? "当前搜索为缓存" : "‘‘’’<small>当前搜索为缓存</small>" }) if (sdata) {
} else { erdatalist = [];
showLoading('搜源中,请稍后.'); erdatalist.push(sdata);
let searchMark = storage0.getMyVar('searchMark') || {}; }
let i = 0;
let one = ""; let task = function (obj) {
for (var k in searchMark) { try {
i++; let parse;
if (i == 1) { one = k } let 公共;
eval("let source = " + obj.erparse);
if (source.ext && /^http/.test(source.ext)) {
requireCache(source.ext, 48);
parse = erdata;
} else {
parse = source;
}
if(parse){
eval("let gonggong = " + obj.public);
公共 = gonggong || parse['公共'] || {};
}
let data = [];
eval("let 搜索 = " + parse['搜索'])
data = 搜索(name) || [];
return {result:data, success:1};
} catch (e) {
log(obj.name + '>搜索失败>' + e.message);
return {result:[], success:0};
} }
if (i > 20) { delete searchMark[one]; } }
let success = 0; let list = erdatalist.map((item) => {
let task = function (obj) { return {
try { func: task,
let parse; param: item,
let 公共; id: item.name
eval("let source = " + obj.erparse); }
if (source.ext && /^http/.test(source.ext)) { });
requireCache(source.ext, 48); if (list.length > 0) {
parse = erdata; //deleteItemByCls('loadlist');
} else { be(list, {
parse = source; func: function (obj, id, error, taskResult) {
} let i = taskResult.success;//是否成功,用于判断有无报错1为成功无错
if(parse){ if(i==1){
eval("let gonggong = " + obj.public); let data = taskResult.result;
公共 = gonggong || parse['公共'] || {}; success++;
}
let data = [];
eval("let 搜索 = " + parse['搜索'])
data = 搜索(name) || [];
if (data.length > 0) {
data.forEach(item => { data.forEach(item => {
let extra = item.extra || {}; let extra = item.extra || {};
extra.name = extra.name || item.title; extra.name = extra.name || item.title;
@ -558,83 +563,87 @@ function search(name, sdata) {
extra.pageTitle = extra.name; extra.pageTitle = extra.name;
extra.surl = item.url ? item.url.replace(/#immersiveTheme#|#autoCache#|#noRecordHistory#|#noHistory#|#readTheme#|#autoPage#/, "") : ""; extra.surl = item.url ? item.url.replace(/#immersiveTheme#|#autoCache#|#noRecordHistory#|#noHistory#|#readTheme#|#autoPage#/, "") : "";
item.extra = extra; item.extra = extra;
if (getMyVar('SrcJuSousuo') == "1") { item.url = mode=="sousuo" ? $("hiker://empty#immersiveTheme##autoCache#").rule(() => {
item.url = $("hiker://empty#immersiveTheme##autoCache#").rule(() => { require(config.依赖);
require(config.依赖); erji();
erji(); }) : item.url + $("#noLoading#").lazyRule((extra) => {
}) if(getMyVar('SrcJuselectsname')){
} else { return "toast://请勿重复点击,稍等...";
item.url = item.url + $("#noLoading#").lazyRule((extra) => { }else{
putMyVar('JuSouSuoStoptask','1'); putMyVar('SrcJuselectsname','1');
if(getMyVar('SrcJuSearching')){ clearMyVar(extra.sname+"_"+extra.name);
return "toast://等待搜索线程结束..."; storage0.putMyVar('erjiextra', extra);
}else if(getMyVar('SrcJuselectsname')){ refreshPage(false);
return "toast://请勿重复点击,稍等..."; return "toast://已切换源:" + extra.sname;
}else{ }
putMyVar('SrcJuselectsname','1'); }, extra);
clearMyVar(extra.sname+"_"+extra.name);
storage0.putMyVar('erjiextra', extra);
refreshPage(false);
return "toast://已切换源:" + extra.sname;
}
}, extra);
}
item.content = item.desc; item.content = item.desc;
item.sdesc = extra.sdesc || item.desc; item.sdesc = extra.sdesc || item.desc;
item.desc = getMyVar('SrcJuSousuoTest')?item.desc:getMyVar('SrcJuSousuo') ? MY_RULE.title + ' · ' + obj.name : obj.name + item.sdesc?(' · ' + item.sdesc):""; item.desc = mode=="sousuo" ? MY_RULE.title + ' · ' + obj.name : obj.name + (item.sdesc?(' · ' + item.sdesc):"");
item.col_type = getMyVar('SrcJuSousuoTest')?"movie_1_vertical_pic":getMyVar('SrcJuSousuo') ? "video" : "avatar"; item.col_type = mode=="sousuo" ? "video" : "avatar";
}) })
searchMark[name] = searchMark[name] || []; if(mode=="list"){
searchMark[name] = searchMark[name].concat(data); searchMark[name] = searchMark[name] || [];
addItemBefore(loadid, data); searchMark[name] = searchMark[name].concat(data);
success++; if(!getMyVar('SrcJuselectsname')){
hideLoading(); addItemBefore("listloading", data);
}
hideLoading();
}
obj.results = obj.results.concat(data);
}else{
obj.errors.push(id);
} }
} catch (e) { },
log(obj.name + '>搜源失败>' + e.message); param: {
results: beresults,
errors: beerrors
} }
return 1; });
if(mode=="sousuo"){
return beresults;
} }
if (sdata) { /*
erdatalist = []; if (!sdata) {
erdatalist.push(sdata); storage0.putMyVar('searchMark', searchMark);
} }
let list = erdatalist.map((item) => { let sousuosm = getMyVar('SrcJuSousuo') == "1" ? success + "/" + list.length + ",搜索完成" : "‘‘’’<small><font color=#f13b66a>" + success + "</font>/" + list.length + ",搜索完成</small>";
return { updateItem(loadid, { title: sousuosm })
func: task, */
param: item, } else {
id: item.name let sousuosm = "无接口";
} updateItem(loadid, { title: sousuosm })
}); }
if (list.length > 0) { /*
putMyVar('SrcJuSearching','1');
deleteItemByCls('loadlist'); let searchMark = storage0.getMyVar('searchMark') || {};
be(list, { let loadid = getMyVar('SrcJuSousuo') == "1" ? 'sousuoloading' : 'listloading';
func: function (obj, id, error, taskResult) { if (searchMark[name] && !sdata) {
if (getMyVar('JuSouSuoStoptask')) { //log("重复搜索>"+name+",调用搜索缓存");
toast("线程已中止"); addItemBefore(loadid, searchMark[name]);
clearMyVar('JuSouSuoStoptask'); updateItem(loadid, { title: getMyVar('SrcJuSousuo') == "1" ? "当前搜索为缓存" : "‘‘’’<small>当前搜索为缓存</small>" })
return "break"; } else {
} showLoading('搜源中,请稍后.');
}, let searchMark = storage0.getMyVar('searchMark') || {};
param: { let i = 0;
} let one = "";
}); for (var k in searchMark) {
if (!sdata) { i++;
storage0.putMyVar('searchMark', searchMark); if (i == 1) { one = k }
}
let sousuosm = getMyVar('SrcJuSousuo') == "1" ? success + "/" + list.length + ",搜索完成" : "‘‘’’<small><font color=#f13b66a>" + success + "</font>/" + list.length + ",搜索完成</small>";
updateItem(loadid, { title: sousuosm })
} else {
let sousuosm = "无接口";
updateItem(loadid, { title: sousuosm })
} }
if (i > 20) { delete searchMark[one]; }
clearMyVar('SrcJuSearching'); clearMyVar('SrcJuSearching');
clearMyVar('SrcJuSousuo'); clearMyVar('SrcJuSousuo');
clearMyVar('SrcJuSousuoTest'); clearMyVar('SrcJuSousuoTest');
hideLoading(); hideLoading();
} }
*/
} }
//取本地足迹记录 //取本地足迹记录

Loading…
Cancel
Save