shawenguan 2 jaren geleden
bovenliggende
commit
d3d99ccbc2
1 gewijzigde bestanden met toevoegingen van 400 en 5 verwijderingen
  1. 400 5
      Scripts/buyu/wbankBuYu.js

+ 400 - 5
Scripts/buyu/wbankBuYu.js

@@ -8,6 +8,340 @@
 });
 //# sourceMappingURL=crypto-js.min.js.map
 
+//
+// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!
+//
+;
+(function (global, factory) {
+    typeof exports === 'object' && typeof module !== 'undefined' ?
+        module.exports = factory() :
+        typeof define === 'function' && define.amd ?
+            define(factory) :
+            // cf. https://github.com/dankogai/js-base64/issues/119
+            (function () {
+                // existing version for noConflict()
+                var _Base64 = global.Base64;
+                var gBase64 = factory();
+                gBase64.noConflict = function () {
+                    global.Base64 = _Base64;
+                    return gBase64;
+                };
+                if (global.Meteor) { // Meteor.js
+                    Base64 = gBase64;
+                }
+                global.Base64 = gBase64;
+            })();
+}((typeof self !== 'undefined' ? self :
+    typeof window !== 'undefined' ? window :
+        typeof global !== 'undefined' ? global :
+            this), function () {
+                'use strict';
+                /**
+                 *  base64.ts
+                 *
+                 *  Licensed under the BSD 3-Clause License.
+                 *    http://opensource.org/licenses/BSD-3-Clause
+                 *
+                 *  References:
+                 *    http://en.wikipedia.org/wiki/Base64
+                 *
+                 * @author Dan Kogai (https://github.com/dankogai)
+                 */
+                var version = '3.7.2';
+                /**
+                 * @deprecated use lowercase `version`.
+                 */
+                var VERSION = version;
+                var _hasatob = typeof atob === 'function';
+                var _hasbtoa = typeof btoa === 'function';
+                var _hasBuffer = typeof Buffer === 'function';
+                var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;
+                var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;
+                var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+                var b64chs = Array.prototype.slice.call(b64ch);
+                var b64tab = (function (a) {
+                    var tab = {};
+                    a.forEach(function (c, i) { return tab[c] = i; });
+                    return tab;
+                })(b64chs);
+                var b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
+                var _fromCC = String.fromCharCode.bind(String);
+                var _U8Afrom = typeof Uint8Array.from === 'function' ?
+                    Uint8Array.from.bind(Uint8Array) :
+                    function (it, fn) {
+                        if (fn === void 0) { fn = function (x) { return x; }; }
+                        return new Uint8Array(Array.prototype.slice.call(it, 0).map(fn));
+                    };
+                var _mkUriSafe = function (src) {
+                    return src
+                        .replace(/=/g, '').replace(/[+\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; });
+                };
+                var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\+\/]/g, ''); };
+                /**
+                 * polyfill version of `btoa`
+                 */
+                var btoaPolyfill = function (bin) {
+                    // console.log('polyfilled');
+                    var u32, c0, c1, c2, asc = '';
+                    var pad = bin.length % 3;
+                    for (var i = 0; i < bin.length;) {
+                        if ((c0 = bin.charCodeAt(i++)) > 255 ||
+                            (c1 = bin.charCodeAt(i++)) > 255 ||
+                            (c2 = bin.charCodeAt(i++)) > 255)
+                            throw new TypeError('invalid character found');
+                        u32 = (c0 << 16) | (c1 << 8) | c2;
+                        asc += b64chs[u32 >> 18 & 63] +
+                            b64chs[u32 >> 12 & 63] +
+                            b64chs[u32 >> 6 & 63] +
+                            b64chs[u32 & 63];
+                    }
+                    return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc;
+                };
+                /**
+                 * does what `window.btoa` of web browsers do.
+                 * @param {String} bin binary string
+                 * @returns {string} Base64-encoded string
+                 */
+                var _btoa = _hasbtoa ? function (bin) { return btoa(bin); } :
+                    _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); } :
+                        btoaPolyfill;
+                var _fromUint8Array = _hasBuffer ?
+
+                    function (u8a) { return Buffer.from(u8a).toString('base64'); } :
+                    function (u8a) {
+                        // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326
+                        var maxargs = 0x1000;
+                        var strs = [];
+                        for (var i = 0, l = u8a.length; i < l; i += maxargs) {
+                            strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));
+                        }
+                        return _btoa(strs.join(''));
+                    };
+                /**
+                 * converts a Uint8Array to a Base64 string.
+                 * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 搂5
+                 * @returns {string} Base64 string
+                 */
+                var fromUint8Array = function (u8a, urlsafe) {
+                    if (urlsafe === void 0) { urlsafe = false; }
+                    return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);
+                };
+                // This trick is found broken https://github.com/dankogai/js-base64/issues/130
+                // const utob = (src: string) => unescape(encodeURIComponent(src));
+                // reverting good old fationed regexp
+                var cb_utob = function (c) {
+                    if (c.length < 2) {
+                        var cc = c.charCodeAt(0);
+                        return cc < 0x80 ? c :
+                            cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6)) +
+                                _fromCC(0x80 | (cc & 0x3f))) :
+                                (_fromCC(0xe0 | ((cc >>> 12) & 0x0f)) +
+                                    _fromCC(0x80 | ((cc >>> 6) & 0x3f)) +
+                                    _fromCC(0x80 | (cc & 0x3f)));
+                    } else {
+                        var cc = 0x10000 +
+                            (c.charCodeAt(0) - 0xD800) * 0x400 +
+                            (c.charCodeAt(1) - 0xDC00);
+                        return (_fromCC(0xf0 | ((cc >>> 18) & 0x07)) +
+                            _fromCC(0x80 | ((cc >>> 12) & 0x3f)) +
+                            _fromCC(0x80 | ((cc >>> 6) & 0x3f)) +
+                            _fromCC(0x80 | (cc & 0x3f)));
+                    }
+                };
+                var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
+                /**
+                 * @deprecated should have been internal use only.
+                 * @param {string} src UTF-8 string
+                 * @returns {string} UTF-16 string
+                 */
+                var utob = function (u) { return u.replace(re_utob, cb_utob); };
+                //
+                var _encode = _hasBuffer ?
+
+                    function (s) { return Buffer.from(s, 'utf8').toString('base64'); } :
+                    _TE ?
+
+                        function (s) { return _fromUint8Array(_TE.encode(s)); } :
+                        function (s) { return _btoa(utob(s)); };
+                /**
+                 * converts a UTF-8-encoded string to a Base64 string.
+                 * @param {boolean} [urlsafe] if `true` make the result URL-safe
+                 * @returns {string} Base64 string
+                 */
+                var encode = function (src, urlsafe) {
+                    if (urlsafe === void 0) { urlsafe = false; }
+                    return urlsafe ?
+                        _mkUriSafe(_encode(src)) :
+                        _encode(src);
+                };
+                /**
+                 * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 搂5.
+                 * @returns {string} Base64 string
+                 */
+                var encodeURI = function (src) { return encode(src, true); };
+                // This trick is found broken https://github.com/dankogai/js-base64/issues/130
+                // const btou = (src: string) => decodeURIComponent(escape(src));
+                // reverting good old fationed regexp
+                var re_btou = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g;
+                var cb_btou = function (cccc) {
+                    switch (cccc.length) {
+                        case 4:
+                            var cp = ((0x07 & cccc.charCodeAt(0)) << 18) |
+                                ((0x3f & cccc.charCodeAt(1)) << 12) |
+                                ((0x3f & cccc.charCodeAt(2)) << 6) |
+                                (0x3f & cccc.charCodeAt(3)),
+                                offset = cp - 0x10000;
+                            return (_fromCC((offset >>> 10) + 0xD800) +
+                                _fromCC((offset & 0x3FF) + 0xDC00));
+                        case 3:
+                            return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12) |
+                                ((0x3f & cccc.charCodeAt(1)) << 6) |
+                                (0x3f & cccc.charCodeAt(2)));
+                        default:
+                            return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6) |
+                                (0x3f & cccc.charCodeAt(1)));
+                    }
+                };
+                /**
+                 * @deprecated should have been internal use only.
+                 * @param {string} src UTF-16 string
+                 * @returns {string} UTF-8 string
+                 */
+                var btou = function (b) { return b.replace(re_btou, cb_btou); };
+                /**
+                 * polyfill version of `atob`
+                 */
+                var atobPolyfill = function (asc) {
+                    // console.log('polyfilled');
+                    asc = asc.replace(/\s+/g, '');
+                    if (!b64re.test(asc))
+                        throw new TypeError('malformed base64.');
+                    asc += '=='.slice(2 - (asc.length & 3));
+                    var u24, bin = '',
+                        r1, r2;
+                    for (var i = 0; i < asc.length;) {
+                        u24 = b64tab[asc.charAt(i++)] << 18 |
+                            b64tab[asc.charAt(i++)] << 12 |
+                            (r1 = b64tab[asc.charAt(i++)]) << 6 |
+                            (r2 = b64tab[asc.charAt(i++)]);
+                        bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) :
+                            r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) :
+                                _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);
+                    }
+                    return bin;
+                };
+                /**
+                 * does what `window.atob` of web browsers do.
+                 * @param {String} asc Base64-encoded string
+                 * @returns {string} binary string
+                 */
+                var _atob = _hasatob ? function (asc) { return atob(_tidyB64(asc)); } :
+                    _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); } :
+                        atobPolyfill;
+                //
+                var _toUint8Array = _hasBuffer ?
+
+                    function (a) { return _U8Afrom(Buffer.from(a, 'base64')); } :
+                    function (a) { return _U8Afrom(_atob(a), function (c) { return c.charCodeAt(0); }); };
+                /**
+                 * converts a Base64 string to a Uint8Array.
+                 */
+                var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };
+                //
+                var _decode = _hasBuffer ?
+
+                    function (a) { return Buffer.from(a, 'base64').toString('utf8'); } :
+                    _TD ?
+
+                        function (a) { return _TD.decode(_toUint8Array(a)); } :
+                        function (a) { return btou(_atob(a)); };
+                var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };
+                /**
+                 * converts a Base64 string to a UTF-8 string.
+                 * @param {String} src Base64 string.  Both normal and URL-safe are supported
+                 * @returns {string} UTF-8 string
+                 */
+                var decode = function (src) { return _decode(_unURI(src)); };
+                /**
+                 * check if a value is a valid Base64 string
+                 * @param {String} src a value to check
+                 */
+                var isValid = function (src) {
+                    if (typeof src !== 'string')
+                        return false;
+                    var s = src.replace(/\s+/g, '').replace(/={0,2}$/, '');
+                    return !/[^\s0-9a-zA-Z\+/]/.test(s) || !/[^\s0-9a-zA-Z\-_]/.test(s);
+                };
+                //
+                var _noEnum = function (v) {
+                    return {
+                        value: v,
+                        enumerable: false,
+                        writable: true,
+                        configurable: true
+                    };
+                };
+                /**
+                 * extend String.prototype with relevant methods
+                 */
+                var extendString = function () {
+                    var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };
+                    _add('fromBase64', function () { return decode(this); });
+                    _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });
+                    _add('toBase64URI', function () { return encode(this, true); });
+                    _add('toBase64URL', function () { return encode(this, true); });
+                    _add('toUint8Array', function () { return toUint8Array(this); });
+                };
+                /**
+                 * extend Uint8Array.prototype with relevant methods
+                 */
+                var extendUint8Array = function () {
+                    var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };
+                    _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });
+                    _add('toBase64URI', function () { return fromUint8Array(this, true); });
+                    _add('toBase64URL', function () { return fromUint8Array(this, true); });
+                };
+                /**
+                 * extend Builtin prototypes with relevant methods
+                 */
+                var extendBuiltins = function () {
+                    extendString();
+                    extendUint8Array();
+                };
+                var gBase64 = {
+                    version: version,
+                    VERSION: VERSION,
+                    atob: _atob,
+                    atobPolyfill: atobPolyfill,
+                    btoa: _btoa,
+                    btoaPolyfill: btoaPolyfill,
+                    fromBase64: decode,
+                    toBase64: encode,
+                    encode: encode,
+                    encodeURI: encodeURI,
+                    encodeURL: encodeURI,
+                    utob: utob,
+                    btou: btou,
+                    decode: decode,
+                    isValid: isValid,
+                    fromUint8Array: fromUint8Array,
+                    toUint8Array: toUint8Array,
+                    extendString: extendString,
+                    extendUint8Array: extendUint8Array,
+                    extendBuiltins: extendBuiltins
+                };
+                //
+                // export Base64 to the namespace
+                //
+                // ES5 is yet to have Object.assign() that may make transpilers unhappy.
+                // gBase64.Base64 = Object.assign({}, gBase64);
+                gBase64.Base64 = {};
+                Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });
+                return gBase64;
+            }));
+
+//==================================================================================
+
 const locationhref = 'https://merch.szx.abchina.com.cn/wbank/html/buyu/index.html?phone=6879979b317f6f23e340c8828a98c191';
 const NODE_ENV = locationhref.includes('https') ? 'production' : 'development';
 const VUE_APP_ENV = locationhref.includes('iblock') ? 'fxTest' : locationhref.includes('merch.szx.abchina') ? 'nhprod' : 'nhText';
