router.js 949 B

12345678910111213141516171819202122232425262728293031
  1. import React from 'react';
  2. import { routerRedux, Route, Switch } from 'dva/router';
  3. import { getRouterData } from './common/router';
  4. import Authorized from './utils/Authorized';
  5. import { getQueryPath } from './utils/utils';
  6. const { ConnectedRouter } = routerRedux;
  7. const { AuthorizedRoute } = Authorized;
  8. function RouterConfig({ history, app }) {
  9. const routerData = getRouterData(app);
  10. const UserLayout = routerData['/user'].component;
  11. const BasicLayout = routerData['/'].component;
  12. return (
  13. <ConnectedRouter history={history}>
  14. <Switch>
  15. <Route path="/user" component={UserLayout} />
  16. <AuthorizedRoute
  17. path="/"
  18. render={props => <BasicLayout {...props} />}
  19. authority={['admin', 'user']}
  20. redirectPath={getQueryPath('/user/login', {
  21. redirect: window.location.href,
  22. })}
  23. />
  24. </Switch>
  25. </ConnectedRouter>
  26. );
  27. }
  28. export default RouterConfig;