Skip to content

Commit 85b4e4b

Browse files
committed
Update Easy offline.user.js
1 parent 5c476c0 commit 85b4e4b

1 file changed

Lines changed: 61 additions & 60 deletions

File tree

Easy offline/Easy offline.user.js

Lines changed: 61 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
// @namespace https://github.com/hoothin/UserScripts/tree/master/Easy%20offline
99
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.2/jquery.min.js
1010
// @require https://cdnjs.cloudflare.com/ajax/libs/Base64/0.2.0/base64.min.js
11-
// @version 1.9.24
11+
// @version 1.9.26
1212
// @author Hoothin
1313
// @mail rixixi@gmail.com
1414
// @include http*://*/*
@@ -97,70 +97,66 @@
9797
bgImg:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABjFBMVEX////7+/v+/v/8/Pwyf/wzc/w0bvza5f4xffz5+//0+P8ybPz8/f4yevw0cPwza/z39/cwe/UxdfzSPyr4+v/2+f/m7/53nv0vf/wvce9pof1tlPwxf/gzfPYwePPp8f7Z5/7S4v7P4P7L3f7I2f2Gtf2Rr/1hkP0yd/1FiPwygfxAdPxspftYkvUtc/Dg6f7C2f7F1f54oP1flf0/hfwsbu7i7f/w9f7b5v7X5f7V4v6nyv6oxv6jwP6Ns/2Lsf1/rv1+ov1zof1xof10nf1jm/1djP0xe/2NufxalvxHj/xPhvxKgPxHffw+efw0ePyXu/mqxPg5hfiTtvdyo/dgmfdOj/dBhfVflfQvefT+9fOIqvMyefNMhvFIgO9MeePyycVjZbzKb3DaZVa/Q0Dx9f+Bp/1olv1gkPw0dvzg6Pu2zPk0gflNjPctc/c9gfX88/JJfO3n3+ni2unHxuSGktNpdtBJY8paashRW71nXqp7YpyDYJKpaIKPU33AVFXARkTVTTvFQjrUPypKwHq1AAACAklEQVQ4y4WTB3OqQBSFF3BpAk+KIBixJ2rs0fTee68vvbzee+9//O1Cio46npmFPfd8d2cY9gIASMJHUESDKFQmAZJAUKCFKELA/WSr3A3d/tZnAF99C8fVHYhiosbxxflsdr7I15SIWiCe3exA2szGmwOJXTkUkvHaTTQD9NyBLO/t7OzJ8kFObwKs2/bRdrSvL7p9ZNvrjQC/n8/nwngXzuXz+3wDED42zS13u2Wax+EGQD+pmhvudsOsnuj1gBAZSp5+/XRIYkMeVu1XyaGIcAfoycVM4Pn3qx9vcW3gRUcmE8gsJvUboNfyeDyBwLd/6sX7wtNnC45DD6vXBbRx1sOmrQ+/VFX9efomhFzFstLoNa45QKzCijMx/vXZpar+/fKSZecWijwfmxHZSgzFFBgWxXQUIJ39UX9/nhPFngHsomlRHEYxRY6mlCkOl+5fXp2vraV6IgCLm1JSoyQGxhRlUnCAi/PUEwXnWMKkooxhAIxAuNSPS+8+Qgi7GOB3zutfgnAExQSIr0JoMJw2GJSghPLSo4eDGscYEK7Gna/gy7QkLRvTK5JEP2bAgy4vvTJtLCNX5h0AMLNemvbihfqBv3zjZpHDACKM7ntI3RMFgFSYcJ3B3P0sf6kzGOxM+AFwXAK7kuNurz2pcWTt7deuna/t4LQdvbbD23b8/wPY0UTO99dD5gAAAABJRU5ErkJggg==",
9898
offFunc:function(delLink){
9999
var gsi = setInterval(function() {
100-
var newOffBtn = document.querySelector('.g-button[node-type=offlineDownload]');
100+
var newOffBtn = document.querySelector('div[data-id=downloadLink]>span');
101101
if(newOffBtn){
102102
clearInterval(gsi);
103103
newOffBtn.click();
104-
var bsi = setInterval(function() {
105-
var newTaskBtn = document.querySelector('#_disk_id_2');
106-
if(newTaskBtn){
107-
clearInterval(bsi);
108-
newTaskBtn.click();
109-
var bsl = setInterval(function() {
110-
var offLink=document.querySelector('#share-offline-link');
111-
if(offLink){
112-
clearInterval(bsl);
113-
var beginOffline=function(){
114-
if(curlink.length===0)return;
115-
if(Object.prototype.toString.call(curlink) === '[object Array]')
116-
offLink.value = curlink.shift();
117-
else{
118-
offLink.value = curlink;
119-
curlink="";
120-
}
121-
delLink();
122-
var baiduPathStr,isBt=/^magnet|torrent$/.test(offLink.value);
123-
storage.getItem("baiduPath",v=>{
124-
baiduPathStr=v;
125-
if(baiduPathStr){
126-
_unsafeWindow.require("function-widget-1:offlineDownload/util/newOfflineDialog.js").obtain()._checkPath=baiduPathStr;
127-
}
128-
});
129-
$("#newoffline-dialog").find("span:contains('确定')[class='text']").click();
130-
if(isBt){
131-
var i=0, bsb = setInterval(function(){
132-
var btList=document.querySelector('#offlinebtlist-dialog');
133-
if(btList && btList.style.display!="none"){
134-
clearInterval(bsb);
135-
if($(".content-title-name").html()=="文件名")$("a.checked-all")[0].click();
136-
btList.querySelectorAll('.dialog-footer>.g-button')[1].click();
137-
}else if(++i>50){
138-
clearInterval(bsb);
139-
}
140-
}, 200);
104+
var bsl = setInterval(function() {
105+
var offLink=document.querySelector('div.nd-download-link div[role=dialog] input');
106+
if(offLink){
107+
clearInterval(bsl);
108+
var beginOffline=function(){
109+
if(curlink.length===0)return;
110+
if(Object.prototype.toString.call(curlink) === '[object Array]')
111+
offLink.value = curlink.shift();
112+
else{
113+
offLink.value = curlink;
114+
curlink="";
115+
}
116+
var event = document.createEvent('HTMLEvents');
117+
event.initEvent("input", false, true);
118+
offLink.dispatchEvent(event);
119+
delLink();
120+
var baiduPathStr,isBt=/^magnet|torrent$/.test(offLink.value);
121+
storage.getItem("baiduPath",v=>{
122+
baiduPathStr=v;
123+
if(baiduPathStr){
124+
_unsafeWindow.require("function-widget-1:offlineDownload/util/newOfflineDialog.js").obtain()._checkPath=baiduPathStr;
125+
}
126+
});
127+
$("div.nd-download-link div[role=dialog]").find("button.nd-download-link__action>span:contains('确定')").click();
128+
if(isBt){
129+
var i=0, bsb = setInterval(function(){
130+
var btList=document.querySelector('div[aria-label="链接任务"]');
131+
if(btList && !$(btList).is(":hidden")){
132+
clearInterval(bsb);
133+
if($(".nd-remote-download__list-select>span").html()=="全选")$(".nd-remote-download__file-list .u-checkbox__original")[0].click();
134+
btList.querySelectorAll('button.nd-remote-download__save-btn')[0].click();
135+
}else if(++i>50){
136+
clearInterval(bsb);
141137
}
142-
var ckeckEnd=function(){
143-
var bck=setInterval(function(){
144-
if(document.querySelector("#offlinelist-dialog").style.display!="none"){
145-
clearInterval(bck);
146-
setTimeout(()=>{beginOffline();},1500);
147-
}else if(document.querySelector("#dialog1") && document.querySelector("#dialog1").style.display!="none"){
138+
}, 200);
139+
}
140+
/*var ckeckEnd=function(){
141+
var bck=setInterval(function(){
142+
if(document.querySelector("div.nd-download-link div[role=dialog]").style.display!="none"){
143+
clearInterval(bck);
144+
setTimeout(()=>{beginOffline();},1500);
145+
}else if(document.querySelector("#dialog1") && document.querySelector("#dialog1").style.display!="none"){
146+
clearInterval(bck);
147+
var inputCode=$("#dialog1").find(".input-code");
148+
inputCode.focus();
149+
bck=setInterval(function(){
150+
if(inputCode.val().length==4){
148151
clearInterval(bck);
149-
var inputCode=$("#dialog1").find(".input-code");
150-
inputCode.focus();
151-
bck=setInterval(function(){
152-
if(inputCode.val().length==4){
153-
clearInterval(bck);
154-
$("#dialog1").find("span:contains('确定')[class='text']").click();
155-
ckeckEnd();
156-
}
157-
},200);
152+
$("#dialog1").find("span:contains('确定')").click();
153+
ckeckEnd();
158154
}
159-
},500);
160-
};ckeckEnd();
161-
};beginOffline();
162-
}
163-
}, 500);
155+
},200);
156+
}
157+
},500);
158+
};ckeckEnd();*/
159+
};beginOffline();
164160
}
165161
}, 500);
166162
}
@@ -485,7 +481,7 @@
485481
}
486482
})
487483
};
488-
if(!info.loginInfo || info.loginInfo.expires < new Date().getTime() + 1000 * 10 * 60){
484+
if(!info.loginInfo || info.loginInfo.expires > new Date().getTime()){
489485
_GM_xmlhttpRequest({
490486
method: 'POST',
491487
url: 'https://user.mypikpak.com/v1/auth/signin',
@@ -501,16 +497,21 @@
501497
onload: (res) => {
502498
if(res.status === 200) {
503499
info.loginInfo=JSON.parse(res.responseText);
500+
if(!info.loginInfo.expires && info.loginInfo.expires_in){
501+
info.loginInfo.expires = new Date().getTime() + 1000 * info.loginInfo.expires_in;
502+
}
504503
storage.setItem("pikpakUserInfo",info);
505504
postUrl();
506505
} else if(res.status === 401) {
507506
storage.setItem("pikpakUserInfo","");
508507
const msg = JSON.parse(res.responseText).error_description;
509508
alert(msg);
510509
} else if(res.status === 400) {
510+
storage.setItem("pikpakUserInfo","");
511511
const msg = JSON.parse(res.responseText).error_description;
512512
alert(msg);
513513
} else if(res.status === 403) {
514+
storage.setItem("pikpakUserInfo","");
514515
const msg = JSON.parse(res.responseText).error_description;
515516
alert(msg);
516517
}

0 commit comments

Comments
 (0)