From f7e9b835c30e5b3287b2c04e24950871cafa907d Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Mon, 07 Sep 2020 15:28:45 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/huge/frontEnd/hugeOA

---
 src/index.js |   33 +++++++++++++++++++++++++++++----
 1 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/src/index.js b/src/index.js
index 642bba7..cbc45b2 100644
--- a/src/index.js
+++ b/src/index.js
@@ -19,9 +19,12 @@
 import Header from './components/common/HeadView';
 import Login from './module/login/login';
 
-// oa路由映射
+// 路由映射
 import OaRouteDom from './routeDom/oaRouteDom';
 import UserRouteDom from './routeDom/userRouteDom';
+import RouteDomView from './routeDom/routeDom';
+
+import { oaMenus, userMenus } from './menu';
 
 export const Context = React.createContext();
 
@@ -42,9 +45,12 @@
 
   componentDidMount() {
     let pathname = history.location.pathname;
+    console.log(history, pathname);
     let menusListByRole = window.localStorage.getItem('menusListByRole')
       ? JSON.parse(window.localStorage.getItem('menusListByRole'))
       : [];
+
+    // let menuMap = { oa: { menus: oaMenus }, user: { menus: userMenus } };
 
     let role = Object.keys(menusListByRole)
       .reduce((p, n) => {
@@ -73,6 +79,18 @@
         role,
       },
     });
+
+    if (!role && menusListByRole.length == 0) {
+      history.push('/login');
+    }
+    if (!role && window.localStorage.getItem('role')) {
+      this.setState({
+        context: {
+          ...this.state.context,
+          role: window.localStorage.getItem('role'),
+        },
+      });
+    }
   }
 
   setContext = (data) => {
@@ -83,6 +101,7 @@
         ...data,
       }, //更新context
     });
+    window.localStorage.setItem('role', data.role || '');
   };
 
   render() {
@@ -109,9 +128,15 @@
                 </Switch>
                 <Layout>
                   <Content>
-                    <Route path="/login" component={()=>( <Login setContext={this.setContext}/>)} />
-                    {context.role == 'oa' && <OaRouteDom />}
-                    {context.role == 'user' && <UserRouteDom />}
+                    <Switch>
+                      <Route
+                        path="/login"
+                        component={() => <Login setContext={this.setContext} />}
+                      />
+                      <RouteDomView />
+                      {/* {context.role == 'oa' && <OaRouteDom />}
+                      {context.role == 'user' && <UserRouteDom />} */}
+                    </Switch>
                   </Content>
                 </Layout>
               </Layout>

--
Gitblit v1.8.0