From 880a41a2135d944169d94028f19344ca66b673a0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 02 十一月 2020 18:23:45 +0800
Subject: [PATCH] 2020-11-02

---
 src/router/index.js |   77 +++++++++++++++++++++++++-------------
 1 files changed, 50 insertions(+), 27 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 102358d..84ee2f0 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -34,38 +34,61 @@
     }
 
     if (item.name === 'pmain') { // 鏂扮獥鍙f墦寮�锛屽彇url鍙傛暟鏀惧叆sessionStorage
-      let _param = window.atob(props.match.params.param)
-      let p = {}
-      _param.split('&').forEach(cell => {
-        let _cell = cell.split('=')
-        p[_cell[0]] = _cell[1]
-      })
-      !sessionStorage.getItem('UserID') && sessionStorage.setItem('UserID', p.ud)
-      !sessionStorage.getItem('LoginUID') && sessionStorage.setItem('LoginUID', p.ld)
-      !sessionStorage.getItem('User_Name') && sessionStorage.setItem('User_Name', p.un)
+      try {
+        let _param = JSON.parse(window.decodeURIComponent(window.atob(props.match.params.param)))
 
-      if (p.mlogo) {
-        window.GLOB.mainlogo = p.mlogo
+        if (typeof(_param) === 'object') {
+          if (_param.UserID && !sessionStorage.getItem('UserID')) {
+            sessionStorage.setItem('UserID', _param.UserID)
+          }
+          if (_param.LoginUID && !sessionStorage.getItem('LoginUID')) {
+            sessionStorage.setItem('LoginUID', _param.LoginUID)
+          }
+          if (_param.User_Name && !sessionStorage.getItem('User_Name')) {
+            sessionStorage.setItem('User_Name', _param.User_Name)
+          }
+          if (_param.mainlogo) {
+            window.GLOB.mainlogo = _param.mainlogo
+          }
+          if (_param.mstyle && options.styles[_param.mstyle]) {
+            document.getElementById('root').className = options.styles[_param.mstyle]
+          }
+          if (_param.MainMenu) {
+            sessionStorage.setItem('MainMenu', _param.MainMenu)
+          }
+          if (_param.SubMenu) {
+            sessionStorage.setItem('SubMenu', _param.SubMenu)
+          }
+          if (_param.ThirdMenu) {
+            sessionStorage.setItem('ThirdMenu', _param.ThirdMenu)
+          }
+          if (_param.param) {
+            _param.param.ThirdMenu = _param.ThirdMenu
+            sessionStorage.setItem('MenuParam', JSON.stringify(_param.param))
+          }
+        }
+      } catch {
+        console.warn('鑿滃崟鍙傛暟瑙f瀽閿欒锛�')
       }
-      if (options.styles[p.mstyle]) {
-        document.getElementById('root').className = options.styles[p.mstyle]
-      }
-      
-      sessionStorage.setItem('MainMenu', p.mm)
-      sessionStorage.setItem('SubMenu', p.sm)
-      sessionStorage.setItem('ThirdMenu', p.tm)
 
       return (<item.component {...props}/>)
     } else if (item.name === 'ssologin') {
-      let _param = window.atob(props.match.params.param)
-      let p = {}
-      _param.split('&').forEach(cell => {
-        let _cell = cell.split('=')
-        p[_cell[0]] = _cell[1]
-      })
-      sessionStorage.setItem('UserID', p.ud)
-      sessionStorage.setItem('LoginUID', p.ld)
-      sessionStorage.setItem('User_Name', p.un)
+      try {
+        let _param = JSON.parse(window.decodeURIComponent(window.atob(props.match.params.param)))
+        if (typeof(_param) === 'object') {
+          if (_param.UserID) {
+            sessionStorage.setItem('UserID', _param.UserID)
+          }
+          if (_param.LoginUID) {
+            sessionStorage.setItem('LoginUID', _param.LoginUID)
+          }
+          if (_param.User_Name) {
+            sessionStorage.setItem('User_Name', _param.User_Name)
+          }
+        }
+      } catch {
+        console.warn('鑿滃崟鍙傛暟瑙f瀽閿欒锛�')
+      }
 
       return (<Redirect to={{ pathname: '/main'}}/>)
     }

--
Gitblit v1.8.0