|
|
@ -1591,441 +1591,6 @@ function manageSet(){ |
|
|
|
setPageTitle("♥管理"+getMyVar('SrcJuying-Version', '')); |
|
|
|
setPageTitle("♥管理"+getMyVar('SrcJuying-Version', '')); |
|
|
|
|
|
|
|
|
|
|
|
let d = []; |
|
|
|
let d = []; |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '🌐 聚影分享', |
|
|
|
|
|
|
|
col_type: "rich_text" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
let num = '';
|
|
|
|
|
|
|
|
for (var i = 0; i < 10; i++) { |
|
|
|
|
|
|
|
num += Math.floor(Math.random() * 10); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
let note_name = 'Juying'+num; |
|
|
|
|
|
|
|
let sharecode = Juconfig['sharecode'] || {}; |
|
|
|
|
|
|
|
sharecode['note_name'] = sharecode['note_name'] || note_name; |
|
|
|
|
|
|
|
let noteinfo = {}; |
|
|
|
|
|
|
|
if(sharecode['note_id']){ |
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
noteinfo = JSON.parse(request('https://netcut.txtbin.cn/api/note2/info/?note_id='+sharecode['note_id'], { |
|
|
|
|
|
|
|
headers: { 'Referer': 'https://netcut.cn/' } |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
}catch(e){} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: noteinfo.status==1&&sharecode['note_id']?'复制聚影资源码口令':'申请聚影资源码',//sharetime
|
|
|
|
|
|
|
|
desc: noteinfo.status==1&&sharecode['time']?noteinfo.data.created_time+' 有效期三年\n'+(sharecode['time']?sharecode['time']+" 上次同步时间":"暂未分享同步"):'点击申请三年长期资源码', |
|
|
|
|
|
|
|
url: sharecode['note_id']?$().lazyRule((codeid)=>{ |
|
|
|
|
|
|
|
let code = '聚影资源码¥'+codeid; |
|
|
|
|
|
|
|
copy(code); |
|
|
|
|
|
|
|
return "hiker://empty"; |
|
|
|
|
|
|
|
},aesEncode('Juying2', sharecode['note_id'])):$().lazyRule((Juconfig,cfgfile,note_name) => { |
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
let pastecreate = JSON.parse(request('https://netcut.txtbin.cn/api/note2/save/', { |
|
|
|
|
|
|
|
headers: { 'Referer': 'https://netcut.cn/' }, |
|
|
|
|
|
|
|
body: 'note_name='+note_name+'¬e_id=¬e_content=¬e_token=¬e_pwd=&expire_time=94608000', |
|
|
|
|
|
|
|
method: 'POST' |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
if(pastecreate.status==1){ |
|
|
|
|
|
|
|
let pastedata = pastecreate.data || {}; |
|
|
|
|
|
|
|
pastedata['note_name'] = note_name; |
|
|
|
|
|
|
|
Juconfig['sharecode'] = pastedata; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://申领成功'; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return 'toast://申领失败:'+pastecreate.error; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
log('申请失败:'+e.message);
|
|
|
|
|
|
|
|
return 'toast://申请失败,请重新再试'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, Juconfig, cfgfile, sharecode['note_name']), |
|
|
|
|
|
|
|
col_type: "text_center_1" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '✅ 分享同步', |
|
|
|
|
|
|
|
url: noteinfo.status==1&&sharecode['note_id']?$('#noLoading#').lazyRule(()=>{ |
|
|
|
|
|
|
|
putMyVar('uploads','1'); |
|
|
|
|
|
|
|
putMyVar('uploadjiekou','1'); |
|
|
|
|
|
|
|
putMyVar('uploadjiexi','0'); |
|
|
|
|
|
|
|
putMyVar('uploadlive','0'); |
|
|
|
|
|
|
|
putMyVar('uploadyundisk','0'); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://选择上传同步云端的项'; |
|
|
|
|
|
|
|
}):'toast://请先申请聚影资源码', |
|
|
|
|
|
|
|
col_type: "text_2" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '❎ 删除云端', |
|
|
|
|
|
|
|
url: sharecode['note_id']?$("确定要删除吗,删除后无法找回?").confirm((Juconfig,cfgfile)=>{ |
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
let sharecode = Juconfig['sharecode'] || {}; |
|
|
|
|
|
|
|
var pastedelete = JSON.parse(request('https://netcut.txtbin.cn/api/note2/deleteNote/', { |
|
|
|
|
|
|
|
headers: { 'Referer': 'https://netcut.cn/' }, |
|
|
|
|
|
|
|
body: 'note_id='+sharecode.note_id+'¬e_toke='+sharecode.note_toke+'¬e_name='+sharecode.note_name, |
|
|
|
|
|
|
|
method: 'POST' |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
var status = pastedelete.status |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
delete Juconfig['sharecode']; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(status==1){ |
|
|
|
|
|
|
|
return "toast://聚影资源码云端已删除"; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return 'toast://无需删除,云端已不存在'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
log('删除失败:'+e.message);
|
|
|
|
|
|
|
|
return 'toast://删除资源失败,云端异常'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, Juconfig, cfgfile):'toast://请先申请聚影资源码', |
|
|
|
|
|
|
|
col_type: "text_2" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
if(getMyVar('uploads','0')=="1"){ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '选择分享同步云端的项目', |
|
|
|
|
|
|
|
col_type: "rich_text", |
|
|
|
|
|
|
|
extra:{textSize:12} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:(getMyVar('uploadjiekou','0')=="1"?getide(1):getide(0))+'接口', |
|
|
|
|
|
|
|
col_type:'text_4', |
|
|
|
|
|
|
|
url:$('#noLoading#').lazyRule(() => { |
|
|
|
|
|
|
|
if(getMyVar('uploadjiekou')=="1"){ |
|
|
|
|
|
|
|
putMyVar('uploadjiekou','0'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
putMyVar('uploadjiekou','1'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return "hiker://empty"; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:(getMyVar('uploadjiexi','0')=="1"?getide(1):getide(0))+'解析', |
|
|
|
|
|
|
|
col_type:'text_4', |
|
|
|
|
|
|
|
url:$('#noLoading#').lazyRule(() => { |
|
|
|
|
|
|
|
if(getMyVar('uploadjiexi')=="1"){ |
|
|
|
|
|
|
|
putMyVar('uploadjiexi','0'); |
|
|
|
|
|
|
|
var sm = "hiker://empty"; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
putMyVar('uploadjiexi','1'); |
|
|
|
|
|
|
|
var sm = "toast://友情提醒:公开分享的解析容易失效"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return sm; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:(getMyVar('uploadlive','0')=="1"?getide(1):getide(0))+'直播', |
|
|
|
|
|
|
|
col_type:'text_4', |
|
|
|
|
|
|
|
url:$('#noLoading#').lazyRule(() => { |
|
|
|
|
|
|
|
if(getMyVar('uploadlive')=="1"){ |
|
|
|
|
|
|
|
putMyVar('uploadlive','0'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
putMyVar('uploadlive','1'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return "hiker://empty"; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:(getMyVar('uploadyundisk','0')=="1"?getide(1):getide(0))+'云盘', |
|
|
|
|
|
|
|
col_type:'text_4', |
|
|
|
|
|
|
|
url:$('#noLoading#').lazyRule(() => { |
|
|
|
|
|
|
|
if(getMyVar('uploadyundisk')=="1"){ |
|
|
|
|
|
|
|
putMyVar('uploadyundisk','0'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
putMyVar('uploadyundisk','1'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return "hiker://empty"; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '🔙 取消上传', |
|
|
|
|
|
|
|
url: $('#noLoading#').lazyRule(() => { |
|
|
|
|
|
|
|
clearMyVar('uploads'); |
|
|
|
|
|
|
|
clearMyVar('uploadjiekou'); |
|
|
|
|
|
|
|
clearMyVar('uploadjiexi'); |
|
|
|
|
|
|
|
clearMyVar('uploadlive'); |
|
|
|
|
|
|
|
clearMyVar('uploadyundisk'); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return "hiker://empty"; |
|
|
|
|
|
|
|
}), |
|
|
|
|
|
|
|
col_type: "text_2" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '🔝 确定上传', |
|
|
|
|
|
|
|
url: $().lazyRule((Juconfig,cfgfile) => { |
|
|
|
|
|
|
|
let text = {}; |
|
|
|
|
|
|
|
let libspath = globalMap0.getVar('Jy_gmParams').libspath; |
|
|
|
|
|
|
|
if(getMyVar('uploadjiekou','0')=="1"){ |
|
|
|
|
|
|
|
var filepath = libspath + "jiekou.json"; |
|
|
|
|
|
|
|
var datafile = fetch(filepath); |
|
|
|
|
|
|
|
if(datafile==""){ |
|
|
|
|
|
|
|
var datalist = []; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
eval("var datalist=" + datafile+ ";"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
text['jiekou'] = datalist; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(getMyVar('uploadjiexi','0')=="1"){ |
|
|
|
|
|
|
|
var filepath = datapath + "jiexi.json"; |
|
|
|
|
|
|
|
var datafile = fetch(filepath); |
|
|
|
|
|
|
|
if(datafile==""){ |
|
|
|
|
|
|
|
var datalist = []; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
eval("var datalist=" + datafile+ ";"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
text['jiexi'] = datalist; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(getMyVar('uploadlive','0')=="1"){ |
|
|
|
|
|
|
|
var filepath = datapath + "liveconfig.json"; |
|
|
|
|
|
|
|
var datafile = fetch(filepath); |
|
|
|
|
|
|
|
if(datafile==""){ |
|
|
|
|
|
|
|
var liveconfig={}; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
eval("var liveconfig=" + datafile+ ";"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
text['live'] = liveconfig; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(getMyVar('uploadyundisk','0')=="1"){ |
|
|
|
|
|
|
|
var filepath = rulepath + "yundisk.json"; |
|
|
|
|
|
|
|
var datafile = fetch(filepath); |
|
|
|
|
|
|
|
if(datafile==""){ |
|
|
|
|
|
|
|
var datalist=[]; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
eval("var datalist=" + datafile+ ";"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
text['yundisk'] = datalist; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
let textcontent = globalMap0.getVar('Jy_gmParams').zip(JSON.stringify(text)); |
|
|
|
|
|
|
|
if(textcontent.length>=200000){ |
|
|
|
|
|
|
|
log('分享失败:字符数超过最大限制,请精简接口,重点减少XPath和biubiu类型');
|
|
|
|
|
|
|
|
return 'toast://分享同步失败,超过最大限制,请精简接口'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
let sharecode = Juconfig['sharecode'] || {}; |
|
|
|
|
|
|
|
var pasteupdate = JSON.parse(request('https://netcut.txtbin.cn/api/note2/save/', { |
|
|
|
|
|
|
|
headers: { 'Referer': 'https://netcut.cn/' }, |
|
|
|
|
|
|
|
body: 'note_name='+sharecode.note_name+'¬e_id='+sharecode.note_id+'¬e_content='+textcontent+'¬e_token='+sharecode.note_token+'¬e_pwd=&expire_time=94608000', |
|
|
|
|
|
|
|
method: 'POST' |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
var status = pasteupdate.status |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clearMyVar('uploads'); |
|
|
|
|
|
|
|
clearMyVar('uploadjiekou'); |
|
|
|
|
|
|
|
clearMyVar('uploadjiexi'); |
|
|
|
|
|
|
|
clearMyVar('uploadlive'); |
|
|
|
|
|
|
|
clearMyVar('uploadyundisk'); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
if(status==1){ |
|
|
|
|
|
|
|
let pastedata = pasteupdate.data || {}; |
|
|
|
|
|
|
|
pastedata['note_name'] = sharecode.note_name; |
|
|
|
|
|
|
|
Juconfig['sharecode'] = pastedata; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return "toast://分享同步云端数据成功"; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return 'toast://分享同步失败,资源码应该不存在'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
log('分享失败:'+e.message);
|
|
|
|
|
|
|
|
return 'toast://分享同步失败,请重新再试'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, Juconfig, cfgfile), |
|
|
|
|
|
|
|
col_type: "text_2" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
col_type: "line" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '⚡ 订阅管理', |
|
|
|
|
|
|
|
col_type: "rich_text" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: Juconfig['codedyid']?'已订阅聚影资源码':'订阅聚影资源码', |
|
|
|
|
|
|
|
desc: Juconfig['codedyid']?'点击订阅、复制、切换资源码'+(Juconfig['codedyname']?'\n当前订阅的资源码为:'+Juconfig['codedyname']:""):'订阅后将与分享者云端数据保持同步', |
|
|
|
|
|
|
|
url: $(["订阅","复制","切换"],3).select((Juconfig,cfgfile)=>{ |
|
|
|
|
|
|
|
if(input=="订阅"){ |
|
|
|
|
|
|
|
return $("","输入聚影资源码口令\n订阅会自动和云端同步,覆盖本地非保留接口").input((Juconfig,cfgfile) => { |
|
|
|
|
|
|
|
if(input.split('¥')[0]!="聚影资源码"){ |
|
|
|
|
|
|
|
return 'toast://口令有误'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
showLoading('正在校验有效性') |
|
|
|
|
|
|
|
let codeid = input.split('¥')[1]; |
|
|
|
|
|
|
|
let text = parsePaste('https://netcut.cn/p/'+aesDecode('Juying2', codeid)); |
|
|
|
|
|
|
|
hideLoading(); |
|
|
|
|
|
|
|
if(codeid&&!/^error/.test(text)){ |
|
|
|
|
|
|
|
return $("","当前资源码有效,起个名保存吧").input((Juconfig,cfgfile,codeid) => { |
|
|
|
|
|
|
|
let dydatalist = Juconfig.dingyue||[]; |
|
|
|
|
|
|
|
if(dydatalist.some(item => item.name ==input)){ |
|
|
|
|
|
|
|
return 'toast://名称重复,无法保存'; |
|
|
|
|
|
|
|
}else if(input!=""){ |
|
|
|
|
|
|
|
if(!dydatalist.some(item => item.url ==codeid)){ |
|
|
|
|
|
|
|
Juconfig['codedyid'] = codeid; |
|
|
|
|
|
|
|
Juconfig['codedyname'] = input; |
|
|
|
|
|
|
|
dydatalist.push({name:input, url:codeid}) |
|
|
|
|
|
|
|
Juconfig['dingyue'] = dydatalist; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://已保存,订阅成功'; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return 'toast://已存在,订阅未成功'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return 'toast://名称为空,无法保存'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, Juconfig, cfgfile, codeid); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return "toast://口令错误或资源码已失效"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, Juconfig, cfgfile) |
|
|
|
|
|
|
|
}else if(input=="复制"){ |
|
|
|
|
|
|
|
let codeid = Juconfig['codedyid']; |
|
|
|
|
|
|
|
return codeid?$().lazyRule((codeid)=>{ |
|
|
|
|
|
|
|
let code = '聚影资源码¥'+codeid; |
|
|
|
|
|
|
|
copy(code); |
|
|
|
|
|
|
|
return "hiker://empty"; |
|
|
|
|
|
|
|
},codeid):'toast://请先订阅' |
|
|
|
|
|
|
|
}else if(input=="切换"){ |
|
|
|
|
|
|
|
let codeid = Juconfig['codedyid']; |
|
|
|
|
|
|
|
let dydatalist = Juconfig.dingyue||[]; |
|
|
|
|
|
|
|
let list = dydatalist.map((list)=>{ |
|
|
|
|
|
|
|
if(list.url !=codeid){ |
|
|
|
|
|
|
|
return list.name; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
list = list.filter(n => n); |
|
|
|
|
|
|
|
if(list.length>0){ |
|
|
|
|
|
|
|
return $(list,3,"选择需切换的订阅源").select((dydatalist,Juconfig,cfgfile)=>{ |
|
|
|
|
|
|
|
var url = ""; |
|
|
|
|
|
|
|
for (var i in dydatalist) { |
|
|
|
|
|
|
|
if(dydatalist[i].name==input){ |
|
|
|
|
|
|
|
url = dydatalist[i].url; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(url){ |
|
|
|
|
|
|
|
Juconfig['codedyid'] = url; |
|
|
|
|
|
|
|
Juconfig['codedyname'] = input; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://订阅已切换为:'+input+',更新资源立即生效'; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return 'toast://本地订阅记录文件异常,是不是干了坏事?'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
},dydatalist,Juconfig,cfgfile) |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return 'toast://未找到可切换的历史订阅'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
},Juconfig,cfgfile), |
|
|
|
|
|
|
|
col_type: "text_center_1" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '✅ 更新资源', |
|
|
|
|
|
|
|
url: Juconfig['codedyid']?$("确定要从云端更新数据?\n"+(Juconfig['codedytype']=="2"?"当前为增量订阅模式,只增不删":"当前为全量订阅模式,覆盖本地")).confirm((codedyid,codedytype)=>{ |
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
showLoading('请稍候...') |
|
|
|
|
|
|
|
let codeid = codedyid; |
|
|
|
|
|
|
|
let text = parsePaste('https://netcut.cn/p/'+aesDecode('Juying2', codeid)); |
|
|
|
|
|
|
|
if(codeid&&!/^error/.test(text)){ |
|
|
|
|
|
|
|
let pastedata = JSON.parse(base64Decode(text)); |
|
|
|
|
|
|
|
require(config.依赖.replace(/[^/]*$/,'') + 'SrcJySet.js'); |
|
|
|
|
|
|
|
let jknum = 0; |
|
|
|
|
|
|
|
let jxnum = 0; |
|
|
|
|
|
|
|
let ypnum = 0; |
|
|
|
|
|
|
|
let jkdatalist = pastedata.jiekou||[]; |
|
|
|
|
|
|
|
if(jkdatalist.length>0){ |
|
|
|
|
|
|
|
jknum = jiekousave(jkdatalist, codedytype||1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
let jxdatalist = pastedata.jiexi||[]; |
|
|
|
|
|
|
|
if(jxdatalist.length>0){ |
|
|
|
|
|
|
|
jxnum = jiexisave(jxdatalist, codedytype||1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(pastedata.live){ |
|
|
|
|
|
|
|
let livefilepath = globalMap0.getVar('Jy_gmParams').datapath + "liveconfig.json"; |
|
|
|
|
|
|
|
let liveconfig = pastedata.live; |
|
|
|
|
|
|
|
writeFile(livefilepath, JSON.stringify(liveconfig)); |
|
|
|
|
|
|
|
var sm = ",直播订阅已同步" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
let ypdatalist = pastedata.yundisk||[]; |
|
|
|
|
|
|
|
if(ypdatalist.length>0){ |
|
|
|
|
|
|
|
ypnum = yundisksave(ypdatalist); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
hideLoading(); |
|
|
|
|
|
|
|
return "toast://同步完成,接口:"+jknum+",解析:"+jxnum+(sm?sm:"")+",云盘:"+ypnum; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
hideLoading(); |
|
|
|
|
|
|
|
return "toast://口令错误或资源码已失效"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
hideLoading(); |
|
|
|
|
|
|
|
log('更新失败:'+e.message);
|
|
|
|
|
|
|
|
return "toast://无法识别的口令"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, Juconfig['codedyid'], Juconfig['codedytype']):'toast://请先订阅聚影资源码', |
|
|
|
|
|
|
|
col_type: "text_2", |
|
|
|
|
|
|
|
extra: { |
|
|
|
|
|
|
|
longClick: [{ |
|
|
|
|
|
|
|
title: "订阅类型改为:"+(Juconfig['codedytype']=="2"?"全量":"增量"), |
|
|
|
|
|
|
|
js: $.toString((Juconfig,cfgfile) => { |
|
|
|
|
|
|
|
if(Juconfig['codedytype']=="2"){ |
|
|
|
|
|
|
|
Juconfig['codedytype'] = "1"; |
|
|
|
|
|
|
|
var sm = "切换为全量订阅,除强制保留的接口/接口,均会被清空"; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
Juconfig['codedytype'] = "2"; |
|
|
|
|
|
|
|
var sm = "切换为增量订阅,接口/接口只会累加,不会删除"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return "toast://"+sm; |
|
|
|
|
|
|
|
},Juconfig,cfgfile) |
|
|
|
|
|
|
|
}] |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '❎ 删除订阅', |
|
|
|
|
|
|
|
url: Juconfig['codedyid']?$(["仅删订阅源,保留历史","册除订阅及历史,不再切换"],1).select((Juconfig,cfgfile)=>{ |
|
|
|
|
|
|
|
if(input=="仅删订阅源,保留历史"){ |
|
|
|
|
|
|
|
return $().lazyRule((Juconfig,cfgfile) => { |
|
|
|
|
|
|
|
delete Juconfig['codedyid']; |
|
|
|
|
|
|
|
delete Juconfig['codedyname']; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://已删除订阅源,历史记录可用于切换'; |
|
|
|
|
|
|
|
}, Juconfig, cfgfile) |
|
|
|
|
|
|
|
}else if(input=="册除订阅及历史,不再切换"){ |
|
|
|
|
|
|
|
return $().lazyRule((Juconfig,cfgfile) => { |
|
|
|
|
|
|
|
let codeid = Juconfig['codedyid']; |
|
|
|
|
|
|
|
delete Juconfig['codedyid']; |
|
|
|
|
|
|
|
delete Juconfig['codedyname']; |
|
|
|
|
|
|
|
let dydatalist = Juconfig.dingyue||[]; |
|
|
|
|
|
|
|
for (var i in dydatalist) { |
|
|
|
|
|
|
|
if(dydatalist[i].url==codeid){ |
|
|
|
|
|
|
|
dydatalist.splice(i,1); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
Juconfig['dingyue'] = dydatalist; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(Juconfig)); |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://已删除订阅源和历史记录'; |
|
|
|
|
|
|
|
}, Juconfig, cfgfile) |
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}, Juconfig, cfgfile):'toast://请先订阅聚影资源码', |
|
|
|
|
|
|
|
col_type: "text_2" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
d.push({ |
|
|
|
col_type: "line_blank" |
|
|
|
col_type: "line_blank" |
|
|
|
}); |
|
|
|
}); |
|
|
@ -2035,7 +1600,24 @@ function manageSet(){ |
|
|
|
col_type: 'avatar', |
|
|
|
col_type: 'avatar', |
|
|
|
url: 'hiker://empty' |
|
|
|
url: 'hiker://empty' |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '分享资源', |
|
|
|
|
|
|
|
img: getIcon("管理-箭头.svg"), |
|
|
|
|
|
|
|
url: $('hiker://empty#noRecordHistory##noHistory#').rule(() => { |
|
|
|
|
|
|
|
require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyPublic.js'); |
|
|
|
|
|
|
|
shareResource(); |
|
|
|
|
|
|
|
}), |
|
|
|
|
|
|
|
col_type: 'text_icon' |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '订阅资源', |
|
|
|
|
|
|
|
img: getIcon("管理-箭头.svg"), |
|
|
|
|
|
|
|
url: $('hiker://empty#noRecordHistory##noHistory#').rule(() => { |
|
|
|
|
|
|
|
require(config.依赖.replace(/[^/]*$/,'') + 'SrcJyPublic.js'); |
|
|
|
|
|
|
|
subResource(); |
|
|
|
|
|
|
|
}), |
|
|
|
|
|
|
|
col_type: 'text_icon' |
|
|
|
|
|
|
|
}); |
|
|
|
d.push({ |
|
|
|
d.push({ |
|
|
|
col_type: "line_blank" |
|
|
|
col_type: "line_blank" |
|
|
|
}); |
|
|
|
}); |
|
|
|