|
@@ -2,7 +2,7 @@ import store from '@/store/index';
|
|
const _ = require('lodash');
|
|
const _ = require('lodash');
|
|
const jwt = require('jsonwebtoken');
|
|
const jwt = require('jsonwebtoken');
|
|
let $dev_env = process.env.NODE_ENV === 'development';
|
|
let $dev_env = process.env.NODE_ENV === 'development';
|
|
-
|
|
|
|
|
|
+import { Message } from 'element-ui';
|
|
export default (router) => {
|
|
export default (router) => {
|
|
router.beforeEach((to, from, next) => {
|
|
router.beforeEach((to, from, next) => {
|
|
if (to.path.includes('dev')) {
|
|
if (to.path.includes('dev')) {
|
|
@@ -20,6 +20,23 @@ export default (router) => {
|
|
const obj = jwt.decode(str);
|
|
const obj = jwt.decode(str);
|
|
store.commit('setUser', obj, { root: true });
|
|
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('您无权限访问该页面');
|
|
|
|
+ }
|
|
});
|
|
});
|
|
};
|
|
};
|