From c986f2f56bb153a9b6cebc74b4d9334c85ddfdda Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 04 一月 2021 18:54:02 +0800 Subject: [PATCH] 2020-01-04 --- src/api/index.js | 731 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 628 insertions(+), 103 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 45b2e26..8dd84df 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,9 +1,40 @@ import axios from 'axios' import qs from 'qs' -import {notification } from 'antd' +import { notification } from 'antd' import md5 from 'md5' +import moment from 'moment' import Utils from '@/utils/utils.js' import options from '@/store/options.js' + +let mkDataBase = null + +if (window.openDatabase) { + let service = window.GLOB.service ? '-' + window.GLOB.service.replace('/', '') : '' + try { + mkDataBase = openDatabase(`mkdb${service}`, '1', 'mk-pc-database', 50 * 1024 * 1024) + mkDataBase.transaction(tx => { + tx.executeSql('CREATE TABLE IF NOT EXISTS VERSIONS (version varchar(50), createDate varchar(50), CDefine1 varchar(50), CDefine2 varchar(50), CDefine3 varchar(50))', [], () => { + + }, () => { + // eslint-disable-next-line + throw 'CREATE TABLE ERROR' + }) + tx.executeSql('CREATE TABLE IF NOT EXISTS CONFIGS (menuid varchar(50), userid varchar(50), openEdition varchar(50), webEdition varchar(50), LongParam text, LongParamUser text, CDefine1 varchar(50), CDefine2 varchar(50), CDefine3 varchar(50), CDefine4 varchar(50), CDefine5 varchar(50))', [], () => { + + }, () => { + // eslint-disable-next-line + throw 'CREATE TABLE ERROR' + }) + }) + // mkDataBase.transaction(tx => { + // tx.executeSql('DROP TABLE VERSIONS') + // tx.executeSql('DROP TABLE CONFIGS') + // }) + } catch (e) { + console.warn(e) + mkDataBase = null + } +} axios.defaults.crossDomain = true axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' @@ -11,9 +42,9 @@ axios.interceptors.request.use((config) => { config.method = 'post' - if (config.url.includes('LoginAndRedirect') || config.url.includes('getjsonresult')) { + 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')) { + } 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') || '' @@ -25,69 +56,145 @@ 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('#') + localStorage.setItem(_href[0] + 'paramsmain', _href[1]) + } + 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() } } -let GlobMap = new Map() +window.GLOB.CacheMap = new Map() 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(response) + } } else { return Promise.resolve(response.data) } }, (error) => { - notification.error({ - className: 'notification-custom-error', - bottom: 0, - message: '鐘舵�佺爜-' + error.response.status + '锛岃鑱旂郴绠$悊鍛�', - placement: 'bottomRight', - duration: 15 - }) + if (error && error.response) { + notification.error({ + className: 'notification-custom-error', + bottom: 0, + message: '鐘舵�佺爜-' + error.response.status + '锛岃鑱旂郴绠$悊鍛�', + placement: 'bottomRight', + duration: 15 + }) + } return Promise.reject(error) }) class Api { constructor() { - let service = window.GLOB.service ? (/\/$/.test(window.GLOB.service) ? window.GLOB.service : window.GLOB.service + '/') : '' if (process.env.NODE_ENV === 'production') { - axios.defaults.baseURL = document.location.origin + '/' + service + axios.defaults.baseURL = document.location.origin + '/' + window.GLOB.service } else { // 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 = param.userid || '' + return axios({ - url: '/zh-CN/Home/LoginAndRedirect', - data: { - Username: username, - Password: password + url: '/webapi/dostar', + data: param + }) + } + + /** + * @description 浣跨敤dostar鎺ュ彛锛岃烦杞嚦dostars + * @param {Object} param 鏌ヨ鍙婃彁浜ゅ弬鏁� + */ + dostarToDostars (param) { + param.userid = param.userid || sessionStorage.getItem('UserID') || '' + param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' + + param = this.encryptParam(param) + + return axios({ + url: '/webapi/dostar', + data: param + }) + } + + /** + * @description 娓稿鐧诲綍 + */ + getTouristMsg () { + let _SessionUid = localStorage.getItem('SessionUid') + + if (!_SessionUid) { // 鎵嬪姩娓呴櫎SessionUid鏃讹紝瀹炴椂鐢熸垚 + _SessionUid = Utils.getuuid() + localStorage.setItem('SessionUid', _SessionUid) + } + + let param = { + func: 's_visitor_login', + timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), + SessionUid: _SessionUid, + TypeCharOne: 'pc' + } + + param.LText = md5(window.btoa(_SessionUid + param.timestamp)) + param.secretkey = md5(param.LText + 'mingke' + param.timestamp) + + param.appkey = window.GLOB.appkey || '' + + if (window.GLOB.mainSystemApi) { + param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') + } + + return axios({ + url: '/webapi/dologon', + data: param + }) + } + + /** + * @description 鎵嬫満鍙烽獙璇佺爜鐧诲綍 + */ + getphoneusermsg (phoneNo, checkcode, isCloud = false) { + let param = { + // func: 'webapi_login', + mob: phoneNo, + UserName: '', + Password: '', + check_code: checkcode, + way_no: 'sms_vcode', + systemType: options.sysType + } + + param.appkey = window.GLOB.appkey || '' + + if (isCloud) { + param.debug = 'Y' + if (options.cloudServiceApi) { + param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon') } + } else if (!isCloud && window.GLOB.mainSystemApi) { + param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') + } + + return axios({ + url: '/webapi/dologon', + data: param }) } @@ -99,13 +206,19 @@ // func: 'webapi_login', UserName: username, Password: password, + systemType: options.sysType, Type: 'X' } - param.Password = Utils.formatOptions(param.Password) - if (isCloud && options.cloudLoginApi) { - param.rduri = options.cloudLoginApi - } else if (window.GLOB.mainSystemApi) { + param.Password = Utils.formatOptions(param.Password) + param.appkey = window.GLOB.appkey || '' + + if (isCloud) { + param.debug = 'Y' + if (options.cloudServiceApi) { + param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon') + } + } else if (!isCloud && window.GLOB.mainSystemApi) { param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') } @@ -116,38 +229,266 @@ } /** + * @description 鑾峰彇绯荤粺鐗堟湰淇℃伅锛屽惎鐢ㄦ垨鏇存柊websql + */ + getAppVersion (_resolve, _reject) { + let appVersion = {} + + new Promise((resolve, reject) => { + if (!mkDataBase) { + reject() + } else { + mkDataBase.transaction(tx => { + if (!mkDataBase) { + reject() + return + } + tx.executeSql('SELECT * FROM VERSIONS', [], (tx, results) => { + if (results.rows.length === 0) { + tx.executeSql('DELETE FROM CONFIGS') + resolve({version: '', createDate: ''}) + } else if (results.rows.length === 1) { + resolve(results.rows[0]) + } else if (results.rows.length > 1) { + tx.executeSql('DELETE FROM VERSIONS') + tx.executeSql('DELETE FROM CONFIGS') + resolve({version: '', createDate: ''}) + } + }, (tx, results) => { + reject() + console.warn(results) + }) + }) + } + }).then(msg => { + if (msg.version) { + appVersion.oldVersion = msg.version + } + let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' + + let param = { + func: 's_get_app_version', + modifydate: msg.createDate || curTime, + } + + 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 + } + + param = this.encryptParam(param) + + return new Promise((resolve, reject) => { + axios({ + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + data: param + }).then(res => { + if (!res.status) { + 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 (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() + }) + } + if (msg.version) { + tx.executeSql(`UPDATE VERSIONS SET createDate='${curTime}'`, [], () => { + resolve() + }, () => { + reject() + }) + } else { + tx.executeSql('INSERT INTO VERSIONS (version, createDate) VALUES (?, ?)', [version, curTime], () => { + resolve() + }, () => { + reject() + }) + } + }) + }) + }) + }, () => { + mkDataBase = null + _reject() + return Promise.reject() + }).then(() => { + _resolve(appVersion) + }, () => { + mkDataBase = null + _reject() + }) + } + + /** + * @description 鏇存柊绯荤粺鐗堟湰淇℃伅锛屾竻绌洪厤缃俊鎭� + */ + updateAppVersion (newVersion) { + return new Promise(resolve => { + if (!mkDataBase) { + resolve({status: false}) + return + } + let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' + + mkDataBase.transaction(tx => { + tx.executeSql(`DELETE FROM CONFIGS`, [], () => {}, () => { + resolve({status: false}) + }) + tx.executeSql(`UPDATE VERSIONS SET version='${newVersion}', createDate='${curTime}'`, [], () => { + resolve({status: true}) + }, () => { + resolve({status: false}) + }) + }) + }) + } + + /** + * @description 鍒犻櫎鏌愪釜鑿滃崟閰嶇疆淇℃伅 + */ + deleteMenuStorage (menuId) { + return new Promise(resolve => { + if (!mkDataBase) { + resolve() + return + } + mkDataBase.transaction(tx => { + tx.executeSql(`DELETE FROM CONFIGS where menuid='${menuId}'`, [], () => { + resolve() + }, () => { + mkDataBase = null + }) + }) + }) + } + + /** + * @description 鑾峰彇鎴栦慨鏀逛簯绔厤缃� + */ + getCloudConfig (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') || '' + } + + 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) + }) + }) + } + } + + /** * @description 鑾峰彇鎴栦慨鏀圭郴缁熼厤缃紝澧炲姞appkey */ getSystemConfig (param) { - param.userid = sessionStorage.getItem('UserID') + param.userid = sessionStorage.getItem('UserID') || '' param.lang = localStorage.getItem('lang') || '' - param.SessionUid = sessionStorage.getItem('SessionUid') || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' - let _rduri = '' if (sessionStorage.getItem('isEditState') === 'true' && options.cloudServiceApi) { // 缂栬緫鐘舵�侊紝涓斿瓨鍦ㄤ簯绔湴鍧� - _rduri = options.cloudServiceApi - param.userid = sessionStorage.getItem('CloudUserID') - param.SessionUid = sessionStorage.getItem('CloudSessionUid') || '' + param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (window.GLOB.mainSystemApi) { - _rduri = window.GLOB.mainSystemApi + param.rduri = window.GLOB.mainSystemApi } - 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() - - if (_rduri) { - param.rduri = _rduri - } + param = this.encryptParam(param) return axios({ - url: '/webapi/dostars', + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, data: param }) } @@ -156,23 +497,144 @@ * @description 鑾峰彇鎴栦慨鏀规湰鍦伴厤缃紝澧炲姞appkey */ getLocalConfig (param) { - param.userid = sessionStorage.getItem('UserID') + param.userid = sessionStorage.getItem('UserID') || '' param.lang = localStorage.getItem('lang') || '' - param.SessionUid = sessionStorage.getItem('SessionUid') || '' + 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.map(key => key + param[key]).join('') - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return axios({ - url: '/webapi/dostars', + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, data: param }) + } + + /** + * @description 鑾峰彇绯荤粺閰嶇疆锛屽彇鍊间紭鍏堢瓑绾ebsql銆佺紦瀛樸�佹湇鍔″櫒 + * @param {Object} param 璇锋眰鍙傛暟 + */ + getCacheConfig (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 (sessionStorage.getItem('isEditState') === 'true') { // 缂栬緫鐘舵�侊紝鍗曠偣鐧诲綍鏈嶅姟鍣ㄤ负浜戠 + if (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 + } + + 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 (mkDataBase) { + param = this.encryptParam(param) + + 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, + LongParamUser: paramItem.LongParamUser, + message: '', + open_edition: paramItem.openEdition, + status: true, + web_edition: paramItem.webEdition + }) + } else { + axios({ + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + data: param + }).then(res => { + if (res.status) { + this.writeInWebSql([param.MenuID, param.userid, res.open_edition, res.web_edition, res.LongParam, res.LongParamUser]) + } + resolve(res) + }) + } + }, (tx, results) => { + mkDataBase = null + console.warn(results) + + axios({ + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + data: param + }).then(res => { + if (res.status) { + window.GLOB.CacheMap.set(_param, res) + } + resolve(res) + }) + }) + }) + }) + } else 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) + }) + }) + } + } + + /** + * @description 灏嗘暟鎹啓鍏ebsql + */ + writeInWebSql (data) { + if (!mkDataBase) return + mkDataBase.transaction(tx => { + tx.executeSql('INSERT INTO CONFIGS (menuid, userid, openEdition, webEdition, LongParam, LongParamUser) VALUES (?, ?, ?, ?, ?, ?)', data) + }) + } + + /** + * @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 } /** @@ -180,41 +642,33 @@ * @param {Object} param 璇锋眰鍙傛暟 * @param {Boolean} SSO 鏄惁涓哄崟鐐圭櫥褰曞湴鍧� */ - getSystemCacheConfig (param, SSO = true) { - param.userid = sessionStorage.getItem('UserID') + getSystemCacheConfig (param) { + param.userid = param.userid || sessionStorage.getItem('UserID') || '' param.lang = localStorage.getItem('lang') || '' - param.SessionUid = sessionStorage.getItem('SessionUid') || '' - param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' + param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' - - if (window.GLOB.mainSystemApi && SSO) { - param.rduri = window.GLOB.mainSystemApi - } 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 (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('') - param.sign = md5(values) - param.t = new Date().getTime() + param = this.encryptParam(param) return new Promise(resolve => { axios({ - url: '/webapi/dostars', + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, data: param }).then(res => { - - GlobMap.set(_param, res) + if (res.status) { + window.GLOB.CacheMap.set(_param, res) + } resolve(res) }) }) @@ -227,23 +681,19 @@ genericInterface (param) { param.userid = sessionStorage.getItem('UserID') param.lang = localStorage.getItem('lang') || '' - param.SessionUid = sessionStorage.getItem('SessionUid') || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.appkey = window.GLOB.appkey || '' - // if (param.func === 'RolesAdd') { // 瑙掕壊娣诲姞鏃讹紝浼燼ppkey(澶栭儴鎺ュ彛缁熶竴娣诲姞) - // param.appkey = window.GLOB.appkey || '' - // } + if (sessionStorage.getItem('isEditState') === 'true') { // HS涓嬭彍鍗� + param.userid = sessionStorage.getItem('CloudUserID') + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' + } - 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() + param = this.encryptParam(param) return axios({ - url: '/webapi/dostars', + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, data: param }) } @@ -254,8 +704,9 @@ getExcelOut (param, name) { param.userid = sessionStorage.getItem('UserID') param.lang = localStorage.getItem('lang') || '' - param.SessionUid = sessionStorage.getItem('SessionUid') || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.appkey = window.GLOB.appkey || '' return new Promise(resolve => { axios({ @@ -299,6 +750,80 @@ } /** + * @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 + } + 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 = this.encryptParam(param) + + if (param.rduri) { + param.rduri = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image') + + return axios({ + url: '/webapi/dostars', + data: param + }) + } else { + return axios({ + url: '/webapi/SaveBase64Image', + data: param + }) + } + } + + /** + * @description 澶ф枃浠朵笂浼� + */ + getLargeFileUpload (param) { + return axios({ + url: '/webapi/doupload', + data: param + }) + } + + /** + * @description 鏌ヨ鏂囦欢鏄惁宸蹭笂浼� + */ + getFilePreUpload (param) { + return axios({ + url: '/webapi/dopreload', + data: param + }) + } + + /** + * @description 鑾峰彇寰俊鏀粯浜岀淮鐮� + */ + getWxNativePay (param) { + return axios({ + url: '/wxpay/wxNativePay', + data: param + }) + } + + /** * @description 鏂囦欢涓婁紶 */ getFileUpload (param) { @@ -315,7 +840,7 @@ commonInterface (param) { param.userid = sessionStorage.getItem('UserID') param.lang = localStorage.getItem('lang') || '' - param.SessionUid = sessionStorage.getItem('SessionUid') || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.BID = param.BID || '' param.debug = param.debug || '' @@ -333,7 +858,7 @@ submitInterface (param) { param.userid = sessionStorage.getItem('UserID') param.lang = localStorage.getItem('lang') || '' - param.SessionUid = sessionStorage.getItem('SessionUid') || '' + param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' return axios({ -- Gitblit v1.8.0