diff --git a/config/config.js b/config/config.js index 60fed500c751af830c740c312706ad351ee4cd2e..a6300dccc66260e8748755f88fd045c720ec9777 100644 --- a/config/config.js +++ b/config/config.js @@ -93,6 +93,9 @@ export default { }, alias: { components: path.resolve(__dirname, '../src/components/'), + utils: path.resolve(__dirname, '../src/utils/'), + assets: path.resolve(__dirname, '../src/assets/'), + common: path.resolve(__dirname, '../src/common/'), }, ignoreMomentLocale: true, theme: './src/theme.js', diff --git a/src/models/global.js b/src/models/global.js index 55841e16d053db3bf4c92b94ce877cd6601d4965..b88e8dc367c9f72a7f8b65290a3401f367e96e0b 100644 --- a/src/models/global.js +++ b/src/models/global.js @@ -1,3 +1,5 @@ +import router from 'umi/router'; +import { getAuthority } from 'utils/authority'; import { queryNotices } from '../services/api'; export default { @@ -31,6 +33,13 @@ export default { payload: count, }); }, + *init({ payload }, { put }) { + if (payload.hasAuthority) { + yield put(router.push('/User/Login')); + } else { + yield put(router.push('/Dashboard/Analysis')); + } + }, }, reducers: { @@ -55,12 +64,21 @@ export default { }, subscriptions: { - setup({ history }) { + setup({ history, dispatch }) { // Subscribe history(url) change, trigger `load` action if pathname is `/` return history.listen(({ pathname, search }) => { if (typeof window.ga !== 'undefined') { window.ga('send', 'pageview', pathname + search); } + if (pathname === '/') { + const author = getAuthority(); + dispatch({ + type: 'init', + payload: { + hasAuthority: author === 'guest' || !author, + }, + }); + } }); }, }, diff --git a/src/pages/index.js b/src/pages/index.js new file mode 100644 index 0000000000000000000000000000000000000000..3c4c903427b39e04de52ccc846dae7c79a90775f --- /dev/null +++ b/src/pages/index.js @@ -0,0 +1,3 @@ +import React from 'react'; + +export default () =>
;