{ return { url: "https://api.aliyundrive.com/adrive/v3/share_link/get_share_by_anonymous", options: { headers: { "referer": "https://www.aliyundrive.com/" }, body: { "share_id": it.url.split('@rule')[0].replace('https://www.aliyundrive.com/s/', '').split('/folder/')[0] }, method: 'POST', timeout: 3000 } } }) let getbf = batchFetch(bflist); getbf.forEach((bf, j) => { let it = JSON.parse(bf).file_infos || []; if(it.length>0){ datas.push(list[j]); } }) } log("2-"+datas.length); return datas; } //多线程执行代码 let task = function(obj) { try{ let datalist2 = []; try{ eval('let Parse = '+obj.parse); datalist2 = Parse(input); }catch(e){ log(obj.name+'>一解出错>'+e.message); } let searchlist = []; let checklist = []; datalist2.forEach(item => { let arr = { title: item.title, img: "hiker://files/cache/src/文件夹.svg", col_type: "avatar", desc: obj.name, extra: { cls: "loadlist", name: input, dirname: item.title, back: 2 } }; if(obj.name=="我的云盘"){ arr.url = $(item.url).rule((input) => { require(config.依赖.match(/http(s)?:\/\/.*\//)[0].replace('/Ju/','/master/') + 'SrcJyAliDisk.js'); aliMyDisk(input); },item.url); searchlist.push(arr); }else{ if(arr.title.toLowerCase().includes(input.toLowerCase())){//搜索结果包含关键字才行 let alihome = "www.aliyundrive.com/s/"; let surl = item.url; if(!surl.includes(alihome) && obj.erparse){ try{ eval('let Parse2 = ' + obj.erparse) surl = Parse2(surl); }catch(e){ log(obj.name+'>二解出错>'+e.message); } } if(surl.indexOf(alihome)>-1){ arr.url = $(surl.split('\n')[0]).rule((input) => { require(config.依赖.match(/http(s)?:\/\/.*\//)[0].replace('/Ju/','/master/') + 'SrcJyAliDisk.js'); aliShareUrl(input); },surl); if(obj.check){ checklist.push(arr); }else{ searchlist.push(arr); } } } } }) if(checklist.length){ searchlist = checkShare(checklist); } if(searchlist.length>0){ hideLoading(); diskMark[input] = diskMark[input] || []; diskMark[input] = diskMark[input].concat(searchlist); addItemBefore('yundisklistloading', searchlist); } }catch(e){ log(obj.name + '>' + e.message); } return 1; } let list = datalist.map((item)=>{ return { func: task, param: item, id: item.name } }); if(list.length>0){ deleteItemByCls('loadlist'); putMyVar('diskSearch', '1'); be(list, { func: function(obj, id, error, taskResult) { log(id+'-结束'); if(getMyVar("停止搜索线程")=="1"){ return "break"; } }, param: { } }); storage0.putMyVar('diskMark',diskMark); clearMyVar('diskSearch'); toast('搜索完成'); }else{ toast('无接口,无法搜索'); } hideLoading(); clearMyVar("停止搜索线程"); deleteItem("yundisklistloading"); }