更新 'SrcJu.js'

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

@ -97,16 +97,8 @@ function sousuo() {
putMyVar('SrcJuSousuo', '1');
let name = MY_URL.split('##')[1];
let d = [];
d.push({
title: "搜索中...",
url: "hiker://empty",
extra: {
id: "sousuoloading"
}
});
search(name,'sousuo');
setResult(d);
java.lang.Thread.sleep(1000);
search(name);
}
//二级+源搜索
@ -178,13 +170,13 @@ function erji() {
MY_URL = surl;
sauthor = parse["作者"] || sauthor;
let detailsmark;
if(getMyVar('SrcJuloading')){
if(getMyVar('是否取缓存文件')){
let detailsdata = fetch(detailsfile);
if (detailsdata != "") {
try{
eval("let detailsjson=" + detailsdata + ";");
if(detailsjson.sname==sname && detailsjson.surl==surl){
detailsmark = detailsjson;
detailsmark = detailsjson;//本地缓存接口+链接对得上则取本地,用于切换排序和样式时加快
}
}catch(e){ }
}
@ -479,7 +471,7 @@ function erji() {
最新(surl,公共);
}, surl, parse['最新'], 公共))
}
putMyVar('SrcJuloading','1');//判断是否取本地缓存文件,软件打开初次必需在线取同名数据
putMyVar('是否取缓存文件','1');//判断是否取本地缓存文件,软件打开初次必需在线取同名数据
} else {
if(!detailload){
d.push({
@ -509,27 +501,20 @@ function erji() {
}
//搜索接口
function search(name, sdata) {
function search(keyword, mode, sdata) {
if(getMyVar('SrcJuSearching')=="1"){
return "toast://上次搜索线程还未结束,等等再来"
}
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]; }
putMyVar('SrcJuSearching','1');
let name = keyword.split(' ')[0];
let success = 0;
let beresults = [];
let beerrors = [];
if (sdata) {
erdatalist = [];
erdatalist.push(sdata);
}
let task = function (obj) {
try {
let parse;
@ -548,7 +533,27 @@ function search(name, sdata) {
let data = [];
eval("let 搜索 = " + parse['搜索'])
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 => {
let extra = item.extra || {};
extra.name = extra.name || item.title;
@ -558,17 +563,11 @@ function search(name, sdata) {
extra.pageTitle = extra.name;
extra.surl = item.url ? item.url.replace(/#immersiveTheme#|#autoCache#|#noRecordHistory#|#noHistory#|#readTheme#|#autoPage#/, "") : "";
item.extra = extra;
if (getMyVar('SrcJuSousuo') == "1") {
item.url = $("hiker://empty#immersiveTheme##autoCache#").rule(() => {
item.url = mode=="sousuo" ? $("hiker://empty#immersiveTheme##autoCache#").rule(() => {
require(config.依赖);
erji();
})
} else {
item.url = item.url + $("#noLoading#").lazyRule((extra) => {
putMyVar('JuSouSuoStoptask','1');
if(getMyVar('SrcJuSearching')){
return "toast://等待搜索线程结束...";
}else if(getMyVar('SrcJuselectsname')){
}) : item.url + $("#noLoading#").lazyRule((extra) => {
if(getMyVar('SrcJuselectsname')){
return "toast://请勿重复点击,稍等...";
}else{
putMyVar('SrcJuselectsname','1');
@ -578,63 +577,73 @@ function search(name, sdata) {
return "toast://已切换源:" + extra.sname;
}
}, extra);
}
item.content = 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.col_type = getMyVar('SrcJuSousuoTest')?"movie_1_vertical_pic":getMyVar('SrcJuSousuo') ? "video" : "avatar";
item.desc = mode=="sousuo" ? MY_RULE.title + ' · ' + obj.name : obj.name + (item.sdesc?(' · ' + item.sdesc):"");
item.col_type = mode=="sousuo" ? "video" : "avatar";
})
if(mode=="list"){
searchMark[name] = searchMark[name] || [];
searchMark[name] = searchMark[name].concat(data);
addItemBefore(loadid, data);
success++;
hideLoading();
if(!getMyVar('SrcJuselectsname')){
addItemBefore("listloading", data);
}
} catch (e) {
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
hideLoading();
}
});
if (list.length > 0) {
putMyVar('SrcJuSearching','1');
deleteItemByCls('loadlist');
be(list, {
func: function (obj, id, error, taskResult) {
if (getMyVar('JuSouSuoStoptask')) {
toast("线程已中止");
clearMyVar('JuSouSuoStoptask');
return "break";
obj.results = obj.results.concat(data);
}else{
obj.errors.push(id);
}
},
param: {
results: beresults,
errors: beerrors
}
});
if(mode=="sousuo"){
return beresults;
}
/*
if (!sdata) {
storage0.putMyVar('searchMark', searchMark);
}
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 })
}
/*
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('SrcJuSousuo');
clearMyVar('SrcJuSousuoTest');
hideLoading();
}
*/
}
//取本地足迹记录

Loading…
Cancel
Save