lrf 2 vuotta sitten
vanhempi
commit
1ace81f179
1 muutettua tiedostoa jossa 19 lisäystä ja 2 poistoa
  1. 19 2
      src/router/guard.js

+ 19 - 2
src/router/guard.js

@@ -2,7 +2,7 @@ import store from '@/store/index';
 const _ = require('lodash');
 const jwt = require('jsonwebtoken');
 let $dev_env = process.env.NODE_ENV === 'development';
-
+import { Message } from 'element-ui';
 export default (router) => {
   router.beforeEach((to, from, next) => {
     if (to.path.includes('dev')) {
@@ -20,6 +20,23 @@ export default (router) => {
       const obj = jwt.decode(str);
       store.commit('setUser', obj, { root: true });
     }
-    next();
+    console.log(store.state.user);
+    // 检查是否有权限进入页面
+    const menu = _.get(store, 'state.user.role.menu');
+    const mode = _.get(menu, 'mode');
+    if (mode === 'all') {
+      next();
+      return;
+    }
+    const can_in = _.get(menu, to.path);
+    if (can_in) next();
+    else {
+      const keys = Object.keys(menu).filter((f) => f !== 'mode');
+      let toPath = '';
+      if (keys.includes('/')) toPath = '/';
+      else toPath = _.head(keys);
+      next(toPath);
+      Message.error('您无权限访问该页面');
+    }
   });
 };