Kaynağa Gözat

set init route

xiaohu 7 yıl önce
ebeveyn
işleme
e2aeb7c927
3 değiştirilmiş dosya ile 25 ekleme ve 1 silme
  1. 3 0
      config/config.js
  2. 19 1
      src/models/global.js
  3. 3 0
      src/pages/index.js

+ 3 - 0
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',

+ 19 - 1
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,
+            },
+          });
+        }
       });
     },
   },

+ 3 - 0
src/pages/index.js

@@ -0,0 +1,3 @@
+import React from 'react';
+
+export default () => <div />;