shawenguan 2 лет назад
Родитель
Сommit
cdb8ab675b
1 измененных файлов с 41 добавлено и 4 удалено
  1. 41 4
      Scripts/thwj/thwjHelper.js

+ 41 - 4
Scripts/thwj/thwjHelper.js

@@ -189,6 +189,43 @@ async function checkNeedExplore(phone, password, token) {
     return true;
 }
 
+
+function stringifyCookies(arr) {
+    let skipArr = ['path', 'Path', 'Httponly', 'Domain', 'Expires', 'Max-Age'];
+    let cookieStr = '';
+    for (let i = 0; i < arr.length; i++) {
+        const obj = arr[i];
+        for (let k in obj) {
+            if (skipArr.indexOf(k) == -1) {
+                cookieStr += `${k}=${obj[k]};`;
+            }
+        }
+    }
+    return cookieStr.substring(0, cookieStr.length - 1);
+}
+
+function parseSetCookie(text) {
+    let arr = text.split(";");
+    let cookies = [];
+    for (let i = 0; i < arr.length; i++) {
+        let arr1 = arr[i].trim().split(',');
+        let obj = {};
+        for (let j = 0; j < arr1.length; j++) {
+            const str = arr1[j].trim();
+            if (str.indexOf('=')) {
+                let kv = str.split('=');
+                let k = kv[0].trim();
+                let v = kv[1].trim();
+                obj[k] = v;
+            } else {
+                obj[str] = true;
+            }
+        }
+        cookies.push(obj);
+    }
+    return stringifyCookies(cookies);
+}
+
 function loadIndex() {
     return new Promise((resolve, _reject) => {
         try {
@@ -216,10 +253,10 @@ function loadIndex() {
                             let cookie = _response.headers['Set-Cookie'];
                             if (cookie) {
                                 let key = `${thwjStoreKeyPrefix}CommonCookieKey`;
-                                lk.log(cookie);
-                                // lk.setVal(key, cookie);
-                                // CommonCookie = cookie;
-                                // CommonHeaders['Cookie'] = CommonCookie;
+                                cookie = parseSetCookie(cookie);
+                                lk.setVal(key, cookie);
+                                CommonCookie = cookie;
+                                CommonHeaders['Cookie'] = CommonCookie;
                             }
                         }
                     }