From e8b8c6418c393341da52f66ed47d735fa8f41ea3 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 23 七月 2024 15:53:33 +0800 Subject: [PATCH] 2024-07-23 --- src/api/index.js | 163 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 103 insertions(+), 60 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index cb9a698..0dca831 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -15,7 +15,8 @@ window.GLOB.$error = false let service = window.GLOB.service ? '-' + window.GLOB.service.replace('/', '') : '' -let db = `mkdb${service}` +let lang = sessionStorage.getItem('lang') !== 'zh-CN' ? sessionStorage.getItem('lang') : '' +let db = `mkdb${service + lang}` if (window.indexedDB) { CacheUtils.openIndexDB(db) @@ -57,6 +58,9 @@ return Promise.reject(response.data) } else { + if (response.config.requestId) { + response.data.$requestId = response.config.requestId + } return Promise.resolve(response.data) } }, (error) => { @@ -94,28 +98,24 @@ } /** - * @description 寰俊涓氬姟璇锋眰 + * @description 寰俊涓氬姟璇锋眰 鍘熸帴鍙� 'wxpay/getaccesstoken' */ - wxAccessToken (domain = '') { - let _url = window.GLOB.baseurl + 'wxpay/getaccesstoken' - - if (domain) { - _url = domain + 'wxpay/getaccesstoken' - } + wxAccessToken (appId, domain = '') { + let _url = domain || window.GLOB.baseurl return new Promise(resolve => { - if (window.GLOB.accessToken.domain === domain && window.GLOB.accessToken.accessTime && (parseInt(new Date().getTime() / 1000) - window.GLOB.accessToken.accessTime < 30)) { + if (window.GLOB.accessToken.appId === appId && window.GLOB.accessToken.accessTime && (parseInt(new Date().getTime() / 1000) - window.GLOB.accessToken.accessTime < 30)) { resolve(window.GLOB.accessToken) } else { - window.GLOB.accessToken = {domain} + window.GLOB.accessToken = {appId} axios({ - url: _url, - method: 'get' + url: _url + 'wechat/getaccesstoken', + method: 'post', + data: JSON.stringify({app_id: appId}) }).then(res => { - if (res.oa_access_token || res.mini_access_token) { + if (res.access_token) { window.GLOB.accessToken.accessTime = parseInt(new Date().getTime() / 1000) - window.GLOB.accessToken.oa_access_token = res.oa_access_token - window.GLOB.accessToken.mini_access_token = res.mini_access_token + window.GLOB.accessToken.access_token = res.access_token } resolve(res) }) @@ -125,6 +125,7 @@ /** * @description 寰俊涓氬姟璇锋眰 + * 39涓� qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn */ wxNginxRequest (url, method, param) { let _url = url @@ -134,17 +135,12 @@ if (process.env.NODE_ENV === 'production') { _url = document.location.origin + '/' + url } - if (/^http:\/\/(qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn)/.test(_url)) { - _url = window.GLOB.location + ':8080/' + url - if (process.env.NODE_ENV === 'production') { - _url = document.location.origin + ':8080/' + url - } - } else if (/^https:\/\/(qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn)/.test(_url)) { - _url = window.GLOB.location + ':8443/' + url - if (process.env.NODE_ENV === 'production') { - _url = document.location.origin + ':8443/' + url - } - } + } + if (/qingqiumarket.cn|cloud.mk9h.cn/.test(_url)) { + _url = _url.replace('http://qingqiumarket.cn/', 'http://qingqiumarket.cn:8080/') + _url = _url.replace('http://cloud.mk9h.cn/', 'http://cloud.mk9h.cn:8080/') + _url = _url.replace('https://qingqiumarket.cn/', 'https://qingqiumarket.cn:8443/') + _url = _url.replace('https://cloud.mk9h.cn/', 'https://cloud.mk9h.cn:8443/') } if (param) { @@ -164,7 +160,27 @@ /** * @description 鐩存帴璇锋眰 */ - directRequest (params) { + directRequest (params, script, position) { + if (script) { + try { + // eslint-disable-next-line + let func = new Function('axios', 'Api', 'param', 'position', 'systemType', 'notification', script) + let promise = func(axios, this, params, position, window.GLOB.systemType, notification) + + if (promise instanceof Promise) { + return promise + } + } catch (e) { + console.warn(e) + } + + return Promise.resolve({ + status: false, + message: '鑷畾涔夎剼鏈墽琛岄敊璇�', + ErrCode: 'E' + }) + } + return axios(params) } @@ -398,7 +414,7 @@ this.getSystemConfig(param).then(res => { if (!res.status) { - reject() + reject(res.message) return } @@ -438,7 +454,7 @@ CacheUtils.updateIndexDBversion({version: res.app_version || '1.00', createDate: curTime}) - resolve() + resolve(list) }) }, () => { reject() @@ -645,7 +661,7 @@ param.sign = md5(values) param.t = new Date().getTime(); - ['arr_field', 'LText_field', 'custom_script', 'LText1', 'LText', 'LText2', 'DateCount'].forEach(key => { + ['arr_field', 'custom_script', 'LText', 'DateCount'].forEach(key => { if (param[key]) { let val = param[key] delete param[key] @@ -755,7 +771,7 @@ param = this.encryptParam(param) axios({ - url: token.interface, + url: `${token.interface}${param.func ? '/' + param.func : ''}`, method: 'post', data: JSON.stringify(param) }).then(res => { @@ -804,7 +820,7 @@ param = this.encryptParam(param) axios({ - url: token.interface, + url: `${token.interface}${param.func ? '/' + param.func : ''}`, method: 'post', data: JSON.stringify(param) }).then(res => { @@ -834,7 +850,7 @@ * @description 鑾峰彇涓氬姟閫氱敤鎺ュ彛 * 璁块棶 'https://sso.mk9h.cn/webapi/dostars'鎴栦簯绔椂锛屼紶鍏serid銆丩oginUID */ - genericInterface (param) { + genericInterface (param, script = '', position, requestId = '') { param.userid = param.userid || sessionStorage.getItem('UserID') || '' param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' @@ -859,7 +875,25 @@ } } - if (param.$login) { + if (script) { + try { + // eslint-disable-next-line + let func = new Function('axios', 'Api', 'param', 'position', 'systemType', 'notification', script) + let promise = func(axios, this, param, position, window.GLOB.systemType, notification) + + if (promise instanceof Promise) { + return promise + } + } catch (e) { + console.warn(e) + } + + return Promise.resolve({ + status: false, + message: '鑷畾涔夎剼鏈墽琛岄敊璇�', + ErrCode: 'E' + }) + } else if (param.$login) { let rduri = param.rduri || '' delete param.$login @@ -919,7 +953,7 @@ }) } else { let url = '/webapi/dostars' - if (param.rduri && !window.GLOB.transfer && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') { + if (param.rduri && (!window.GLOB.transfer || /https:\/\/sso.mk9h.cn/.test(param.rduri)) && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') { url = param.rduri delete param.rduri } @@ -929,7 +963,8 @@ return axios({ url: `${url}${param.func ? '/' + param.func : ''}`, method: 'post', - data: JSON.stringify(param) + data: JSON.stringify(param), + requestId }) } } @@ -1006,16 +1041,11 @@ if (process.env.NODE_ENV === 'production') { _url = document.location.origin + '/file/oss/upload' } - if (/^http:\/\/(qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn)/.test(_url)) { - _url = window.GLOB.location + ':8080/file/oss/upload' - if (process.env.NODE_ENV === 'production') { - _url = document.location.origin + ':8080/file/oss/upload' - } - } else if (/^https:\/\/(qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn)/.test(_url)) { - _url = window.GLOB.location + ':8443/file/oss/upload' - if (process.env.NODE_ENV === 'production') { - _url = document.location.origin + ':8443/file/oss/upload' - } + if (/qingqiumarket.cn|cloud.mk9h.cn/.test(_url)) { + _url = _url.replace('http://qingqiumarket.cn/', 'http://qingqiumarket.cn:8080/') + _url = _url.replace('http://cloud.mk9h.cn/', 'http://cloud.mk9h.cn:8080/') + _url = _url.replace('https://qingqiumarket.cn/', 'https://qingqiumarket.cn:8443/') + _url = _url.replace('https://cloud.mk9h.cn/', 'https://cloud.mk9h.cn:8443/') } return axios({ @@ -1027,15 +1057,24 @@ } /** - * @description 鑾峰彇寰俊鏀粯浜岀淮鐮� + * @description 鑾峰彇寰俊鏀粯浜岀淮鐮� 鍘熸帴鍙xpay/wxNativePay */ getWxNativePay (param) { - let _url = window.GLOB.baseurl + 'wxpay/wxNativePay' - return axios({ - url: _url, + url: window.GLOB.baseurl + 'wechat/native', method: 'post', - data: qs.stringify(param) + data: JSON.stringify(param) + }) + } + + /** + * @description 寰俊鏀粯閫�娆� 鍘熸帴鍙xpay/wxRefund + */ + setRefund (param) { + return axios({ + url: window.GLOB.baseurl + 'wechat/wxRefund', + method: 'post', + data: JSON.stringify(param) }) } @@ -1050,10 +1089,10 @@ /** * @description sql妫�楠� */ - sDebug (sql, rduri = null) { + sDebug (sql) { let param = { func: 's_debug_sql', - exec_type: 'y', + exec_type: window.GLOB.execType || 'y', timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), userid: sessionStorage.getItem('UserID') || '', lang: sessionStorage.getItem('lang') || '', @@ -1062,8 +1101,16 @@ appkey: window.GLOB.appkey || '' } - let id = Utils.getuuid() - sql = sql.replace(/@time_id@/ig, `'${id}'`) + sql = sql.replace(/@time_id@/ig, `'${Utils.getuuid()}'`) + sql = sql.replace(/@ID@/ig, `'${Utils.getuuid()}'`) + sql = sql.replace(/@BID@/ig, `'${Utils.getuuid()}'`) + sql = sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID')}'`) + sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid')}'`) + sql = sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID')}'`) + sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey}'`) + sql = sql.replace(/@lang@/ig, `'${sessionStorage.getItem('lang')}'`) + // sql = sql.replace(/@datam@/ig, `''`) + if (window.GLOB.externalDatabase !== null) { sql = sql.replace(/@db@/ig, window.GLOB.externalDatabase) } @@ -1072,16 +1119,12 @@ sql = sql.replace(/\n/ig, ' ') - param.LText = Utils.formatOptions(sql) + param.LText = Utils.formatOptions(sql, param.exec_type) param.secretkey = Utils.encrypt('', param.timestamp) param = this.encryptParam(param) let url = '/webapi/dostars' - - if (rduri) { - url = rduri - } let timer = setTimeout(() => { let _param = { -- Gitblit v1.8.0