From 390c5026c78d2be9dca4357041f4a0ec8ac3668f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 04 二月 2020 13:57:31 +0800 Subject: [PATCH] 2020-02-04 --- src/api/index.js | 78 ++++++++++++++++++++++++++++----------- 1 files changed, 56 insertions(+), 22 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 5984450..45b2e26 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -26,10 +26,11 @@ }) const setCurrentUrl = () => { - // if (!!(window.history && window.history.pushState)) { - // window.history.replaceState(null, null, window.location.href.split('#')[0] + '#/login') - // window.location.reload() - // } + if (!!(window.history && window.history.pushState)) { + sessionStorage.clear() + window.history.replaceState(null, null, window.location.href.split('#')[0] + '#/login') + window.location.reload() + } } let GlobMap = new Map() @@ -104,6 +105,8 @@ if (isCloud && options.cloudLoginApi) { param.rduri = options.cloudLoginApi + } else if (window.GLOB.mainSystemApi) { + param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') } return axios({ @@ -121,25 +124,30 @@ param.SessionUid = sessionStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' - - if (sessionStorage.getItem('isEditState') && options.cloudServiceApi) { // 缂栬緫鐘舵�侊紝涓斿瓨鍦ㄤ簯绔湴鍧� - param.rduri = options.cloudServiceApi + + let _rduri = '' + if (sessionStorage.getItem('isEditState') === 'true' && options.cloudServiceApi) { // 缂栬緫鐘舵�侊紝涓斿瓨鍦ㄤ簯绔湴鍧� + _rduri = options.cloudServiceApi param.userid = sessionStorage.getItem('CloudUserID') param.SessionUid = sessionStorage.getItem('CloudSessionUid') || '' param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (window.GLOB.mainSystemApi) { - param.rduri = window.GLOB.mainSystemApi + _rduri = window.GLOB.mainSystemApi } - // param.nonc = Utils.getuuid() - // param._ = new Date().getTime() + param.nonc = Utils.getuuid() + + let keys = Object.keys(param).sort() + let values = keys.map(key => key + param[key]).join('') + param.sign = md5(values) + param.t = new Date().getTime() - // let keys = Object.keys(param).sort() - // let values = keys.map(key => key + param[key]).join('') - // param.sign = md5(values) + if (_rduri) { + param.rduri = _rduri + } return axios({ - url: '/webapi/dostar', + url: '/webapi/dostars', data: param }) } @@ -154,22 +162,32 @@ param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' + param.nonc = Utils.getuuid() + + let keys = Object.keys(param).sort() + let values = keys.map(key => key + param[key]).join('') + param.sign = md5(values) + param.t = new Date().getTime() + return axios({ - url: '/webapi/dostar', + url: '/webapi/dostars', data: param }) } /** * @description 鑾峰彇绯荤粺閰嶇疆锛屼紭鍏堜粠缂撳瓨涓彇鍊硷紝澧炲姞appkey + * @param {Object} param 璇锋眰鍙傛暟 + * @param {Boolean} SSO 鏄惁涓哄崟鐐圭櫥褰曞湴鍧� */ - getSystemCacheConfig (param) { + getSystemCacheConfig (param, SSO = true) { param.userid = sessionStorage.getItem('UserID') param.lang = localStorage.getItem('lang') || '' param.SessionUid = sessionStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' - if (window.GLOB.mainSystemApi) { + + if (window.GLOB.mainSystemApi && SSO) { param.rduri = window.GLOB.mainSystemApi } @@ -182,9 +200,17 @@ if (GlobMap.has(_param)) { return Promise.resolve(GlobMap.get(_param)) } else { + param.nonc = Utils.getuuid() + + let keys = Object.keys(param).sort() + keys = keys.filter(key => key !== 'rduri') + let values = keys.map(key => key + param[key]).join('') + param.sign = md5(values) + param.t = new Date().getTime() + return new Promise(resolve => { axios({ - url: '/webapi/dostar', + url: '/webapi/dostars', data: param }).then(res => { @@ -204,12 +230,20 @@ param.SessionUid = sessionStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' - if (param.func === 'RolesAdd') { // 瑙掕壊娣诲姞鏃讹紝浼燼ppkey - param.appkey = window.GLOB.appkey || '' - } + // if (param.func === 'RolesAdd') { // 瑙掕壊娣诲姞鏃讹紝浼燼ppkey(澶栭儴鎺ュ彛缁熶竴娣诲姞) + // param.appkey = window.GLOB.appkey || '' + // } + + param.nonc = Utils.getuuid() + + let keys = Object.keys(param).sort() + keys = keys.filter(key => key !== 'rduri' && key !== 't') + let values = keys.map(key => key + param[key]).join('') + param.sign = md5(values) + param.t = new Date().getTime() return axios({ - url: '/webapi/dostar', + url: '/webapi/dostars', data: param }) } -- Gitblit v1.8.0