From b8cde0c39d7b6d58ceff3adf6dea3cb3118ea602 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 13 九月 2022 14:46:15 +0800 Subject: [PATCH] 2022-09-13 --- src/api/index.js | 370 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 237 insertions(+), 133 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index eca6130..afec16a 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -29,7 +29,7 @@ axios.interceptors.request.use((config) => { if (config.url.includes('LoginAndRedirect') || config.url.includes('getjsonresult') || config.url.includes('wxNativePay')) { config.data = qs.stringify(config.data) - } else if (config.url.includes('Upload') || config.url.includes('doupload') || config.url.includes('dopreload')) { + } else if (/\/doupload|\/dopreload|\/upload/.test(config.url)) { config.headers = { 'Content-Type': 'multipart/form-data' } } else if (config.method === 'post' && config.data) { config.data = JSON.stringify(config.data) @@ -42,13 +42,8 @@ const setCurrentUrl = (res) => { if (!!(window.history && window.history.pushState)) { - if (window.location.href.indexOf('paramsmain') > -1) { - let _href = window.location.href.split('#') - localStorage.setItem(_href[0] + 'paramsmain', _href[1]) - } - sessionStorage.clear() - sessionStorage.setItem('loginError', JSON.stringify({request: res.config ? res.config.data : '', response: JSON.stringify(res.data)})) + sessionStorage.setItem('loginError', JSON.stringify({url: res.config ? res.config.url : '', request: res.config ? res.config.data : '', response: JSON.stringify(res.data)})) window.history.replaceState(null, null, window.location.href.split('#')[0] + '#/login') window.location.reload() } @@ -59,23 +54,29 @@ if (window.debugger === true) { response.data.ErrCode = 'E' return Promise.resolve(response.data) - } else { + } else if (!sessionStorage.getItem('loginError')) { setCurrentUrl(response) } } else { return Promise.resolve(response.data) } }, (error) => { - if (error && error.response) { - notification.error({ - className: 'notification-custom-error', - bottom: 0, - message: '鐘舵�佺爜-' + error.response.status + '锛岃鑱旂郴绠$悊鍛�', - placement: 'bottomRight', - duration: 15 - }) + let response = error.response + + if (response) { + if (!response.data || !response.data.errors) { // 杩囨护鏃疯鎶ラ敊淇℃伅 + notification.error({ + className: 'notification-custom-error', + bottom: 0, + message: '鐘舵�佺爜-' + response.status + '锛岃鑱旂郴绠$悊鍛�', + placement: 'bottomRight', + duration: 15 + }) + } + return Promise.reject(response) + } else { + return Promise.reject() } - return Promise.reject(error.response) }) class Api { @@ -98,6 +99,69 @@ url: '/webapi/dostar', method: 'post', data: param + }) + } + + /** + * @description 寰俊涓氬姟璇锋眰 + */ + wxAccessToken () { + let _url = document.location.origin + '/' + window.GLOB.service + 'wxpay/getaccesstoken' + if (process.env.NODE_ENV !== 'production') { + _url = document.location.origin + '/wxpay/getaccesstoken' + } + + return new Promise(resolve => { + if (window.GLOB.accessToken.accessTime && (parseInt(new Date().getTime() / 1000) - window.GLOB.accessToken.accessTime < 30)) { + resolve(window.GLOB.accessToken) + } else { + window.GLOB.accessToken = {} + axios({ + url: _url, + method: 'get' + }).then(res => { + if (res.oa_access_token || res.mini_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 + } + resolve(res) + }) + } + }) + } + + /** + * @description 寰俊涓氬姟璇锋眰 + */ + wxNginxRequest (url, method, param) { + let _url = window.GLOB.location + '/' + url + 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 (param) { + return axios({ + url: _url, + method, + data: param + }) + } + + return axios({ + url: _url, + method }) } @@ -153,7 +217,8 @@ func: 's_visitor_login', timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), SessionUid: _SessionUid, - TypeCharOne: 'pc' + TypeCharOne: 'pc', + kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host)) } param.LText = md5(window.btoa(_SessionUid + param.timestamp)) @@ -171,7 +236,6 @@ let url = '/webapi/dologon/s_visitor_login' if (window.GLOB.mainSystemApi) { - // url = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login') param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login') } @@ -195,7 +259,9 @@ way_no: 'sms_vcode', systemType: options.sysType, login_city: city, - login_id_address: ipAddress + login_id_address: ipAddress, + kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host)), + device_id: localStorage.getItem('SessionUid') } param.appkey = window.GLOB.appkey || '' @@ -204,14 +270,12 @@ if (isCloud) { param.debug = 'Y' if (options.cloudServiceApi) { - // url = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon') param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon') } } else if (window.GLOB.mainSystemApi) { if (options.sysType !== 'cloud' && window.GLOB.systemType !== 'production') { param.linkurl = window.GLOB.linkurl } - // url = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') } @@ -232,7 +296,9 @@ systemType: options.sysType, Type: 'S', login_city: city, - login_id_address: ipAddress + login_id_address: ipAddress, + kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host)), + device_id: localStorage.getItem('SessionUid') } param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') @@ -260,6 +326,11 @@ // Type: 'X' 鏃� // param.Password = Utils.formatOptions(password) + // positecgroup + if (window.GLOB.appkey === '202011021844144334E823A3011414082AD77') { + param.svccode = 'oms' + } + param.appkey = window.GLOB.appkey || '' let url = '/webapi/dologon' @@ -285,10 +356,39 @@ } /** + * @description 鐧诲綍浜屾楠岃瘉 // positecgroup + */ + verifycode (verify) { + let param = { + certificate: 'certificate', + captcha: verify.code, + token: verify.token, + ati: verify.ati, + vid: verify.vid, + uid: verify.uid, + shopId: verify.shopId, + loginId: verify.loginId, + phone: verify.phone, + sellerNick: verify.sellerNick, + isRisk: verify.isRisk, + requestId: verify.requestId, + riskNum: verify.riskNum, + username: verify.username + } + + let url = '/webapi/dologon' + + return axios({ + url, + method: 'post', + data: param + }) + } + + /** * @description 鑾峰彇绯荤粺鐗堟湰淇℃伅锛屽惎鐢ㄦ垨鏇存柊websql */ getAppVersion (_resolve, _reject) { - let appVersion = {} if (!window.GLOB.WebSql && !window.GLOB.IndexDB) { return Promise.reject() } @@ -304,7 +404,6 @@ if (window.GLOB.WebSql) { return new Promise((resolve, reject) => { CacheUtils.getWebSqlVersion().then(msg => { - appVersion.oldVersion = msg.version || '' let modifydate = msg.createDate || curTime if (modifydate.indexOf('Invalid date') > -1) { modifydate = curTime @@ -321,9 +420,7 @@ return } let clear = false - let version = res.app_version || '1.00' - appVersion.newVersion = version - appVersion.oldVersion = appVersion.oldVersion || version + let version = '1.00' if (res.menu_data && res.menu_data.length > 0) { res.menu_data.forEach(mid => { @@ -346,7 +443,7 @@ CacheUtils.createWebSqlversion(version, curTime) } - resolve(appVersion) + resolve() }) }, () => { reject() @@ -355,7 +452,6 @@ } else { return new Promise((resolve, reject) => { CacheUtils.getIndexDBVersion().then(msg => { - appVersion.oldVersion = msg.version || '' let modifydate = msg.createDate || curTime if (modifydate.indexOf('Invalid date') > -1) { modifydate = curTime @@ -371,9 +467,7 @@ return } let clear = false - let version = res.app_version || '1.00' - appVersion.newVersion = version - appVersion.oldVersion = appVersion.oldVersion || version + let version = '1.00' if (res.menu_data && res.menu_data.length > 0) { res.menu_data.forEach(mid => { @@ -390,9 +484,9 @@ } } - CacheUtils.updateIndexDBversion({version: appVersion.oldVersion, createDate: curTime}) + CacheUtils.updateIndexDBversion({version: version, createDate: curTime}) - resolve(appVersion) + resolve() }) }, () => { reject() @@ -404,12 +498,13 @@ /** * @description 鏇存柊绯荤粺鐗堟湰淇℃伅锛屾竻绌洪厤缃俊鎭� */ - updateAppVersion (newVersion) { + updateAppVersion () { let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' CacheUtils.clearWebSqlConfig() - CacheUtils.updateWebSqlversion(newVersion, curTime) + CacheUtils.updateWebSqlversion('1.00', curTime) CacheUtils.clearIndexDBConfig() - CacheUtils.updateIndexDBversion({version: newVersion, createDate: curTime}) + CacheUtils.updateIndexDBversion({version: '1.00', createDate: curTime}) + CacheUtils.clearFuncs(options.sysType) } /** @@ -485,7 +580,7 @@ param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' - param.appkey = window.GLOB.appkey || '' + param.appkey = param.appkey || window.GLOB.appkey let url = '/webapi/dostars' if (sessionStorage.getItem('isEditState') === 'true' && options.cloudServiceApi) { // 缂栬緫鐘舵�侊紝涓斿瓨鍦ㄤ簯绔湴鍧� @@ -506,33 +601,7 @@ } /** - * @description 鑾峰彇鎴栦慨鏀规湰鍦伴厤缃紝澧炲姞appkey - */ - getLocalConfig (param) { - param.userid = param.userid || sessionStorage.getItem('UserID') || '' - param.lang = param.lang || sessionStorage.getItem('lang') || '' - param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' - param.appkey = window.GLOB.appkey || '' - - let url = '/webapi/dostars' - if (param.rduri) { - url = param.rduri - delete param.rduri - } - - param = this.encryptParam(param) - - return axios({ - url: `${url}${param.func ? '/' + param.func : ''}`, - method: 'post', - data: param - }) - } - - /** * @description 鑾峰彇绯荤粺閰嶇疆锛屽彇鍊间紭鍏堢瓑绾ebsql銆佺紦瀛樸�佹湇鍔″櫒 - * @param {Object} param 璇锋眰鍙傛暟 */ getCacheConfig (param) { param.userid = sessionStorage.getItem('UserID') || '' @@ -627,11 +696,10 @@ /** * @description 鑾峰彇鏈湴绯荤粺閰嶇疆 - * @param {Object} param 璇锋眰鍙傛暟 */ getLocalCacheConfig (param) { param.userid = sessionStorage.getItem('UserID') || '' - param.lang = param.lang || sessionStorage.getItem('lang') || '' + param.lang = sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -672,7 +740,15 @@ } }) param.sign = md5(values) - param.t = new Date().getTime() + param.t = new Date().getTime(); + + ['arr_field', 'LText_field', 'custom_script', 'LText1', 'LText', 'LText2', 'DateCount'].forEach(key => { + if (param[key]) { + let val = param[key] + delete param[key] + param[key] = val + } + }) return param } @@ -682,7 +758,7 @@ * @param {Object} param 璇锋眰鍙傛暟 * @param {Boolean} SSO 鏄惁涓哄崟鐐圭櫥褰曞湴鍧� */ - getSystemCacheConfig (param) { + getSystemCacheConfig (param, cache = true) { param.userid = param.userid || sessionStorage.getItem('UserID') || '' param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' @@ -690,10 +766,10 @@ param.appkey = window.GLOB.appkey || '' let url = '/webapi/dostars' - if (param.rduri) { - url = param.rduri - delete param.rduri - } + // if (param.rduri) { // positecgroup + // url = param.rduri + // delete param.rduri + // } let _param = JSON.parse(JSON.stringify(param)) // 缂撳瓨鏍¢獙锛屽幓闄ゆ椂闂村拰鍔犲瘑瀛楃 delete _param.timestamp @@ -702,7 +778,7 @@ _param = JSON.stringify(_param) _param = md5(_param) - if (window.GLOB.CacheMap.has(_param)) { + if (cache && window.GLOB.CacheMap.has(_param)) { return Promise.resolve(window.GLOB.CacheMap.get(_param)) } else { param = this.encryptParam(param) @@ -724,22 +800,18 @@ /** * @description 鑾峰彇涓氬姟閫氱敤鎺ュ彛 + * 璁块棶 'https://sso.mk9h.cn/webapi/dostars'鎴栦簯绔椂锛屼紶鍏serid銆丩oginUID */ genericInterface (param) { - param.userid = sessionStorage.getItem('UserID') || '' - param.lang = sessionStorage.getItem('lang') || '' + param.userid = param.userid || sessionStorage.getItem('UserID') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' - if (options.cloudServiceApi && param.rduri === options.cloudServiceApi) { // HS涓嬭彍鍗� - param.userid = sessionStorage.getItem('CloudUserID') || param.userid || '' - param.LoginUID = sessionStorage.getItem('CloudLoginUID') || param.LoginUID || '' - } - - // 寰呬紭鍖栵紝澧炲姞鏄惁鏀寔璺ㄥ煙璇锋眰 - // let url = '/webapi/dostars' - // if (param.rduri) { + let url = '/webapi/dostars' + // positecgroup + // if (param.rduri && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') { // 鍒囨崲鐢ㄦ埛闇�瑕侀�氳繃鏈湴 // url = param.rduri // delete param.rduri // } @@ -747,62 +819,62 @@ param = this.encryptParam(param) return axios({ - url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + url: `${url}${param.func ? '/' + param.func : ''}`, method: 'post', data: param }) } /** - * @description 瀵煎嚭Excel + * @description 瀵煎嚭Excel锛屽悗鍙扮敓鎴愭枃浠� */ - getExcelOut (param, name) { - param.userid = sessionStorage.getItem('UserID') - param.lang = sessionStorage.getItem('lang') || '' - param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = sessionStorage.getItem('LoginUID') || '' - param.appkey = window.GLOB.appkey || '' + // getExcelOut (param, name) { + // param.userid = sessionStorage.getItem('UserID') + // param.lang = sessionStorage.getItem('lang') || '' + // param.SessionUid = localStorage.getItem('SessionUid') || '' + // param.LoginUID = sessionStorage.getItem('LoginUID') || '' + // param.appkey = window.GLOB.appkey || '' - return new Promise(resolve => { - axios({ - url: '/webapi/doexcel', - responseType: 'blob', - method: 'post', - data: param - }).then(res => { - try { - const blob = new Blob([res]) + // return new Promise(resolve => { + // axios({ + // url: '/webapi/doexcel', + // responseType: 'blob', + // method: 'post', + // data: param + // }).then(res => { + // try { + // const blob = new Blob([res]) - if (res.type === 'application/json') { - const reader = new FileReader() - reader.onload = e => resolve(JSON.parse(e.target.result)) - reader.readAsText(blob) - } else { - if ('download' in document.createElement('a')) { // 闈濱E涓嬭浇 - const elink = document.createElement('a') - elink.download = name - elink.style.display = 'none' - elink.href = URL.createObjectURL(blob) - document.body.appendChild(elink) - elink.click() - URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄 - document.body.removeChild(elink) - } else { // IE10+涓嬭浇 - navigator.msSaveBlob(blob, name) - } - resolve() - } - } catch { - resolve({ - ErrCode: 'E', - ErrMesg: '鏂囦欢瑙f瀽閿欒', - message: '', - status: false - }) - } - }) - }) - } + // if (res.type === 'application/json') { + // const reader = new FileReader() + // reader.onload = e => resolve(JSON.parse(e.target.result)) + // reader.readAsText(blob) + // } else { + // if ('download' in document.createElement('a')) { // 闈濱E涓嬭浇 + // const elink = document.createElement('a') + // elink.download = name + // elink.style.display = 'none' + // elink.href = URL.createObjectURL(blob) + // document.body.appendChild(elink) + // elink.click() + // URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄 + // document.body.removeChild(elink) + // } else { // IE10+涓嬭浇 + // navigator.msSaveBlob(blob, name) + // } + // resolve() + // } + // } catch (e) { + // resolve({ + // ErrCode: 'E', + // ErrMesg: '鏂囦欢瑙f瀽閿欒', + // message: '', + // status: false + // }) + // } + // }) + // }) + // } /** * @description 涓婁紶base64 @@ -856,11 +928,43 @@ } /** + * @description oss鏂囦欢涓婁紶 + */ + fileOssUpload (param) { + let _url = window.GLOB.location + '/file/oss/upload' + 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' + } + } + + return axios({ + url: _url, + method: 'post', + data: param + }) + } + + /** * @description 鑾峰彇寰俊鏀粯浜岀淮鐮� */ getWxNativePay (param) { + let _url = document.location.origin + '/' + window.GLOB.service + 'wxpay/wxNativePay' + if (process.env.NODE_ENV !== 'production') { + _url = document.location.origin + '/wxpay/wxNativePay' + } + return axios({ - url: '/wxpay/wxNativePay', + url: _url, method: 'post', data: param }) -- Gitblit v1.8.0