diff --git a/src/router.js b/src/router.js index c3db6fcbd49508613762f36bbdd818088de1b061..bfc78e82529378d954cb4de3b681c9be5c225ce9 100644 --- a/src/router.js +++ b/src/router.js @@ -1,39 +1,52 @@ import React from 'react'; import { routerRedux, Route, Switch } from 'dva/router'; -import { Spin } from 'antd'; +import { LocaleProvider, Spin } from 'antd'; import dynamic from 'dva/dynamic'; -import { LocalComponent } from './locale/localeContext'; +import { addLocaleData, IntlProvider } from 'react-intl'; import { getRouterData } from './common/router'; import Authorized from './utils/Authorized'; import { getQueryPath } from './utils/utils'; import styles from './index.less'; +import enLocale from './locale/en-US'; +import cnLocale from './locale/zh-CN'; const { ConnectedRouter } = routerRedux; const { AuthorizedRoute } = Authorized; - dynamic.setDefaultLoadingComponent(() => { return ; }); +function getLang() { + return (window.localStorage && localStorage.getItem('locale')) || + (navigator.language || navigator.browserLanguage).toLowerCase() === 'en-us' + ? 'en-US' + : 'zh-CN'; +} + function RouterConfig({ history, app }) { const routerData = getRouterData(app); const UserLayout = routerData['/user'].component; const BasicLayout = routerData['/'].component; - + const appLocale = getLang() === 'zh-CN' ? cnLocale : enLocale; + addLocaleData(appLocale.data); return ( - - - - - } - authority={['admin', 'user']} - redirectPath="/user/login" - /> - - - + + + + + + } + authority={['admin', 'user']} + redirectPath={getQueryPath('/user/login', { + redirect: window.location.href, + })} + /> + + + + ); }