更新 'SrcJySet.js'

master
src48597962 5 months ago
parent 6deeab44fc
commit 35f61410b2
  1. 324
      SrcJySet.js

@ -320,201 +320,191 @@ function SRCSet() {
if(getMyVar("批量检测_线程开始")=="1"){
return "toast://上一个任务还没有结束,请等待.";
}
return $("hiker://empty#noRecordHistory##noHistory##noRefresh#").rule((duoselect) => {
storage0.putMyVar('checkSourceList', duoselect);//写入待检测源
return $("hiker://empty#noRecordHistory##noHistory##noRefresh#").rule(() => {
addListener("onClose", $.toString(() => {
putMyVar("批量检测_退出页面","1");
let nowtime = Date.now();
setItem('checkSourcetime', nowtime+'|'+getMyVar("checkSource_nexttime", "0"));
clearMyVar("checkSource_nexttime");
clearMyVar("checkSourceList");
clearMyVar("批量检测_中止线程");
clearMyVar("批量检测_复检模式");
}));
function testSource(checkSource) {
if(getMyVar("批量检测_线程开始")=="1"){
return "toast://上一个任务还没有结束,请等待.";
}
putMyVar("checkSource_nexttime", "12");
putMyVar("批量检测_线程开始", "1");
deleteItem("recheckSource");
function testSource() {
return $().lazyRule(()=>{
if(getMyVar("批量检测_线程开始")=="1"){
return "toast://上一个任务还没有结束,请等待.";
}
putMyVar("checkSource_nexttime", "12");
putMyVar("批量检测_线程开始", "1");
//let duoselect = getMyVar("批量检测_复检模式")?storage0.getMyVar("failSourceList"):storage0.getMyVar('SrcJu_duoselect') || [];
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyPublic.js');
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyData.js');
let task = function (data) {
let error = {};
let desc = '';
let ername, erurl;
if(!data.onlysearch){
let yidata = getYiData(data, 1);
if(yidata.fllists && yidata.fllists.length>0){
if(yidata.vodlists && yidata.vodlists.length>1){
erurl = yidata.vodlists[0].vod_url;
ername = yidata.vodlists[0].vod_name;
desc += "一级列表检测正常";
let checkSourceList = storage0.getMyVar("checkSourceList") || [];
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyPublic.js');
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyData.js');
let task = function (data) {
let error = {};
let desc = '';
let ername, erurl;
if(!data.onlysearch){
let yidata = getYiData(data, 1);
if(yidata.fllists && yidata.fllists.length>0){
if(yidata.vodlists && yidata.vodlists.length>1){
erurl = yidata.vodlists[0].vod_url;
ername = yidata.vodlists[0].vod_name;
desc += "一级列表检测正常";
}else{
error.yi = 1;
desc += "一级列表检测失败";
}
}else{
error.yi = 1;
desc += "一级列表检测失败";
}
}else{
error.yi = 1;
desc += "一级列表检测失败";
desc += "仅搜索源,跳过一级列表检测";
}
}else{
desc += "仅搜索源,跳过一级列表检测";
}
if(data.searchable!='0'){
let ssdata = getSsData("我的", data, 1);
if(ssdata.error){
desc += "/n搜索 ‘我的’ 检测出错";
error.ss = 1;
}else if(ssdata.vodlists.length>0 && !erurl){
erurl = ssdata.vodlists[0].vod_url;
ername = ssdata.vodlists[0].vod_name;
desc += "/n搜索 ‘我的’ 结果获取到>" + ssdata.vodlists.length;
if(data.searchable!='0'){
let ssdata = getSsData("我的", data, 1);
if(ssdata.error){
desc += "/n搜索 ‘我的’ 检测出错";
error.ss = 1;
}else if(ssdata.vodlists.length>0 && !erurl){
erurl = ssdata.vodlists[0].vod_url;
ername = ssdata.vodlists[0].vod_name;
desc += "/n搜索 ‘我的’ 结果获取到>" + ssdata.vodlists.length;
}
}else{
desc += "不支持搜索源,跳过搜索检测";
}
}else{
desc += "不支持搜索源,跳过搜索检测";
}
if(erurl){
let erdata = getErData(data,erurl);
let lists = erdata.lists || [];
if(lists.length==0){
error.er = 1;
desc += "/n获取 ‘"+ername+"’ 选集列表失败";
if(erurl){
let erdata = getErData(data,erurl);
let lists = erdata.lists || [];
if(lists.length==0){
error.er = 1;
desc += "/n获取 ‘"+ername+"’ 选集列表失败";
}else{
desc += "/n获取 ‘"+ername+"’ 选集列表成功";
}
}else{
desc += "/n获取 ‘"+ername+"’ 选集列表成功";
desc += "/n未获取到二级链接,跳过二级选集检测";
}
}else{
desc += "/n未获取到二级链接,跳过二级选集检测";
let d = {
title: data.name,
desc: desc,
url: $("hiker://empty#noRecordHistory##noHistory#").rule((data) => {
setPageTitle(data.name+"-接口测试");
require(config.依赖);
dianboyiji(data);
}, data),
col_type: "text_1",
extra: {
id: "failSource-" + data.url,
longClick: [{
title: "保留",
js: $.toString((dataurl) => {
let failSource = storage0.getMyVar("failSourceList") || [];
let index = failSource.indexOf(failSource.filter(d => dataurl==d.url )[0]);
failSource.splice(index, 1);
storage0.putMyVar("failSourceList",failSource);
deleteItem("failSource-" + dataurl);
return "toast://已保留,不处理";
},data.url)
}]
}
}
return {error:error, d:d, data:data}
}
showLoading("批量检测中...");
let list = checkSource.map((item) => {
return {
func: task,
param: item,
id: item.url
}
});
let d = {
title: data.name,
desc: desc,
url: $("hiker://empty#noRecordHistory##noHistory#").rule((data) => {
setPageTitle(data.name+"-接口测试");
require(config.依赖);
dianboyiji(data);
}, data),
col_type: "text_1",
addItemAfter("testSource", {
title: "批量检测中...",
desc: "点击中止线程,停止批量检测",
url: $().lazyRule(()=>{
putMyVar("批量检测_中止线程","1");
showLoading("正在拦截线程");
return "toast://正在拦截线程,停止批量检测";
}),
col_type: "text_center_1",
extra: {
id: "failSource-" + data.url,
longClick: [{
title: "保留",
js: $.toString((dataurl) => {
let failSource = storage0.getMyVar("failSourceList") || [];
let index = failSource.indexOf(failSource.filter(d => dataurl==d.url )[0]);
failSource.splice(index, 1);
storage0.putMyVar("failSourceList",failSource);
deleteItem("failSource-" + dataurl);
return "toast://已保留,不处理";
},data.url)
}]
id: "pausetestSource"
}
}
return {error:error, d:d, data:data}
}
showLoading("批量检测中...");
});
log("批量检测_线程开始");
clearMyVar("批量检测_复检模式");
let success = 0;
let faillist = [];
if(list.length>0){
be(list, {
func: function (obj, id, error, taskResult) {
let executed = storage0.getMyVar("批量检测_执行结果") || [];
executed.push({
data: taskResult.data,
error: taskResult.error,
execute: error?0:1
})
let list = checkSource.map((item) => {
return {
func: task,
param: item,
id: item.url
}
});
addItemAfter("testSource", {
title: "批量检测中...",
desc: "点击中止线程,停止批量检测",
url: $().lazyRule(()=>{
putMyVar("批量检测_中止线程","1");
showLoading("正在拦截线程");
return "toast://正在拦截线程,停止批量检测";
}),
col_type: "text_center_1",
extra: {
id: "pausetestSource"
}
});
log("批量检测_线程开始");
clearMyVar("批量检测_复检模式");
let executeList = [];
let success = 0;
let faillist = [];
if(Object.keys(taskResult.error).length>0){
addItemBefore("testSource2", taskResult.d);
faillist.push(taskResult.data);
if(faillist.length==1){
deleteItem("deletefailSource");
addItemAfter("testSource2", {
title: "批量删除失败的源",
url: $("确定将失败的源全部删除").confirm(() => {
let failSource = storage0.getMyVar("failSourceList") || [];
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyPublic.js');
deleteData("jk", failSource);
back(true);
return 'toast://已删除失效源'+failSource.length;
}),
col_type : "text_center_1",
extra: {
id: "deletefailSource"
}
});
}
}else{
success++;
if(list.length>0){
be(list, {
func: function (obj, id, error, taskResult) {
executeList.push(id);
if(Object.keys(taskResult.error).length>0){
addItemBefore("testSource2", taskResult.d);
faillist.push(taskResult.data);
if(faillist.length==1){
deleteItem("deletefailSource");
addItemAfter("testSource2", {
title: "批量删除失败的源",
url: $("确定将失败的源全部删除").confirm(() => {
let failSource = storage0.getMyVar("failSourceList") || [];
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyPublic.js');
deleteData("jk", failSource);
back(true);
return 'toast://已删除失效源'+failSource.length;
}),
col_type : "text_center_1",
extra: {
id: "deletefailSource"
}
});
}
storage0.putMyVar("failSourceList", faillist);
}else{
success++;
}
updateItem("testSource", {desc: "已检测:" + executeList.length + ",正常源:" + success});
//log(id + ">>>" +error);
if(getMyVar("批量检测_退出页面")=="1" || getMyVar("批量检测_中止线程")=="1"){
return "break";
}
},
param: {
}
})
}
log("批量检测_线程结束");
clearMyVar("批量检测_线程开始");
deleteItem("pausetestSource");
clearMyVar("批量检测_中止线程");
hideLoading();
updateItem("testSource", {desc: "已检测:" + executed.length + ",正常源:" + success});
//log(id + ">>>" +error);
if(getMyVar("批量检测_退出页面")=="1"){
clearMyVar("批量检测_退出页面");
clearMyVar("failSourceList");
}else{
if(faillist.length>0){
addItemAfter("testSource2", {
title: "针对失败的源,进入复检模式",
url: $().lazyRule((failnum)=>{
putMyVar("批量检测_复检模式","1");
refreshPage(true);
return "toast://进入复检" + failnum;
}, faillist.length),
col_type : "text_center_1",
extra: {
id: "recheckSource"
if(getMyVar("批量检测_退出页面")=="1" || getMyVar("批量检测_中止线程")=="1"){
return "break";
}
},
param: {
}
});
}else{
deleteItem("deletefailSource");
})
}
}
return "toast://测试结束";
log("批量检测_线程结束");
clearMyVar("批量检测_线程开始");
deleteItem("pausetestSource");
clearMyVar("批量检测_中止线程");
hideLoading();
if(getMyVar("批量检测_退出页面")=="1"){
clearMyVar("批量检测_退出页面");
clearMyVar("failSourceList");
}
return "toast://测试结束";
})
}
let d = [];
@ -537,7 +527,7 @@ function SRCSet() {
*/
d.push({
title: "待检测源:" + duoselect.length,
url: testSource(duoselect),
url: testSource(),
desc: "",
col_type : "text_center_1",
extra: {
@ -551,7 +541,7 @@ function SRCSet() {
}
});
setResult(d);
}, duoselect)
})
}, Juconfig["checkSourceAdmin"] || 0),
col_type: 'scroll_button'
})

Loading…
Cancel
Save