From c33ac9ddcdbed91bd2267bed2a96199441806a04 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 22 九月 2022 17:00:15 +0800 Subject: [PATCH] 2022-09-22 --- src/api/index.js | 132 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 107 insertions(+), 25 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 2f890ec..c5353f8 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -92,7 +92,7 @@ param.userid = param.userid || '' return axios({ - url: '/webapi/dostar', + url: `/webapi/dostar${param.func ? '/' + param.func : ''}`, method: 'post', data: param }) @@ -201,7 +201,7 @@ /** * @description 娓稿鐧诲綍 */ - getTouristMsg (appid, openid, memberid, scanId) { + getTouristMsg (binding_type, appid, openid, memberid, scanId) { let _SessionUid = localStorage.getItem('SessionUid') if (!_SessionUid) { // 鎵嬪姩娓呴櫎SessionUid鏃讹紝瀹炴椂鐢熸垚 @@ -216,24 +216,39 @@ TypeCharOne: 'pc', kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host)) } - - param.LText = md5(window.btoa(_SessionUid + param.timestamp)) - param.secretkey = md5(param.LText + 'mingke' + param.timestamp) - - param.appkey = window.GLOB.appkey || '' - - if (appid) { - param.binding_type = 'mk' - param.thd_party_member_id = memberid - param.thd_party_openid = openid - param.thd_party_appid = appid - param.id = scanId - } let url = '/webapi/dologon/s_visitor_login' if (window.GLOB.mainSystemApi) { param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login') } + + if (binding_type === 'mk') { + param.binding_type = 'mk' + param.thd_party_member_id = memberid + param.thd_party_openid = openid + param.thd_party_appid = appid + param.id = scanId + } else if (binding_type === 'login_check') { // appid 姝ゆ椂涓虹洰鏍� + param.v_type = 'login_check' + param.LoginUID = sessionStorage.getItem('LoginUID') || '' + url = appid.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login') + + if (!param.rduri) { + param.rduri = window.GLOB.baseurl + 'webapi/dologon/s_visitor_login' + } + + param.linkurl = appid.replace(/\/webapi(.*)/, '/index.html') + } + + param.LText = md5(window.btoa(_SessionUid + param.timestamp + (param.linkurl || ''))) + + // param.secretkey = md5(param.LText + 'mingke' + param.timestamp) // v_type 涓虹┖鏃� + let solt = md5((window.GLOB.appkey + window.btoa(window.GLOB.appkey + 'mingke') + 'mingke').toLowerCase()).slice(-6).toUpperCase() + + param.v_type = param.v_type || 'Y' + param.secretkey = md5(param.LText + solt + param.timestamp) + + param.appkey = window.GLOB.appkey || '' return axios({ url: url, @@ -549,7 +564,11 @@ param.userid = sessionStorage.getItem('CloudUserID') || '' param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (window.GLOB.mainSystemApi) { - url = window.GLOB.mainSystemApi + if (!window.GLOB.transfer) { + url = window.GLOB.mainSystemApi + } else { + param.rduri = window.GLOB.mainSystemApi + } } param = this.encryptParam(param) @@ -579,7 +598,11 @@ param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } } else if (window.GLOB.mainSystemApi) { - url = window.GLOB.mainSystemApi + if (!window.GLOB.transfer) { + url = window.GLOB.mainSystemApi + } else { + param.rduri = window.GLOB.mainSystemApi + } } let _param = JSON.parse(JSON.stringify(param)) // 缂撳瓨鏍¢獙锛屽幓闄ゆ椂闂村拰鍔犲瘑瀛楃 @@ -727,7 +750,7 @@ param.appkey = window.GLOB.appkey || '' let url = '/webapi/dostars' - if (param.rduri) { + if (param.rduri && !window.GLOB.transfer) { url = param.rduri delete param.rduri } @@ -770,19 +793,67 @@ param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' + let login = false + let rduri = null + + if (param.rduri && /\s|\n/.test(param.rduri)) { + param.rduri = param.rduri.replace(/\s|\n/g, '') + if (!param.rduri) { + delete param.rduri + } + } + + if (param.$login && !window.GLOB.transfer) { + login = true + rduri = param.rduri || '' + } + delete param.$login + let url = '/webapi/dostars' - if (param.rduri && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') { // 鍒囨崲鐢ㄦ埛闇�瑕侀�氳繃鏈湴 + + if (param.rduri && !window.GLOB.transfer && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') { url = param.rduri delete param.rduri } param = this.encryptParam(param) - return axios({ - url: `${url}${param.func ? '/' + param.func : ''}`, - method: 'post', - data: param - }) + if (login) { + let time = +sessionStorage.getItem(rduri) + let c_time = Math.round(new Date().getTime() / 1000) + + if (time && c_time - time <= 60) { + sessionStorage.setItem(rduri, c_time) + return axios({ + url: `${url}${param.func ? '/' + param.func : ''}`, + method: 'post', + data: param + }) + } + + return new Promise((resolve, reject) => { + this.getTouristMsg('login_check', rduri).then(res => { + if (res.status) { + sessionStorage.setItem(rduri, c_time) + axios({ + url: `${url}${param.func ? '/' + param.func : ''}`, + method: 'post', + data: param + }).then(result => { + resolve(result) + }) + } else { + resolve(res) + } + }) + }) + } else { + return axios({ + url: `${url}${param.func ? '/' + param.func : ''}`, + method: 'post', + data: param + }) + } } /** @@ -853,8 +924,19 @@ param = this.encryptParam(param) let url = '/webapi/SaveBase64Image' + if (param.rduri) { - url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image') + param.rduri = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image') + if (/\s|\n/.test(param.rduri)) { + param.rduri = param.rduri.replace(/\s|\n/g, '') + if (!param.rduri) { + delete param.rduri + } + } + } + + if (param.rduri && !window.GLOB.transfer) { + url = param.rduri delete param.rduri } -- Gitblit v1.8.0