@@ -29,16 +363,77 @@ if (!lk.isExecComm) {
 async function all() {
     let phoneStr = lk.getVal('lkWbankBuyuPhone');
 
-    let isOk = await tryToUploadSocre();
-    if (isOk) {
+    let ret = await tryToUploadSocre('13430389115');
+    if (ret) {
         lk.msg(``);
     }
     lk.done();
 }
 
-async function tryToUploadSocre() {
-    lk.log(encryptDes('13430389115'));
-    return true;
+async function tryToUploadSocre(pNumStr) {
+    let retTime = await wRequest('get', `/api/sysConfig/findByKey`, {
+        data: {
+            key: 'shubi.ybh.activity.time',
+        }
+    });
+    let retRule = await wRequest('get', `/api/sysConfig/findByKey`, {
+        data: {
+            key: 'shubi.ybh.activity.game.rules',
+        }
+    });
+    let score = 2000 + Math.floor(500 * Math.random());
+    let phone = encryptDes(pNumStr);
+    lk.log(`phone=${phone}`);
+    let retPlay = await wRequest('post', `/api/ybh/doAward`, {
+        data: {
+            score: score,
+            gameStatus: 1,
+            phone: phone
+        }
+    });
+    return retPlay;
+}
+
+async function wRequest(type = 'post', url, { data: data, headers: headers }) {
+
+    return new Promise((resolve, reject) => {
+        httpRequest(type, url, data, headers)
+
+        function httpRequest(type, url, data, headers) {
+            let aesKey = randomString(23) + '='
+            let params = (data && Object.keys(data).length > 0) ? {
+                enData: Base64.encode(encryptAES(JSON.stringify(data), aesKey)),
+                aesKey: Base64.encode(encryptRSA(aesKey))
+            } : data;
+            console.log(data)
+            let urlList = ['/open/api/generateLink', '/api/kBankConfig/findByKey', '/api/wBankConfig/findByKey', '/api/gejin/gjj/clickCount', '/api/puhui/referrer/activityConfig', '/api/puhui/referrer/regedit', '/api/puhui/referrer/query', '/api/kBankConfig/findByKey', '/api/puhui/referrer/receiveAward', '/api/puhui/referrer/draw', '/api/puhui/referrer/activityConfig', '/api/puhui/referrer/noDrawNum']
+            let apiUrl = urlList.includes(url) ? ajaxCommonUrl + url : ajaxDbankApiUrl + url
+            ajax({
+                url: apiUrl,
+                type: type,
+                data: params,
+                dataType: "json",
+                timeout: 10000,
+                headers: { 'Content-type': 'application/json;charset=UTF-8', ...headers },
+                success: (data) => {
+                    let result = JSON.parse(data)
+                    //密文输出
+                    if (result.enData) {
+                        let key = decryptRSA(result.aesKey);
+                        result.data = JSON.parse(decryptAES(result.enData, key));
+                        console.log(result.data)
+                        resolve(result.data)
+                    } else {
+                        //原文输出
+                        resolve(result)
+                    }
+                },
+                error: (e) => {
+                    reject(e);
+                }
+            });
+        }
+    });
 }
 
 // DES加密