From 137fb8ea6af2789b3238b22bac31d80bced41dfe Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 28 七月 2021 11:39:39 +0800
Subject: [PATCH] 2021-07-28

---
 src/api/index.js |   90 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 70 insertions(+), 20 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index ad91d61..c5f65d9 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -17,9 +17,9 @@
   1578479100252lfbp29v1kafk4s4q4ig,1577971621421tg4v0i1ur8873k7e0ob,1577929944419lgc5h3hepum765e2k7u,1588493493409k9guqp067d31lu7blsv`
 
 if (window.openDatabase) {
-  CacheUtils.openWebSql()
+  CacheUtils.openWebSql(options.sysType)
 } else if (window.indexedDB) {
-  CacheUtils.openIndexDB()
+  CacheUtils.openIndexDB(options.sysType)
 }
 
 axios.defaults.crossDomain = true
@@ -255,15 +255,31 @@
       login_id_address: ipAddress
     }
 
+    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
+
+    let sys_datetime = sessionStorage.getItem('sys_datetime')
+    let app_datetime = sessionStorage.getItem('app_datetime')
+    if (sys_datetime && app_datetime) {
+      let seconds = Math.floor((new Date().getTime() - app_datetime) / 1000)
+      param.timestamp = moment(sys_datetime, 'YYYY-MM-DD HH:mm:ss').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss')
+    }
+    
     // Type: 'S' 鏃�
     let shaObj = new jsSHA('SHA-1', 'TEXT')
-    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
     shaObj.update(password)
     param.Password = shaObj.getHash('HEX').toUpperCase()
     param.Password = md5(username + param.Password + param.timestamp)
 
+    // Type: 'mk_' 鏃�
+    // param.Type = '鍏挜'
+    // let shaObj = new jsSHA('SHA-1', 'TEXT')
+    // shaObj.update(password)
+    // param.Password = shaObj.getHash('HEX').toUpperCase()
+    // param.Password = md5('绉侀挜' + username + param.Password + param.timestamp)
+    
     // Type: 'X' 鏃�
     // param.Password = Utils.formatOptions(password)
+
     param.appkey = window.GLOB.appkey || ''
     let url = '/webapi/dologon'
 
@@ -297,14 +313,26 @@
       return Promise.reject()
     }
 
+    let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+    let sys_datetime = sessionStorage.getItem('sys_datetime')
+    let app_datetime = sessionStorage.getItem('app_datetime')
+    if (sys_datetime && app_datetime) {
+      let seconds = Math.floor((new Date().getTime() - app_datetime) / 1000)
+      curTime = moment(sys_datetime, 'YYYY-MM-DD HH:mm:ss').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss') + '.000'
+    }
+
     if (window.GLOB.WebSql) {
       return new Promise((resolve, reject) => {
         CacheUtils.getWebSqlVersion().then(msg => {
           appVersion.oldVersion = msg.version || ''
-          let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+          let modifydate = msg.createDate || curTime
+          if (modifydate.indexOf('Invalid date') > -1) {
+            modifydate = curTime
+          }
+
           let param = {
             func: 's_get_app_version',
-            modifydate: msg.createDate || curTime,
+            modifydate
           }
   
           this.getSystemConfig(param).then(res => {
@@ -348,10 +376,13 @@
       return new Promise((resolve, reject) => {
         CacheUtils.getIndexDBVersion().then(msg => {
           appVersion.oldVersion = msg.version || ''
-          let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+          let modifydate = msg.createDate || curTime
+          if (modifydate.indexOf('Invalid date') > -1) {
+            modifydate = curTime
+          }
           let param = {
             func: 's_get_app_version',
-            modifydate: msg.createDate || curTime,
+            modifydate
           }
 
           this.getSystemConfig(param).then(res => {
@@ -437,6 +468,30 @@
 
     return axios({
       url,
+      method: 'post',
+      data: param
+    })
+  }
+
+  /**
+   * @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
+    }
+
+    let url = window.GLOB.mainSystemApi
+    param = this.encryptParam(param)
+
+    return axios({
+      url: `${url}/${param.func}`,
       method: 'post',
       data: param
     })
@@ -785,22 +840,17 @@
 
     param = this.encryptParam(param)
 
+    let url = '/webapi/SaveBase64Image'
     if (param.rduri) {
-      let url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
+      url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
       delete param.rduri
-
-      return axios({
-        url,
-        method: 'post',
-        data: param
-      })
-    } else {
-      return axios({
-        url: '/webapi/SaveBase64Image',
-        method: 'post',
-        data: param
-      })
     }
+
+    return axios({
+      url,
+      method: 'post',
+      data: param
+    })
   }
 
   /**

--
Gitblit v1.8.0