From 08929dbc66fb157307921026974c459f762209e2 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 25 二月 2021 15:31:24 +0800 Subject: [PATCH] 2021-02-25 --- src/api/index.js | 101 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 78 insertions(+), 23 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 587fafd..f84456f 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -197,7 +197,10 @@ if (options.cloudServiceApi) { param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon') } - } else if (!isCloud && window.GLOB.mainSystemApi) { + } else if (window.GLOB.mainSystemApi) { + if (options.sysType !== 'cloud' && window.GLOB.systemType !== 'production') { + param.linkurl = window.GLOB.linkurl + } param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') } @@ -228,7 +231,10 @@ if (options.cloudServiceApi) { param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon') } - } else if (!isCloud && window.GLOB.mainSystemApi) { + } else if (window.GLOB.mainSystemApi) { + if (options.sysType !== 'cloud' && window.GLOB.systemType !== 'production') { + param.linkurl = window.GLOB.linkurl + } param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') } @@ -274,14 +280,15 @@ clear = true } }) + + if (clear) { + CacheUtils.clearWebSqlConfig() + } else { + let keys = res.menu_data.map(mid => `'${mid.menuid}'`).join(',') + CacheUtils.delWebSqlConfig(keys) + } } - - if (clear) { - CacheUtils.clearWebSqlConfig() - } else if (res.menu_data && res.menu_data.length > 0) { - let keys = res.menu_data.map(mid => `'${mid.menuid}'`).join(',') - CacheUtils.delWebSqlConfig(keys) - } + if (msg.version) { CacheUtils.updateWebSqlTime(curTime) } else { @@ -303,21 +310,33 @@ func: 's_get_app_version', modifydate: msg.createDate || curTime, } - + this.getSystemConfig(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) { - CacheUtils.clearIndexDBConfig() + res.menu_data.forEach(mid => { + if (systemMenuKeys.indexOf(mid.menuid) > -1) { + clear = true + } + }) + + if (clear) { + CacheUtils.clearIndexDBConfig() + } else if (res.menu_data && res.menu_data.length > 0) { + let keys = res.menu_data.map(mid => `'${mid.menuid}'`) + CacheUtils.delIndexDBConfig(keys) + } } - CacheUtils.updateIndexDBversion({version: version, createDate: curTime}) + CacheUtils.updateIndexDBversion({version: appVersion.oldVersion, createDate: curTime}) resolve(appVersion) }) @@ -343,14 +362,24 @@ * @description 鍒犻櫎鏌愪釜鑿滃崟閰嶇疆淇℃伅 */ deleteMenuStorage (menuId) { - return CacheUtils.delMenuWebSqlConfig(menuId) + if (window.GLOB.IndexDB) { + let key = menuId + (sessionStorage.getItem('UserID') || '') + + if (sessionStorage.getItem('isEditState') === 'true' && options.cloudServiceApi) { + key = menuId + (sessionStorage.getItem('CloudUserID') || '') + } + + return CacheUtils.delMenuIndexDBConfig(key) + } else { + return CacheUtils.delMenuWebSqlConfig(menuId) + } } /** * @description 鑾峰彇鎴栦慨鏀逛簯绔厤缃� */ getCloudConfig (param) { - param.lang = localStorage.getItem('lang') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.appkey = window.GLOB.appkey || '' param.SessionUid = localStorage.getItem('SessionUid') || '' @@ -380,7 +409,7 @@ * @description 鑾峰彇浜戠閰嶇疆锛屽苟缂撳瓨淇℃伅 */ getCloudCacheConfig (param) { - param.lang = localStorage.getItem('lang') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.appkey = window.GLOB.appkey || '' param.SessionUid = localStorage.getItem('SessionUid') || '' @@ -429,7 +458,7 @@ */ getSystemConfig (param) { param.userid = sessionStorage.getItem('UserID') || '' - param.lang = localStorage.getItem('lang') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -456,7 +485,7 @@ */ getLocalConfig (param) { param.userid = sessionStorage.getItem('UserID') || '' - param.lang = localStorage.getItem('lang') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -476,7 +505,7 @@ */ getCacheConfig (param) { param.userid = sessionStorage.getItem('UserID') || '' - param.lang = localStorage.getItem('lang') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -518,6 +547,32 @@ }) }) }) + } else if (window.GLOB.IndexDB) { + return new Promise(resolve => { + CacheUtils.getIndexDBMenuConfig(param.MenuID, param.userid).then(res => { + resolve(res) + }, () => { + param = this.encryptParam(param) + axios({ + url: `/webapi/dostars${param.func ? '/' + param.func : ''}`, + method: 'post', + data: param + }).then(res => { + if (res.status && window.GLOB.IndexDB) { + let msg = { + ...res, + userid: param.userid, + menuid: param.MenuID, + id: param.MenuID + param.userid + } + CacheUtils.writeInIndexDB(msg) + } else 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 { @@ -544,7 +599,7 @@ */ getLocalCacheConfig (param) { param.userid = sessionStorage.getItem('UserID') || '' - param.lang = localStorage.getItem('lang') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -601,7 +656,7 @@ */ getSystemCacheConfig (param) { param.userid = param.userid || sessionStorage.getItem('UserID') || '' - param.lang = localStorage.getItem('lang') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -638,7 +693,7 @@ */ genericInterface (param) { param.userid = sessionStorage.getItem('UserID') - param.lang = localStorage.getItem('lang') || '' + param.lang = sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -662,7 +717,7 @@ */ getExcelOut (param, name) { param.userid = sessionStorage.getItem('UserID') - param.lang = localStorage.getItem('lang') || '' + param.lang = sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' param.LoginUID = sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' @@ -716,7 +771,7 @@ fileuploadbase64 (param) { param.func = '' param.BasePath = 'Content/Upload' - param.lang = localStorage.getItem('lang') || '' + param.lang = sessionStorage.getItem('lang') || '' param.appkey = window.GLOB.appkey || '' param.SessionUid = localStorage.getItem('SessionUid') || '' -- Gitblit v1.8.0