From 1e7aa4f0ff5e13c4a99ba511bb357a4cc63aa0c1 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 02 四月 2020 15:21:46 +0800 Subject: [PATCH] 2020-04-02 --- src/api/index.js | 113 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 72 insertions(+), 41 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 4c4bfb3..956b4f9 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -33,7 +33,7 @@ } } -let GlobMap = new Map() +window.GLOB.CacheMap = new Map() axios.interceptors.response.use((response) => { if (response.data.ErrCode === 'LoginError') { @@ -61,33 +61,17 @@ // axios.defaults.baseURL = 'http://127.0.0.1:8888' } } - - /** - * @description 绯荤粺鎺堟潈 - */ - systemauth (appId, timestamp) { - return axios({ - url: '/webapi/dostar', - data: { - rduri: 'http://minkesoft.com/mksepc/webapi/dostar', - func: 'sEmpowerCloud_Get_LinkUrl', - userid: '', - AppID: appId, - TimeStamp: timestamp - } - }) - } /** - * @description 鐧诲綍绯荤粺 + * @description 浣跨敤dostar鎺ュ彛锛岃烦杩囬獙璇� + * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁� */ - loginsystem (username, password) { + dostarInterface (param) { + param.userid = '' + return axios({ - url: '/zh-CN/Home/LoginAndRedirect', - data: { - Username: username, - Password: password - } + url: '/webapi/dostar', + data: param }) } @@ -99,14 +83,16 @@ // func: 'webapi_login', UserName: username, Password: password, + systemType: options.systemType, Type: 'X' } + param.Password = Utils.formatOptions(param.Password) param.appkey = window.GLOB.appkey || '' if (isCloud && options.cloudLoginApi) { param.rduri = options.cloudLoginApi - } else if (window.GLOB.mainSystemApi) { + } else if (!isCloud && window.GLOB.mainSystemApi) { param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') } @@ -142,8 +128,15 @@ 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('') + 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() @@ -175,8 +168,15 @@ 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('') + 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() @@ -199,8 +199,15 @@ 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('') + 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() @@ -239,14 +246,21 @@ _param = JSON.stringify(_param) _param = md5(_param) - if (GlobMap.has(_param)) { - return Promise.resolve(GlobMap.get(_param)) + 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() - keys = keys.filter(key => key !== 'rduri') - let values = keys.map(key => key + param[key]).join('') + 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() @@ -255,8 +269,9 @@ url: '/webapi/dostars', data: param }).then(res => { - - GlobMap.set(_param, res) + if (res.status) { + window.GLOB.CacheMap.set(_param, res) + } resolve(res) }) }) @@ -271,6 +286,7 @@ param.lang = localStorage.getItem('lang') || '' param.SessionUid = sessionStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.appkey = window.GLOB.appkey || '' if (sessionStorage.getItem('isEditState') === 'true' && param.rduri === options.cloudServiceApi) { // HS涓嬭彍鍗� param.userid = sessionStorage.getItem('CloudUserID') @@ -281,8 +297,15 @@ 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('') + 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() @@ -300,6 +323,7 @@ param.lang = localStorage.getItem('lang') || '' param.SessionUid = sessionStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.appkey = window.GLOB.appkey || '' return new Promise(resolve => { axios({ @@ -374,8 +398,15 @@ 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('') + 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() -- Gitblit v1.8.0