From 76427d51a079a5fd1f45bf7188249e7a4647ae05 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 14 九月 2020 10:37:25 +0800
Subject: [PATCH] 2020-09-14

---
 src/api/index.js |  188 +++++++++++-----------------------------------
 1 files changed, 46 insertions(+), 142 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index ac8f0f2..3af5f09 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -59,6 +59,11 @@
 
 const setCurrentUrl = () => {
   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()
     window.history.replaceState(null, null, window.location.href.split('#')[0] + '#/login')
     window.location.reload()
@@ -69,7 +74,12 @@
 
 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()
+    }
   } else {
     return Promise.resolve(response.data)
   }
@@ -114,20 +124,7 @@
     param.userid = param.userid || sessionStorage.getItem('UserID') || ''
     param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
 
-    param.nonc = Utils.getuuid()
-    
-    let keys = Object.keys(param).sort()
-    let values = ''
-    keys.forEach(key => {
-      if (key === 'rduri' || key === 't') return
-      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()
+    param = this.encryptParam(param)
 
     return axios({
       url: '/webapi/dostar',
@@ -148,7 +145,7 @@
 
     let param = {
       func: 's_visitor_login',
-      timestamp: moment().format('YYYY-MM-DD HH:mm:ss') + '.000', 
+      timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), 
       SessionUid: _SessionUid,
       TypeCharOne: 'pc'
     }
@@ -282,20 +279,7 @@
         param.rduri = window.GLOB.mainSystemApi
       }
   
-      param.nonc = Utils.getuuid()
-      
-      let keys = Object.keys(param).sort()
-      let values = ''
-      keys.forEach(key => {
-        if (key === 'rduri' || key === 't') return
-        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()
+      param = this.encryptParam(param)
   
       return new Promise((resolve, reject) => {
         axios({
@@ -407,20 +391,7 @@
       param.LoginUID = sessionStorage.getItem('LoginUID') || ''
     }
 
-    param.nonc = Utils.getuuid()
-    
-    let keys = Object.keys(param).sort()
-    let values = ''
-    keys.forEach(key => {
-      if (key === 'rduri' || key === 't') return
-      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()
+    param = this.encryptParam(param)
 
     return axios({
       url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
@@ -446,20 +417,7 @@
       param.rduri = window.GLOB.mainSystemApi
     }
 
-    param.nonc = Utils.getuuid()
-    
-    let keys = Object.keys(param).sort()
-    let values = ''
-    keys.forEach(key => {
-      if (key === 'rduri' || key === 't') return
-      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()
+    param = this.encryptParam(param)
 
     return axios({
       url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
@@ -477,20 +435,7 @@
     param.LoginUID = sessionStorage.getItem('LoginUID') || ''
     param.appkey = window.GLOB.appkey || ''
 
-    param.nonc = Utils.getuuid()
-    
-    let keys = Object.keys(param).sort()
-    let values = ''
-    keys.forEach(key => {
-      if (key === 'rduri' || key === 't') return
-      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()
+    param = this.encryptParam(param)
 
     return axios({
       url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
@@ -527,20 +472,7 @@
     _param  = md5(_param)
     
     if (mkDataBase && storUsable) {
-      param.nonc = Utils.getuuid()
-      
-      let keys = Object.keys(param).sort()
-      let values = ''
-      keys.forEach(key => {
-        if (key === 'rduri' || key === 't') return
-        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()
+      param = this.encryptParam(param)
 
       return new Promise(resolve => {
         mkDataBase.transaction(tx => {
@@ -587,20 +519,7 @@
     } else 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()
-      let values = ''
-      keys.forEach(key => {
-        if (key === 'rduri' || key === 't') return
-        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()
+      param = this.encryptParam(param)
 
       return new Promise(resolve => {
         axios({
@@ -627,6 +546,30 @@
   }
 
   /**
+   * @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
+  }
+
+  /**
    * @description 鑾峰彇绯荤粺閰嶇疆锛屼紭鍏堜粠缂撳瓨涓彇鍊硷紝澧炲姞appkey
    * @param {Object}  param   璇锋眰鍙傛暟
    * @param {Boolean} SSO     鏄惁涓哄崟鐐圭櫥褰曞湴鍧�
@@ -648,20 +591,7 @@
     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()
-      let values = ''
-      keys.forEach(key => {
-        if (key === 'rduri' || key === 't') return
-        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()
+      param = this.encryptParam(param)
 
       return new Promise(resolve => {
         axios({
@@ -692,20 +622,7 @@
       param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
     }
 
-    param.nonc = Utils.getuuid()
-    
-    let keys = Object.keys(param).sort()
-    let values = ''
-    keys.forEach(key => {
-      if (key === 'rduri' || key === 't') return
-      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()
+    param = this.encryptParam(param)
 
     return axios({
       url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
@@ -791,20 +708,7 @@
       param.LoginUID = sessionStorage.getItem('LoginUID') || ''
     }
 
-    param.nonc = Utils.getuuid()
-    
-    let keys = Object.keys(param).sort()
-    let values = ''
-    keys.forEach(key => {
-      if (key === 'rduri' || key === 't') return
-      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()
+    param = this.encryptParam(param)
 
     if (param.rduri) {
       param.rduri = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')

--
Gitblit v1.8.0