第一步、封装一个方法
export function urlVerify(arr) {
let route = false
store.getters.roles.forEach(res=>{//store.getters.roles是我判断当前用户的权限字符
if(arr.includes(res)){
route = true
}
})
if(route){
return true
}else{
return false
}
}
//调用示例
//参数为哪些用户可以进入页面
//urlVerify(['admin', 'sys', 'sys2'])
第二步、在页面调用方法
import { urlVerify } from '@/utils/auth'
beforeRouteEnter(to, from, next) {//路由守卫 跟data,methods同级
// 在渲染该组件的对应路由被 confirm 前调用
// 不!能!获取组件实例 `this`
// 因为当守卫执行前,组件实例还没被创建
if (urlVerify(['admin', 'sys', 'sys2'])) {//如果当前用户的权限字符匹配数组里的权限字符
next()//放行
} else {
next('/index')//跳转主页
}
},