Browse Source

路由自动跳转逻辑调整:‘path[/]在登录和未登录状态分别跳转到[HomePage]和[Login]

zhuth 7 years ago
parent
commit
5937d6e9b4
2 changed files with 10 additions and 3 deletions
  1. 1 1
      src/components/common/rootLayout.jsx
  2. 9 2
      src/routes/mainLayout.js

+ 1 - 1
src/components/common/rootLayout.jsx

@@ -24,7 +24,7 @@ class RootLayout extends React.Component {
             { children }
             { children }
             <Modal
             <Modal
                 className='confirm-box'
                 className='confirm-box'
-                visible={!isAuthenticated}
+                visible={location !=='/login' && !isAuthenticated}
                 footer={null}
                 footer={null}
                 closable={false}
                 closable={false}
                 centered={true}
                 centered={true}

+ 9 - 2
src/routes/mainLayout.js

@@ -1,8 +1,10 @@
 import React from 'react'
 import React from 'react'
 import { Layout } from 'antd'
 import { Layout } from 'antd'
 import { Route, Switch } from 'dva/router'
 import { Route, Switch } from 'dva/router'
+import { Redirect } from 'dva/router'
 import Navigator from '../components/common/navigator'
 import Navigator from '../components/common/navigator'
 import HomePage from '../components/homePage/homePage'
 import HomePage from '../components/homePage/homePage'
+import Login from '../components/common/login/login'
 import Loading from '../components/common/loading/loading'
 import Loading from '../components/common/loading/loading'
 import DataSourceDetail from '../components/datasource/dataSourceDetail'
 import DataSourceDetail from '../components/datasource/dataSourceDetail'
 import DataSource from '../components/datasource/dataSource'
 import DataSource from '../components/datasource/dataSource'
@@ -13,7 +15,7 @@ import Demo from '../demo';
 import Admin from '../components/admin/admin';
 import Admin from '../components/admin/admin';
 const { Header, Content } = Layout
 const { Header, Content } = Layout
 
 
-const MainLayout = (history) => {
+const MainLayout = ({ isAuthenticated }) => {
     return(
     return(
         <Layout className='main-layout'>
         <Layout className='main-layout'>
             <Loading />
             <Loading />
@@ -29,7 +31,12 @@ const MainLayout = (history) => {
                     <Route sensitive path='/dashboard' component={Dashboard} />
                     <Route sensitive path='/dashboard' component={Dashboard} />
                     <Route sensitive path='/chart' component={Chart} />
                     <Route sensitive path='/chart' component={Chart} />
                     <Route sensitive path='/admin' component={Admin} />
                     <Route sensitive path='/admin' component={Admin} />
-                    <Route path='/' component={HomePage}/>
+                    <Route path='/' component={isAuthenticated ? HomePage : () => <Redirect
+                        to={{
+                            pathname: "/login",
+                            state: { from: '/' }
+                        }}
+                    />}/>
                 </Switch>
                 </Switch>
             </Content>
             </Content>
         </Layout>
         </Layout>