From 3ca91a731665962918a026f521c556f4745ebf35 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 16 十一月 2020 19:20:19 +0800 Subject: [PATCH] 2020-11-16 --- src/api/index.js | 251 +++++++++++++++++++++---------------------------- 1 files changed, 107 insertions(+), 144 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index fd30362..be62de4 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -74,7 +74,12 @@ axios.interceptors.response.use((response) => { if (response.data.ErrCode === 'LoginError') { - setCurrentUrl() + if (window.debugger === true) { + response.data.ErrCode = 'E' + return Promise.resolve(response.data) + } else { + setCurrentUrl() + } } else { return Promise.resolve(response.data) } @@ -119,20 +124,7 @@ param.userid = param.userid || sessionStorage.getItem('UserID') || '' param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return axios({ url: '/webapi/dostar', @@ -153,7 +145,7 @@ let param = { func: 's_visitor_login', - timestamp: moment().format('YYYY-MM-DD HH:mm:ss') + '.000', + timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), SessionUid: _SessionUid, TypeCharOne: 'pc' } @@ -287,20 +279,7 @@ param.rduri = window.GLOB.mainSystemApi } - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return new Promise((resolve, reject) => { axios({ @@ -311,12 +290,29 @@ reject() return } + let clear = false let version = res.app_version || '1.00' appVersion.newVersion = version appVersion.oldVersion = appVersion.oldVersion || version + if (res.menu_data && res.menu_data.length > 0) { + let keys = `1581067625930haged11ieaivpavv77k,1581734956310scks442ul2d955g9tu5,1583991994144ndddg0bhh0is6shi0v1,1583979633842550imkchl4qt4qppsiv,1578900109100np8aqd0a77q3na46oas,16044812935562g807p3p12huk8kokmb, + 1585192949946f3et2ts8tn82krmumdf,15855615451212m12ip23vpcm79kloro,1587005717541lov40vg61q7l1rbveon,1590458676585agbbr63t6ihighg2i1g,1602315375262ikd33ii0nii34pt861o,1582771068837vsv54a089lgp45migbg, + 1582777675954ifu05upurs465omoth7,158294809668898cklbv6c5bou8e1fpu,1584676379094iktph45fb8imhg96bql,1584695125339vo5g7iqgfn01qmrd6s2,1584699661372vhmpp9dn9foo0eob722,15848421131551gg04ie8sitsd3f7467, + 1589782279158ngr675kk3oksin35sul,1589788042787ffdt9hle4s45k9r1nvs,15900310928174dro07ihfckghpb5h13,1594095599055qicg2eb642v5qglhnuo,1599613340050c8nu6rbst9d4emnnbsq,1577972969199lei1g0qkvlh4tkc908m, + 1578479100252lfbp29v1kafk4s4q4ig,1577971621421tg4v0i1ur8873k7e0ob,1577929944419lgc5h3hepum765e2k7u,1588493493409k9guqp067d31lu7blsv` + + res.menu_data.forEach(mid => { + if (keys.indexOf(mid.menuid) > -1) { + clear = true + } + }) + } + mkDataBase.transaction(tx => { - if (res.menu_data && res.menu_data.length > 0) { + if (clear) { + tx.executeSql(`DELETE FROM CONFIGS`, [], () => {}, () => { reject() }) + } else if (res.menu_data && res.menu_data.length > 0) { let keys = res.menu_data.map(mid => `'${mid.menuid}'`) tx.executeSql(`DELETE FROM CONFIGS where menuid in (${keys.join(',')})`, [], () => {}, () => { reject() @@ -412,25 +408,59 @@ param.LoginUID = sessionStorage.getItem('LoginUID') || '' } - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, data: param }) + } + + /** + * @description 鑾峰彇浜戠閰嶇疆锛屽苟缂撳瓨淇℃伅 + */ + getCloudCacheConfig (param) { + param.lang = localStorage.getItem('lang') || '' + param.appkey = window.GLOB.appkey || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' + + if (sessionStorage.getItem('CloudUserID') && options.cloudServiceApi) { // 瀛樺湪浜戠鐧诲綍淇℃伅锛屼笖瀛樺湪浜戠鍦板潃 + param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' + } else if (window.GLOB.mainSystemApi) { + param.rduri = window.GLOB.mainSystemApi + param.userid = sessionStorage.getItem('UserID') + param.LoginUID = sessionStorage.getItem('LoginUID') || '' + } else { + param.userid = sessionStorage.getItem('UserID') + param.LoginUID = sessionStorage.getItem('LoginUID') || '' + } + + let _param = JSON.parse(JSON.stringify(param)) // 缂撳瓨鏍¢獙锛屽幓闄ゆ椂闂村拰鍔犲瘑瀛楃 + delete _param.timestamp + delete _param.secretkey + delete _param.open_key + _param = JSON.stringify(_param) + _param = md5(_param) + + if (window.GLOB.CacheMap.has(_param)) { + return Promise.resolve(window.GLOB.CacheMap.get(_param)) + } else { + param = this.encryptParam(param) + + return new Promise(resolve => { + axios({ + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + data: param + }).then(res => { + if (res.status) { + window.GLOB.CacheMap.set(_param, res) + } + resolve(res) + }) + }) + } } /** @@ -451,20 +481,7 @@ param.rduri = window.GLOB.mainSystemApi } - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, @@ -476,26 +493,13 @@ * @description 鑾峰彇鎴栦慨鏀规湰鍦伴厤缃紝澧炲姞appkey */ getLocalConfig (param) { - param.userid = sessionStorage.getItem('UserID') + 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 || '' - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, @@ -532,20 +536,7 @@ _param = md5(_param) if (mkDataBase && storUsable) { - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return new Promise(resolve => { mkDataBase.transaction(tx => { @@ -592,20 +583,7 @@ } else if (window.GLOB.CacheMap.has(_param)) { return Promise.resolve(window.GLOB.CacheMap.get(_param)) } else { - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return new Promise(resolve => { axios({ @@ -632,6 +610,30 @@ } /** + * @description dostars 鍙傛暟鍔犲瘑 + */ + encryptParam (param) { + param.nonc = Utils.getuuid() + + let keys = Object.keys(param).sort() + let values = '' + keys.forEach(key => { + if (key === 'rduri' || key === 't') return + if (param[key] === undefined) { + delete param[key] + } else if (typeof(param[key]) === 'object') { + values += key + JSON.stringify(param[key]) + } else { + values += key + param[key] + } + }) + param.sign = md5(values) + param.t = new Date().getTime() + + return param + } + + /** * @description 鑾峰彇绯荤粺閰嶇疆锛屼紭鍏堜粠缂撳瓨涓彇鍊硷紝澧炲姞appkey * @param {Object} param 璇锋眰鍙傛暟 * @param {Boolean} SSO 鏄惁涓哄崟鐐圭櫥褰曞湴鍧� @@ -653,20 +655,7 @@ if (window.GLOB.CacheMap.has(_param)) { return Promise.resolve(window.GLOB.CacheMap.get(_param)) } else { - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return new Promise(resolve => { axios({ @@ -697,20 +686,7 @@ param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return axios({ url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, @@ -796,20 +772,7 @@ param.LoginUID = sessionStorage.getItem('LoginUID') || '' } - param.nonc = Utils.getuuid() - - let keys = Object.keys(param).sort() - let values = '' - keys.forEach(key => { - if (key === 'rduri' || key === 't') return - if (typeof(param[key]) === 'object') { - values += key + JSON.stringify(param[key]) - } else { - values += key + param[key] - } - }) - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) if (param.rduri) { param.rduri = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image') -- Gitblit v1.8.0