From 365ea069f179ee71a7a8cc7785ccd2d86bd4881c Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 03 二月 2021 18:33:45 +0800 Subject: [PATCH] 2021-02-03 --- src/api/index.js | 199 +++++++++++++++++++++++++++++-------------------- 1 files changed, 119 insertions(+), 80 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 8d1b215..6b43e5e 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -41,13 +41,11 @@ axios.defaults.withCredentials = true axios.interceptors.request.use((config) => { - config.method = 'post' 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')) { config.headers = { 'Content-Type': 'multipart/form-data' } - } else { - // config.headers.token = sessionStorage.getItem('TOKEN') || '' + } else if (config.method === 'post') { config.data = JSON.stringify(config.data) } @@ -56,7 +54,7 @@ return Promise.reject(error) }) -const setCurrentUrl = () => { +const setCurrentUrl = (res) => { if (!!(window.history && window.history.pushState)) { if (window.location.href.indexOf('paramsmain') > -1) { let _href = window.location.href.split('#') @@ -64,12 +62,11 @@ } sessionStorage.clear() + sessionStorage.setItem('loginError', JSON.stringify({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() } } - -window.GLOB.CacheMap = new Map() axios.interceptors.response.use((response) => { if (response.data.ErrCode === 'LoginError') { @@ -77,20 +74,22 @@ response.data.ErrCode = 'E' return Promise.resolve(response.data) } else { - setCurrentUrl() + setCurrentUrl(response) } } else { return Promise.resolve(response.data) } }, (error) => { - notification.error({ - className: 'notification-custom-error', - bottom: 0, - message: '鐘舵�佺爜-' + error.response.status + '锛岃鑱旂郴绠$悊鍛�', - placement: 'bottomRight', - duration: 15 - }) - return Promise.reject(error) + if (error && error.response) { + notification.error({ + className: 'notification-custom-error', + bottom: 0, + message: '鐘舵�佺爜-' + error.response.status + '锛岃鑱旂郴绠$悊鍛�', + placement: 'bottomRight', + duration: 15 + }) + } + return Promise.reject(error.response) }) class Api { @@ -111,8 +110,34 @@ return axios({ url: '/webapi/dostar', + method: 'post', data: param }) + } + + /** + * @description 鐩存帴璇锋眰 + * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁� + */ + directRequest (url, method = 'post', param) { + let params = { method: 'post' } + let _url = url + + if (method === 'get' && param) { + let keys = Object.keys(param).map(key => `${key}=${param[key]}`) + keys = keys.join('&') + if (keys) { + _url = _url + '?' + keys + } + } else if (method === 'post' && param) { + params.data = param + } + + _url = _url.replace(/&/ig, '%26') + // _url = window.btoa(_url) + params.url = '/trans/redirect?rd=' + _url + '&method=' + method + + return axios(params) } /** @@ -127,6 +152,7 @@ return axios({ url: '/webapi/dostar', + method: 'post', data: param }) } @@ -160,6 +186,7 @@ return axios({ url: '/webapi/dologon', + method: 'post', data: param }) } @@ -191,6 +218,7 @@ return axios({ url: '/webapi/dologon', + method: 'post', data: param }) } @@ -221,6 +249,7 @@ return axios({ url: '/webapi/dologon', + method: 'post', data: param }) } @@ -283,6 +312,7 @@ return new Promise((resolve, reject) => { axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }).then(res => { if (!res.status) { @@ -413,6 +443,7 @@ return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }) } @@ -453,6 +484,7 @@ return new Promise(resolve => { axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }).then(res => { if (res.status) { @@ -486,6 +518,7 @@ return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }) } @@ -504,6 +537,7 @@ return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }) } @@ -557,6 +591,7 @@ } else { axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }).then(res => { if (res.status) { @@ -571,6 +606,7 @@ axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }).then(res => { if (res.status) { @@ -589,6 +625,7 @@ return new Promise(resolve => { axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }).then(res => { if (res.status) { @@ -597,6 +634,46 @@ resolve(res) }) }) + } + } + + /** + * @description 鑾峰彇鏈湴绯荤粺閰嶇疆 + * @param {Object} param 璇锋眰鍙傛暟 + */ + getLocalCacheConfig (param) { + param.userid = sessionStorage.getItem('UserID') || '' + param.lang = localStorage.getItem('lang') || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' + param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.appkey = window.GLOB.appkey || '' + + if (window.GLOB.mainSystemApi) { + param.rduri = window.GLOB.mainSystemApi + } + + let _param = md5(JSON.stringify(param)) + + if (mkDataBase) { + return new Promise(resolve => { + mkDataBase.transaction(tx => { + tx.executeSql(`SELECT * FROM CONFIGS WHERE menuid='${param.MenuID}' and userid='${param.userid}'`, [], (tx, results) => { + let paramItem = results.rows[0] + if (paramItem) { + resolve({ ErrCode: 'S', ErrMesg: '', LongParam: paramItem.LongParam, message: '', status: true }) + } else { + resolve({ ErrCode: 'S', ErrMesg: '', LongParam: '', message: '', status: false }) + } + }, (tx, results) => { + mkDataBase = null + resolve({ErrCode: 'S', ErrMesg: '', LongParam: '', message: '', status: false}) + }) + }) + }) + } else if (window.GLOB.CacheMap.has(_param)) { + return Promise.resolve(window.GLOB.CacheMap.get(_param)) + } else { + return Promise.resolve({ErrCode: 'S', ErrMesg: '', LongParam: '', message: '', status: false}) } } @@ -661,6 +738,7 @@ return new Promise(resolve => { axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }).then(res => { if (res.status) { @@ -682,8 +760,8 @@ param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' - if (sessionStorage.getItem('isEditState') === 'true') { // HS涓嬭彍鍗� - param.userid = sessionStorage.getItem('CloudUserID') + if (options.cloudServiceApi && param.rduri === options.cloudServiceApi) { // HS涓嬭彍鍗� + param.userid = sessionStorage.getItem('CloudUserID') || '' param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } @@ -691,6 +769,7 @@ return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', data: param }) } @@ -709,6 +788,7 @@ axios({ url: '/webapi/doexcel', responseType: 'blob', + method: 'post', data: param }).then(res => { @@ -750,28 +830,15 @@ * @description 涓婁紶base64 * @param {String} base64 base64鍥剧墖缂栫爜 */ - fileuploadbase64 (base64, service = 'local') { - let param = { - func: '', - BasePath: 'Content/Upload', - lang: localStorage.getItem('lang') || '', - appkey: window.GLOB.appkey || '', - Base64Img: base64 - } + fileuploadbase64 (param) { + param.func = '' + param.BasePath = 'Content/Upload' + param.lang = localStorage.getItem('lang') || '' + param.appkey = window.GLOB.appkey || '' param.SessionUid = localStorage.getItem('SessionUid') || '' - if (service === 'sso' && window.GLOB.mainSystemApi) { - param.rduri = window.GLOB.mainSystemApi - param.userid = sessionStorage.getItem('UserID') - param.LoginUID = sessionStorage.getItem('LoginUID') || '' - } else if (service === 'cloud' && options.cloudServiceApi) { - param.rduri = options.cloudServiceApi - param.userid = sessionStorage.getItem('CloudUserID') - param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' - } else { - param.userid = sessionStorage.getItem('UserID') - param.LoginUID = sessionStorage.getItem('LoginUID') || '' - } + param.userid = param.userid || sessionStorage.getItem('UserID') || '' + param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' param = this.encryptParam(param) @@ -780,11 +847,13 @@ return axios({ url: '/webapi/dostars', + method: 'post', data: param }) } else { return axios({ url: '/webapi/SaveBase64Image', + method: 'post', data: param }) } @@ -796,6 +865,7 @@ getLargeFileUpload (param) { return axios({ url: '/webapi/doupload', + method: 'post', data: param }) } @@ -806,6 +876,7 @@ getFilePreUpload (param) { return axios({ url: '/webapi/dopreload', + method: 'post', data: param }) } @@ -816,53 +887,21 @@ getWxNativePay (param) { return axios({ url: '/wxpay/wxNativePay', + method: 'post', data: param }) } - /** - * @description 鏂囦欢涓婁紶 - */ - getFileUpload (param) { - return axios({ - url: '/zh-CN/Home/Upload', - data: param - }) - } - - /** - * @description 閫氱敤鎺ュ彛(鏁版嵁绠$悊) - * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁� - */ - commonInterface (param) { - param.userid = sessionStorage.getItem('UserID') - param.lang = localStorage.getItem('lang') || '' - param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = sessionStorage.getItem('LoginUID') || '' - param.BID = param.BID || '' - param.debug = param.debug || '' - - return axios({ - url: '/webapi/dostar', - data: param - }) - } - - /** - * @description 閫氱敤鎺ュ彛(鎻愪氦)(鏁版嵁绠$悊) - * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁� - */ - submitInterface (param) { - param.userid = sessionStorage.getItem('UserID') - param.lang = localStorage.getItem('lang') || '' - param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = sessionStorage.getItem('LoginUID') || '' - - return axios({ - url: '/webapi/dostar', - data: param - }) - } + // /** + // * @description 鏂囦欢涓婁紶 + // */ + // getFileUpload (param) { + // return axios({ + // url: '/zh-CN/Home/Upload', + // method: 'post', + // data: param + // }) + // } } export default new Api() \ No newline at end of file -- Gitblit v1.8.0