更新 'SrcJu.js'

Ju
src48597962 2 years ago
parent 43d9f389aa
commit 0f68bed4d1
  1. 149
      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,27 +501,20 @@ 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) {
//log("重复搜索>"+name+",调用搜索缓存");
addItemBefore(loadid, searchMark[name]);
updateItem(loadid, { title: getMyVar('SrcJuSousuo') == "1" ? "当前搜索为缓存" : "‘‘’’<small>当前搜索为缓存</small>" })
} else {
showLoading('搜源中,请稍后.');
let searchMark = storage0.getMyVar('searchMark') || {};
let i = 0;
let one = "";
for (var k in searchMark) {
i++;
if (i == 1) { one = k }
}
if (i > 20) { delete searchMark[one]; }
let success = 0; let success = 0;
let beresults = [];
let beerrors = [];
if (sdata) {
erdatalist = [];
erdatalist.push(sdata);
}
let task = function (obj) { let task = function (obj) {
try { try {
let parse; let parse;
@ -548,7 +533,27 @@ function search(name, sdata) {
let data = []; let data = [];
eval("let 搜索 = " + parse['搜索']) eval("let 搜索 = " + parse['搜索'])
data = 搜索(name) || []; data = 搜索(name) || [];
if (data.length > 0) { return {result:data, success:1};
} catch (e) {
log(obj.name + '>搜索失败>' + e.message);
return {result:[], success:0};
}
}
let list = erdatalist.map((item) => {
return {
func: task,
param: item,
id: item.name
}
});
if (list.length > 0) {
//deleteItemByCls('loadlist');
be(list, {
func: function (obj, id, error, taskResult) {
let i = taskResult.success;//是否成功,用于判断有无报错1为成功无错
if(i==1){
let data = taskResult.result;
success++;
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,17 +563,11 @@ 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) => {
} else { if(getMyVar('SrcJuselectsname')){
item.url = item.url + $("#noLoading#").lazyRule((extra) => {
putMyVar('JuSouSuoStoptask','1');
if(getMyVar('SrcJuSearching')){
return "toast://等待搜索线程结束...";
}else if(getMyVar('SrcJuselectsname')){
return "toast://请勿重复点击,稍等..."; return "toast://请勿重复点击,稍等...";
}else{ }else{
putMyVar('SrcJuselectsname','1'); putMyVar('SrcJuselectsname','1');
@ -578,63 +577,73 @@ function search(name, sdata) {
return "toast://已切换源:" + extra.sname; return "toast://已切换源:" + extra.sname;
} }
}, extra); }, 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";
}) })
if(mode=="list"){
searchMark[name] = searchMark[name] || []; searchMark[name] = searchMark[name] || [];
searchMark[name] = searchMark[name].concat(data); searchMark[name] = searchMark[name].concat(data);
addItemBefore(loadid, data); if(!getMyVar('SrcJuselectsname')){
success++; addItemBefore("listloading", data);
hideLoading();
} }
} catch (e) { hideLoading();
log(obj.name + '>搜源失败>' + e.message);
}
return 1;
}
if (sdata) {
erdatalist = [];
erdatalist.push(sdata);
}
let list = erdatalist.map((item) => {
return {
func: task,
param: item,
id: item.name
} }
}); obj.results = obj.results.concat(data);
}else{
if (list.length > 0) { obj.errors.push(id);
putMyVar('SrcJuSearching','1');
deleteItemByCls('loadlist');
be(list, {
func: function (obj, id, error, taskResult) {
if (getMyVar('JuSouSuoStoptask')) {
toast("线程已中止");
clearMyVar('JuSouSuoStoptask');
return "break";
} }
}, },
param: { param: {
results: beresults,
errors: beerrors
} }
}); });
if(mode=="sousuo"){
return beresults;
}
/*
if (!sdata) { if (!sdata) {
storage0.putMyVar('searchMark', searchMark); storage0.putMyVar('searchMark', searchMark);
} }
let sousuosm = getMyVar('SrcJuSousuo') == "1" ? success + "/" + list.length + ",搜索完成" : "‘‘’’<small><font color=#f13b66a>" + success + "</font>/" + list.length + ",搜索完成</small>"; let sousuosm = getMyVar('SrcJuSousuo') == "1" ? success + "/" + list.length + ",搜索完成" : "‘‘’’<small><font color=#f13b66a>" + success + "</font>/" + list.length + ",搜索完成</small>";
updateItem(loadid, { title: sousuosm }) updateItem(loadid, { title: sousuosm })
*/
} else { } else {
let sousuosm = "无接口"; let sousuosm = "无接口";
updateItem(loadid, { title: sousuosm }) updateItem(loadid, { title: sousuosm })
} }
/*
let searchMark = storage0.getMyVar('searchMark') || {};
let loadid = getMyVar('SrcJuSousuo') == "1" ? 'sousuoloading' : 'listloading';
if (searchMark[name] && !sdata) {
//log("重复搜索>"+name+",调用搜索缓存");
addItemBefore(loadid, searchMark[name]);
updateItem(loadid, { title: getMyVar('SrcJuSousuo') == "1" ? "当前搜索为缓存" : "‘‘’’<small>当前搜索为缓存</small>" })
} else {
showLoading('搜源中,请稍后.');
let searchMark = storage0.getMyVar('searchMark') || {};
let i = 0;
let one = "";
for (var k in searchMark) {
i++;
if (i == 1) { one = k }
}
if (i > 20) { delete searchMark[one]; }
clearMyVar('SrcJuSearching'); clearMyVar('SrcJuSearching');
clearMyVar('SrcJuSousuo'); clearMyVar('SrcJuSousuo');
clearMyVar('SrcJuSousuoTest'); clearMyVar('SrcJuSousuoTest');
hideLoading(); hideLoading();
} }
*/
} }
//取本地足迹记录 //取本地足迹记录

Loading…
Cancel
Save