소스 검색

脚本更新

shawenguan 1 년 전
부모
커밋
446a6ce371

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/115/cloud115Helper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/diiiLotteryBet.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/diiiLotteryCheckIn.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/diiiLotteryHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/diiiLotteryRedEnvelop.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/diiiLotteryTracking.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/diiiLotteryWithdraw.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/pksExpertBet.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/pksExpertPick.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/pksPlanAnalysis.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/168/pksPlanHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/52pojie/52pojieSignIn.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/bilibili/bilibiliHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/dingdong/dingdongHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/hbcpre/hbcpreComposite.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/hbcpre/hbcpreDraw.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/hbcpre/hbcpreExchange.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/hbcpre/hbcpreGrab.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/hbcpre/hbcpreHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/hbcpre/hbcpreOrder.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 342 - 415
Scripts/imoutai/imoutaiHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/meituan/meituanHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/pingan/pinganHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/pingan/pinganIkea.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/pingan/pinganSeckill.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/quark/quarkHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/smzdm/smzdmHelper.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/telecom/cloud189Helper.js


+ 110 - 0
Scripts/util/MagicJS3.js

@@ -497,6 +497,116 @@ function MagicJS(scriptName = "MagicJS", logLevel = "INFO") {
             return this.doWxpusherSend(data);
         }
 
+        isEmpty(obj) {
+            return typeof obj == "undefined" || obj == null || obj == "" || obj == "null" || obj == "undefined" || obj.length === 0
+        }
+
+        base64Decode(input) {
+            const base64_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+            // 确保输入是一个正确的Base64编码字符串
+            if (/([^\s]+[^0-9a-zA-Z\+\/\=]|[^0-9a-zA-Z\+\/\=]\s+)/.test(input)) {
+                throw new Error('Invalid base64 input');
+            }
+
+            let str = input.replace(/\s/g, '');
+            let output = '';
+            let chr1, chr2, chr3;
+            let enc1, enc2, enc3, enc4;
+            let i = 0;
+
+            while (i < str.length) {
+                enc1 = base64_chars.indexOf(str.charAt(i++));
+                enc2 = base64_chars.indexOf(str.charAt(i++));
+                enc3 = base64_chars.indexOf(str.charAt(i++));
+                enc4 = base64_chars.indexOf(str.charAt(i++));
+
+                chr1 = (enc1 << 2) | (enc2 >> 4);
+                chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
+                chr3 = ((enc3 & 3) << 6) | enc4;
+
+                output = output + String.fromCharCode(chr1);
+
+                if (enc3 !== 64) {
+                    output = output + String.fromCharCode(chr2);
+                }
+                if (enc4 !== 64) {
+                    output = output + String.fromCharCode(chr3);
+                }
+            }
+            output = this.utf8Decode(output);
+
+            return output;
+        }
+
+        utf8Decode(str_data) {
+            let tmp_arr = [],
+                i = 0,
+                c1 = 0,
+                seqlen = 0;
+
+            str_data = str_data.replace(/\r\n/g, "\n");
+
+            while (i < str_data.length) {
+                c1 = str_data.charCodeAt(i) & 0xFF;
+                seqlen = 0;
+
+                // Single byte sequence (0xxxxxxx)
+                if (c1 <= 0xBF) {
+                    c1 = (c1 & 0x7F);
+                    seqlen = 1;
+                } else if (c1 <= 0xDF) {
+                    c1 = (c1 & 0x1F);
+                    seqlen = 2;
+                } else if (c1 <= 0xEF) {
+                    c1 = (c1 & 0x0F);
+                    seqlen = 3;
+                } else {
+                    c1 = (c1 & 0x07);
+                    seqlen = 4;
+                }
+
+                for (let ai = 1; ai < seqlen; ++ai) {
+                    c1 = ((c1 << 0x06) | (str_data.charCodeAt(ai + i) & 0x3F));
+                }
+
+                if (seqlen === 4) {
+                    c1 -= 0x10000;
+                    tmp_arr.push(String.fromCharCode(0xD800 | ((c1 >> 10) & 0x3FF)));
+                    tmp_arr.push(String.fromCharCode(0xDC00 | (c1 & 0x3FF)));
+                } else {
+                    tmp_arr.push(String.fromCharCode(c1));
+                }
+
+                i += seqlen;
+            }
+
+            return tmp_arr.join("");
+        }
+
+        parseJwt(token) {
+            try {
+                const segments = token.split('.');
+                const base64HeaderUrl = segments[0];
+                const base64Header = base64HeaderUrl.replace(/-/g, '+').replace(/_/g, '/');
+                const jsonStrHeader = this.base64Decode(base64Header).replace(/\0/g, '');
+                const headerData = JSON.parse(jsonStrHeader);
+
+                const base64PayloadUrl = segments[1];
+                const base64Payload = base64PayloadUrl.replace(/-/g, '+').replace(/_/g, '/');
+                const jsonStrPayload = this.base64Decode(base64Payload).replace(/\0/g, '');
+                const payloadData = JSON.parse(jsonStrPayload);
+
+                return {
+                    header: headerData,
+                    payload: payloadData,
+                    signature: segments[2],
+                };
+            } catch (e) {
+                this.log(e);
+                return null;
+            }
+        }
+
         costTime() {
             let info = `${this.scriptName}执行完毕!`
             // if (this.isNode && this.isExecComm) {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Scripts/util/MagicJS3.min.js


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.