From c7aece35a62b6e91fd98a625bf0e53f64bfbd18d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 17 八月 2023 16:22:15 +0800
Subject: [PATCH] 2023-08-17

---
 src/api/index.js |  117 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 53 insertions(+), 64 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index 607c1ae..abcfa0b 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -5,9 +5,9 @@
 import CryptoJS from 'crypto-js'
 import jsSHA from 'jssha'
 import moment from 'moment'
+
 import Utils from '@/utils/utils.js'
 import CacheUtils from './cacheutils'
-import options from '@/store/options.js'
 
 window.GLOB.IndexDB = null
 window.GLOB.OuterToken = {}
@@ -61,7 +61,7 @@
 }, (error) => {
   let response = error.response || ''
 
-  if (response && (!response.data || !response.data.errors)) { // 杩囨护鏃疯鎶ラ敊淇℃伅
+  if (response && response.status) {
     notification.error({
       className: 'notification-custom-error',
       bottom: 0,
@@ -241,7 +241,7 @@
       Password: '',
       check_code: checkcode,
       way_no: 'sms_vcode',
-      systemType: options.sysType,
+      systemType: window.GLOB.sysType,
       login_city: sessionStorage.getItem('city') || '',
       login_id_address: sessionStorage.getItem('ipAddress') || '',
       kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host)),
@@ -252,11 +252,11 @@
     let url = '/webapi/dologon'
     if (isCloud) {
       param.debug = 'Y'
-      if (options.cloudServiceApi) {
-        param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
+      if (window.GLOB.cloudServiceApi) {
+        param.rduri = window.GLOB.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
       }
     } else if (window.GLOB.mainSystemApi) {
-      if (options.sysType !== 'cloud' && window.GLOB.systemType !== 'production') {
+      if (window.GLOB.sysType !== 'cloud' && window.GLOB.systemType !== 'production') {
         param.linkurl = window.GLOB.linkurl
       }
       param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
@@ -277,7 +277,7 @@
     let param = {
       // func: 'webapi_login',
       UserName: username,
-      systemType: options.sysType,
+      systemType: window.GLOB.sysType,
       Type: 'S',
       login_city: sessionStorage.getItem('city') || '',
       login_id_address: sessionStorage.getItem('ipAddress') || '',
@@ -307,11 +307,11 @@
 
     if (isCloud) {
       param.debug = 'Y'
-      if (options.cloudServiceApi) {
-        param.rduri = options.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
+      if (window.GLOB.cloudServiceApi) {
+        param.rduri = window.GLOB.cloudServiceApi.replace(/\/webapi(.*)/, '/webapi/dologon')
       }
     } else if (window.GLOB.mainSystemApi) {
-      if (options.sysType !== 'cloud' && window.GLOB.systemType !== 'production') {
+      if (window.GLOB.sysType !== 'cloud' && window.GLOB.systemType !== 'production') {
         param.linkurl = window.GLOB.linkurl
       }
       param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
@@ -333,29 +333,23 @@
     if (!menuid) return
     let date = moment().format('YYYY-MM-DD HH:mm:ss')
     let _data = data ? JSON.stringify(data) : ''
+    let userid = sessionStorage.getItem('UserID') || ''
 
-    CacheUtils.writeCacheInIndexDB({menuid, CreateDate: date, LongParam: _data})
+    CacheUtils.writeCacheInIndexDB({menuid: md5(menuid + userid), CreateDate: date, LongParam: _data})
   }
 
   getLCacheConfig (menuid, minutes) {
     return new Promise((resolve, reject) => {
-      if (window.GLOB.IndexDB) {
-        let limit = minutes ? moment().subtract(minutes, 'minutes').format('YYYY-MM-DD HH:mm:ss') : ''
-        CacheUtils.getIndexDBCacheConfig(menuid, limit).then(res => {
-          if (res && res.LongParam) {
-            let _data = JSON.parse(res.LongParam)
-            if (_data.length === 0) {
-              resolve()
-            } else {
-              resolve(_data)
-            }
-          } else {
-            resolve()
-          }
-        })
-      } else {
-        resolve()
-      }
+      let limit = minutes ? moment().subtract(minutes, 'minutes').format('YYYY-MM-DD HH:mm:ss') : ''
+      let userid = sessionStorage.getItem('UserID') || ''
+
+      CacheUtils.getIndexDBCacheConfig(md5(menuid + userid)).then(res => {
+        if (res && res.LongParam) {
+          resolve({data: JSON.parse(res.LongParam), valid: !limit || res.CreateDate > limit})
+        } else {
+          resolve({data: null, valid: false})
+        }
+      })
     })
   }
 
@@ -463,14 +457,14 @@
    */
   getCloudConfig (param) {
     param.lang = param.lang || sessionStorage.getItem('lang') || ''
-    param.appkey = window.GLOB.appkey || ''
+    param.appkey = param.appkey || window.GLOB.appkey || ''
     param.SessionUid = localStorage.getItem('SessionUid') || ''
-    param.userid = sessionStorage.getItem('CloudUserID') || ''
-    param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
+    param.userid = param.userid || sessionStorage.getItem('CloudUserID') || ''
+    param.LoginUID = param.LoginUID || sessionStorage.getItem('CloudLoginUID') || ''
 
     param = this.encryptParam(param)
 
-    let url = options.cloudServiceApi ? options.cloudServiceApi : '/webapi/dostars'
+    let url = window.GLOB.cloudServiceApi ? window.GLOB.cloudServiceApi : '/webapi/dostars'
     if (param.func) {
       url = url + '/' + param.func
     }
@@ -485,26 +479,26 @@
   /**
    * @description 鑾峰彇鎴栦慨鏀圭郴缁熼厤缃紝澧炲姞appkey
    */
-  // getSystemFuncs (time) {
-  //   let param = {
-  //     func: 's_get_func_base_sso',
-  //     update_date: time,
-  //     userid: sessionStorage.getItem('UserID') || '',
-  //     lang: sessionStorage.getItem('lang') || '',
-  //     SessionUid: localStorage.getItem('SessionUid') || '',
-  //     LoginUID: sessionStorage.getItem('LoginUID') || '',
-  //     appkey: window.GLOB.appkey
-  //   }
+  getSystemFuncs (time) {
+    let param = {
+      func: 's_get_func_base_sso',
+      update_date: time,
+      userid: sessionStorage.getItem('UserID') || '',
+      lang: sessionStorage.getItem('lang') || '',
+      SessionUid: localStorage.getItem('SessionUid') || '',
+      LoginUID: sessionStorage.getItem('LoginUID') || '',
+      appkey: window.GLOB.appkey
+    }
 
-  //   let url = window.GLOB.mainSystemApi || '/webapi/dostars'
-  //   param = this.encryptParam(param)
+    let url = window.GLOB.mainSystemApi || '/webapi/dostars'
+    param = this.encryptParam(param)
 
-  //   return axios({
-  //     url: `${url}/${param.func}`,
-  //     method: 'post',
-  //     data: JSON.stringify(param)
-  //   })
-  // }
+    return axios({
+      url: `${url}/${param.func}`,
+      method: 'post',
+      data: JSON.stringify(param)
+    })
+  }
 
   /**
    * @description 鑾峰彇鎴栦慨鏀圭郴缁熼厤缃紝澧炲姞appkey
@@ -517,8 +511,8 @@
     param.appkey = param.appkey || window.GLOB.appkey
 
     let url = '/webapi/dostars'
-    if (sessionStorage.getItem('isEditState') === 'true' && options.cloudServiceApi) { // 缂栬緫鐘舵�侊紝涓斿瓨鍦ㄤ簯绔湴鍧�
-      url = options.cloudServiceApi
+    if (window.GLOB.mkHS && window.GLOB.cloudServiceApi) { // HS涓嬶紝涓斿瓨鍦ㄤ簯绔湴鍧�
+      url = window.GLOB.cloudServiceApi
       param.userid = sessionStorage.getItem('CloudUserID') || ''
       param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
     } else if (window.GLOB.mainSystemApi) {
@@ -549,9 +543,9 @@
     param.appkey = param.appkey || window.GLOB.appkey || ''
 
     let url = '/webapi/dostars'
-    if (sessionStorage.getItem('isEditState') === 'true') { // 缂栬緫鐘舵�侊紝鍗曠偣鐧诲綍鏈嶅姟鍣ㄤ负浜戠
-      if (options.cloudServiceApi) { // 瀛樺湪浜戠鍦板潃鏃讹紝浣跨敤浜戠绯荤粺鍙傛暟
-        url = options.cloudServiceApi
+    if (window.GLOB.mkHS) {          // HS涓嬶紝鍗曠偣鐧诲綍鏈嶅姟鍣ㄤ负浜戠
+      if (window.GLOB.cloudServiceApi) { // 瀛樺湪浜戠鍦板潃鏃讹紝浣跨敤浜戠绯荤粺鍙傛暟
+        url = window.GLOB.cloudServiceApi
         param.userid = sessionStorage.getItem('CloudUserID') || ''
         param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
       }
@@ -770,7 +764,7 @@
     } else {
       let _param = {
         UserName: token.username,
-        systemType: options.sysType,
+        systemType: window.GLOB.sysType,
         login_city: sessionStorage.getItem('city') || '',
         device_id: token.appkey || '',
         timestamp: moment().format('YYYY-MM-DD HH:mm:ss'),
@@ -838,14 +832,9 @@
       return new Promise(resolve => this.visitOuterSystem(param, resolve))
     }
 
-    if (['sPC_Get_TableData', 'sPC_Get_TableData_debug', 'sPC_TableData_InUpDe', 'sPC_TableData_InUpDe_debug', 'sPC_Get_structured_data'].includes(param.func)) {
-      if (sessionStorage.getItem('isEditState') === 'true') {
-        param.username = sessionStorage.getItem('CloudUserName') || ''
-        param.fullname = sessionStorage.getItem('CloudFullName') || ''
-      } else {
-        param.username = sessionStorage.getItem('User_Name') || ''
-        param.fullname = sessionStorage.getItem('Full_Name') || ''
-      }
+    if (['sPC_TableData_InUpDe', 'sPC_TableData_InUpDe_debug'].includes(param.func)) {
+      param.username = sessionStorage.getItem('User_Name') || ''
+      param.fullname = sessionStorage.getItem('Full_Name') || ''
     }
 
     let login = false

--
Gitblit v1.8.0