diff --git a/ali_ecc.js b/ali_ecc.js index afa11ed..c7a07ca 100644 --- a/ali_ecc.js +++ b/ali_ecc.js @@ -1,69 +1,3 @@ -let alistfile = "hiker://files/rules/Src/Juying/Alist.json"; -try{ - var alistData= JSON.parse(fetch(alistfile)); -}catch(e){ - var alistData = {}; -} -let datalist = alistData.drives || []; -let alistconfig = alistData.config || {}; -let fileFilter = alistconfig['fileFilter']==0?0:1; -let audiovisual = alistconfig.contain?alistconfig.contain.replace(/\./,""):'mp4|avi|mkv|rmvb|flv|mov|ts|mp3|m4a|wma|flac';//影音文件 -let contain = new RegExp(audiovisual,"i");//设置可显示的影音文件后缀 -let music = new RegExp("mp3|m4a|wma|flac","i");//进入音乐播放器 -let image = new RegExp("jpg|png|gif|bmp|ico|svg","i");//进入图片查看 -const transcoding = {UHD: "4K 超清",QHD: "2K 超清",FHD: "1080 全高清",HD: "720 高清",SD: "540 标清",LD: "360 流畅"}; - -function SortList(v1, v2) { - var a = v1.name; - var b = v2.name; - var reg = /[0-9]+/g; - var lista = a.match(reg); - var listb = b.match(reg); - if (!lista || !listb) { - return a.localeCompare(b); - } - for (var i = 0, minLen = Math.min(lista.length, listb.length); i < minLen; i++) { - //数字所在位置序号 - var indexa = a.indexOf(lista[i]); - var indexb = b.indexOf(listb[i]); - //数字前面的前缀 - var prefixa = a.substring(0, indexa); - var prefixb = a.substring(0, indexb); - //数字的string - var stra = lista[i]; - var strb = listb[i]; - //数字的值 - var numa = parseInt(stra); - var numb = parseInt(strb); - //如果数字的序号不等或前缀不等,属于前缀不同的情况,直接比较 - if (indexa != indexb || prefixa != prefixb) { - return a.localeCompare(b); - } - else { - //数字的string全等 - if (stra === strb) { - //如果是最后一个数字,比较数字的后缀 - if (i == minLen - 1) { - return a.substring(indexa).localeCompare(b.substring(indexb)); - } - //如果不是最后一个数字,则循环跳转到下一个数字,并去掉前面相同的部分 - else { - a = a.substring(indexa + stra.length); - b = b.substring(indexa + stra.length); - } - } - //如果数字的string不全等,但值相等 - else if (numa == numb) { - //直接比较数字前缀0的个数,多的更小 - return strb.lastIndexOf(numb + '') - stra.lastIndexOf(numa + ''); - } - else { - //如果数字不等,直接比较数字大小 - return numa - numb; - } - } - } -} function aliSharePlayUrl(share_id,file_id,alitoken,share_pwd){ try{ @@ -77,6 +11,8 @@ function aliSharePlayUrl(share_id,file_id,alitoken,share_pwd){ } share_pwd = share_pwd&&share_pwd.length==4?share_pwd:""; let sharetoken = JSON.parse(request('https://api.aliyundrive.com/v2/share_link/get_share_token', { body: { "share_pwd": share_pwd, "share_id": share_id }, method: 'POST', timeout: 3000 })).share_token; + + /* let headers = { 'content-type': 'application/json;charset=UTF-8', "origin": "https://www.aliyundrive.com", @@ -95,6 +31,7 @@ function aliSharePlayUrl(share_id,file_id,alitoken,share_pwd){ storage0.putMyVar('aliuserinfo', userinfo); putMyVar('userinfoChecktime', nowtime+'time'); } + */ let authorization = 'Bearer ' + userinfo.access_token; let deviceId = userinfo.device_id; let userId = userinfo.user_id; @@ -247,6 +184,7 @@ function getSubtitle(share_id,sub_file_id,share_pwd){ try{ share_pwd = share_pwd&&share_pwd.length==4?share_pwd:""; let sharetoken = JSON.parse(request('https://api.aliyundrive.com/v2/share_link/get_share_token', { body: { "share_pwd": share_pwd, "share_id": share_id }, method: 'POST', timeout: 3000 })).share_token; + /* let userinfo = storage0.getMyVar('aliuserinfo'); let headers = { 'content-type': 'application/json;charset=UTF-8', @@ -256,6 +194,9 @@ function getSubtitle(share_id,sub_file_id,share_pwd){ "authorization": userinfo.access_token, "x-share-token":sharetoken }; + */ + headers["authorization"] = userinfo.access_token; + headers["x-share-token"] = sharetoken; let data = {"expire_sec":600,"file_id":sub_file_id,"share_id":share_id}; let downurl = JSON.parse(request("https://api.aliyundrive.com/v2/file/get_share_link_download_url", { headers: headers, body: data, timeout: 3000 })).download_url; let substr = fetch(downurl, {headers:{"referer": "https://www.aliyundrive.com/"},timeout:3000});