shawenguan 1 年間 前
コミット
d6e3ed6c95
1 ファイル変更50 行追加4 行削除
  1. 50 4
      Scripts/quark/quarkHelper.js

+ 50 - 4
Scripts/quark/quarkHelper.js

@@ -27,7 +27,12 @@ async function Main() {
     } else {
         let userCookie =  magicJS.data.read("quark_cookie", null);
         if(userCookie){
-            await signIn(userCookie);
+            let userInfo = await getAccountInfo(userCookie);
+            if(userInfo){
+                await signIn(userCookie);
+            } else {
+                magicJS.notification.appendNotifyInfo(`❌Cookie已失效,请到PC上抓取新的Cookie!`);
+            }
         } else {
             magicJS.notification.appendNotifyInfo(`❌缺少Cookie,请到PC上抓取Cookie!`);
         }
@@ -44,7 +49,46 @@ async function checkHandleRequest(){
     }
 }
 
-async function getState(cookie){
+
+async function getAccountInfo(cookie){
+    const reqData = {
+        "fr": "pc",
+        "platform": "pc"
+    };
+    const options = {
+        url: "https://pan.quark.cn/account/info",
+        headers: {
+            'Origin' : `https://pan.quark.cn`,
+            'Sec-Fetch-Mode' : `cors`,
+            'Connection' : `keep-alive`,
+            'Accept' : `*/*`,
+            'Referer' : `https://pan.quark.cn/`,
+            'Host' : `drive-m.quark.cn`,
+            'User-Agent' : userAgent,
+            'Sec-Fetch-Site' : `same-site`,
+            'Sec-Fetch-Dest' : `empty`,
+            'Accept-Encoding' : `gzip, deflate`,
+            'Accept-Language' : `zh-Hans-CN;q=1`,
+            'Cookie': cookie,
+        },
+        body: `${magicJS.objToQueryStr(reqData)}`,
+    };
+    return await magicJS.http.get(options).then(response => {
+        try {
+            const body = response.body;
+            magicJS.logger.info("- 获取用户信息成功");
+            return body;
+        } catch (e) {
+            magicJS.logger.error(e);
+            magicJS.logger.info("- 获取用户信息失败");
+        }
+    }).catch(err => {
+        const msg = `获取用户信息异常\n${JSON.stringify(err)}`;
+        magicJS.logger.error(msg);
+    });
+}
+
+async function getGrowthInfo(cookie){
     const options = {
         url: "https://drive-m.quark.cn/1/clouddrive/capacity/growth/info?pr=ucpro&fr=pc&uc_param_str=",
         headers: {
@@ -83,7 +127,7 @@ async function getState(cookie){
 }
 
 async function signIn(cookie){
-    let signState = await getState(cookie);
+    let signState = await getGrowthInfo(cookie);
     if(!signState){
         return;
     }
@@ -95,7 +139,9 @@ async function signIn(cookie){
         return;
     }
 
-    let params = {"sign_cyclic": true};
+    let reqData = {
+        "sign_cyclic": true
+    };
     const options = {
         url: "https://drive-m.quark.cn/1/clouddrive/capacity/growth/sign?pr=ucpro&fr=pc&uc_param_str=",
         headers: {