|
|
|
//引入Ali公用文件
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0].replace('/Ju/', '/master/') + 'SrcJyAliPublic.js');
|
|
|
|
let folderFilter = new RegExp("优惠券|头像订阅|购买年超级会员|购买会员享8T|关注公众号|返佣金", "i");//文件夹过滤
|
|
|
|
let errorCode = {
|
|
|
|
'ShareLink.Cancelled': '来晚啦,该分享已失效',
|
|
|
|
'ShareLink.Forbidden': '违规资源已被封禁',
|
|
|
|
'NotFound.ShareLink': '不存在该链接请核对',
|
|
|
|
'AccessTokenInvalid': '访问令牌失效,请重新登陆或稍后再试',
|
|
|
|
'ShareLinkTokenInvalid': '分享令牌失效',
|
|
|
|
'ParamFlowException': '访问过于频繁,请稍后再试'
|
|
|
|
}
|
|
|
|
|
|
|
|
function aliShareUrl(input) {
|
|
|
|
let li = input.split('\n');
|
|
|
|
let share_id;
|
|
|
|
let folder_id;
|
|
|
|
let share_pwd
|
|
|
|
li.forEach(it => {
|
|
|
|
it = it.trim();
|
|
|
|
if (it.indexOf("提取码") > -1) {
|
|
|
|
share_pwd = it.replace('提取码: ', '');
|
|
|
|
}
|
|
|
|
if (it.indexOf("https://www.aliyundrive.com") > -1) {
|
|
|
|
it = it.replace('https://www.aliyundrive.com/s/', '').replace('链接:', '');
|
|
|
|
share_id = it.indexOf('/folder/') > -1 ? it.split('/folder/')[0] : it;
|
|
|
|
folder_id = it.indexOf('/folder/') > -1 ? it.split('/folder/')[1] : "root";
|
|
|
|
}
|
|
|
|
})
|
|
|
|
if(share_id && share_id!="undefined"){
|
|
|
|
addListener("onClose", $.toString(() => {
|
|
|
|
putMyVar('SrcJy$back','1');
|
|
|
|
}));
|
|
|
|
putMyVar('SrcJy$back','1');
|
|
|
|
aliShare(share_id, folder_id, share_pwd);
|
|
|
|
}else{
|
|
|
|
back(false);
|
|
|
|
toast("链接地址不正确");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function myDiskMenu(islogin) {
|
|
|
|
let setalitoken = $().lazyRule((alistfile, alistData) => {
|
|
|
|
let alistconfig = alistData.config || {};
|
|
|
|
let alitoken = alistconfig.alitoken;
|
|
|
|
return $(alitoken || "", "refresh_token").input((alistfile, alistData, alistconfig) => {
|
|
|
|
alistconfig.alitoken = input;
|
|
|
|
alistData.config = alistconfig;
|
|
|
|
writeFile(alistfile, JSON.stringify(alistData));
|
|
|
|
clearMyVar('getalitoken');
|
|
|
|
refreshPage(false);
|
|
|
|
return "toast://已设置";
|
|
|
|
}, alistfile, alistData, alistconfig)
|
|
|
|
}, alistfile, alistData)
|
|
|
|
|
|
|
|
let onlogin = [{
|
|
|
|
title: userinfo.nick_name,
|
|
|
|
url: setalitoken,
|
|
|
|
img: userinfo.avatar,
|
|
|
|
col_type: 'avatar'
|
|
|
|
}, {
|
|
|
|
col_type: "line"
|
|
|
|
}];
|
|
|
|
let nologin = [{
|
|
|
|
title: "⚡登录获取token⚡",
|
|
|
|
url: $("hiker://empty###noRecordHistory##noHistory#").rule(() => {
|
|
|
|
let d = [];
|
|
|
|
let url = 'https://auth.aliyundrive.com/v2/oauth/authorize?login_type=custom&response_type=code&redirect_uri=https%3A%2F%2Fwww.aliyundrive.com%2Fsign%2Fcallback&client_id=25dzX3vbYqktVxyX&state=%7B%22origin%22%3A%22*%22%7D#/login'
|
|
|
|
let js = $.toString(() => {
|
|
|
|
const tokenFunction = function () {
|
|
|
|
var token = JSON.parse(localStorage.getItem('token'))
|
|
|
|
if (token && token.user_id) {
|
|
|
|
let alistfile = "hiker://files/rules/Src/Juying/Alist.json";
|
|
|
|
if (fy_bridge_app.fetch(alistfile)) {
|
|
|
|
try{
|
|
|
|
eval("var alistData = " + fy_bridge_app.fetch(alistfile));
|
|
|
|
}catch(e){
|
|
|
|
var alistData = {};
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
var alistData = {};
|
|
|
|
}
|
|
|
|
let alistconfig = alistData.config || {};
|
|
|
|
alistconfig.alitoken = token.refresh_token;
|
|
|
|
fy_bridge_app.copy(alistconfig.alitoken);
|
|
|
|
fy_bridge_app.log(alistconfig.alitoken);
|
|
|
|
alistData.config = alistconfig;
|
|
|
|
fy_bridge_app.writeFile(alistfile, JSON.stringify(alistData));
|
|
|
|
localStorage.clear();
|
|
|
|
fy_bridge_app.back(true);
|
|
|
|
fy_bridge_app.toast('TOKEN获取成功,请勿泄漏!');
|
|
|
|
return;
|
|
|
|
} else {
|
|
|
|
token_timer();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var token_timer = function () {
|
|
|
|
setTimeout(tokenFunction, 500);
|
|
|
|
}
|
|
|
|
tokenFunction();
|
|
|
|
})
|
|
|
|
d.push({
|
|
|
|
url: url,
|
|
|
|
col_type: 'x5_webview_single',
|
|
|
|
desc: '100%&&float',
|
|
|
|
extra: {
|
|
|
|
canBack: true,
|
|
|
|
js: js,
|
|
|
|
urlInterceptor: $.toString(() => true)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
setResult(d);
|
|
|
|
}),
|
|
|
|
col_type: 'text_center_1'
|
|
|
|
}, {
|
|
|
|
title: "⭐手工填写token⭐",
|
|
|
|
url: setalitoken,
|
|
|
|
col_type: 'text_center_1'
|
|
|
|
}]
|
|
|
|
if (islogin) {
|
|
|
|
return onlogin;
|
|
|
|
} else {
|
|
|
|
return nologin;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function aliDiskSearch(input,data) {
|
|
|
|
showLoading('搜索中,请稍后...');
|
|
|
|
let datalist = [];
|
|
|
|
if(data){
|
|
|
|
datalist.push(data);
|
|
|
|
}else{
|
|
|
|
let filepath = "hiker://files/rules/Src/Juying/yundisk.json";
|
|
|
|
let datafile = fetch(filepath);
|
|
|
|
if(datafile != ""){
|
|
|
|
try{
|
|
|
|
eval("datalist=" + datafile+ ";");
|
|
|
|
}catch(e){
|
|
|
|
datalist = [];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
let diskMark = storage0.getMyVar('diskMark') || {};
|
|
|
|
let i = 0;
|
|
|
|
let one = "";
|
|
|
|
for (var k in diskMark) {
|
|
|
|
i++;
|
|
|
|
if (i == 1) { one = k }
|
|
|
|
}
|
|
|
|
if (i > 30) { delete diskMark[one]; }
|
|
|
|
let task = function(obj) {
|
|
|
|
try{
|
|
|
|
eval('let Parse = '+obj.parse)
|
|
|
|
let datalist2 = Parse(input) || [];
|
|
|
|
let searchlist = [];
|
|
|
|
datalist2.forEach(item => {
|
|
|
|
let arr = {
|
|
|
|
title: item.title,
|
|
|
|
img: "hiker://files/cache/src/文件夹.svg",
|
|
|
|
col_type: "avatar",
|
|
|
|
extra: {
|
|
|
|
cls: "loadlist",
|
|
|
|
name: input,
|
|
|
|
dirname: item.title
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
let home = "https://www.aliyundrive.com/s/";
|
|
|
|
if(obj.name=="我的云盘"){
|
|
|
|
arr.url = $(item.url).rule((input) => {
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0].replace('/Ju/','/master/') + 'SrcJyAliDisk.js');
|
|
|
|
aliMyDisk(input);
|
|
|
|
},item.url);
|
|
|
|
}else if(item.url.includes(home)){
|
|
|
|
arr.url = $(item.url).rule((input) => {
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0].replace('/Ju/','/master/') + 'SrcJyAliDisk.js');
|
|
|
|
aliShareUrl(input);
|
|
|
|
},item.url);
|
|
|
|
} else if (obj.erparse) {
|
|
|
|
arr.url = $("hiker://empty").lazyRule((url,erparse) => {
|
|
|
|
eval('let Parse = '+erparse)
|
|
|
|
let aurl = Parse(url);
|
|
|
|
if(aurl.indexOf('aliyundrive.com')>-1){
|
|
|
|
return $(aurl).rule((input) => {
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0].replace('/Ju/','/master/') + 'SrcJyAliDisk.js');
|
|
|
|
aliShareUrl(input);
|
|
|
|
},aurl)
|
|
|
|
}else{
|
|
|
|
return "toast://二解云盘共享链接失败";
|
|
|
|
}
|
|
|
|
},item.url,obj.erparse);
|
|
|
|
}
|
|
|
|
searchlist.push(arr);
|
|
|
|
})
|
|
|
|
if(searchlist.length>0){
|
|
|
|
hideLoading();
|
|
|
|
searchlist.unshift({
|
|
|
|
title: obj.name + " 找到" + searchlist.length + "条 “" + input + "” 相关",
|
|
|
|
url: "hiker://empty",
|
|
|
|
col_type: "text_center_1",
|
|
|
|
extra: {
|
|
|
|
cls: "loadlist"
|
|
|
|
}
|
|
|
|
});
|
|
|
|
searchlist.unshift({
|
|
|
|
col_type: "line_blank",
|
|
|
|
extra: {
|
|
|
|
cls: "loadlist"
|
|
|
|
}
|
|
|
|
});
|
|
|
|
diskMark[input] = diskMark[input] || [];
|
|
|
|
diskMark[input] = diskMark[input].concat(searchlist);
|
|
|
|
addItemBefore('listloading', 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) {
|
|
|
|
},
|
|
|
|
param: {
|
|
|
|
}
|
|
|
|
});
|
|
|
|
storage0.putMyVar('diskMark',diskMark);
|
|
|
|
clearMyVar('diskSearch');
|
|
|
|
toast('搜索完成');
|
|
|
|
}else{
|
|
|
|
toast('无接口,无法搜索');
|
|
|
|
}
|
|
|
|
hideLoading();
|
|
|
|
}
|
|
|
|
//eval(fetch(''))
|
|
|
|
evalPrivateJS('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
|
|
|
|
evalPrivateJS('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
|