用于进入某些页面需要什么什么特权才能进入
判断当前路由是否需要鉴权(router中meta字段下requireAuth是否为true)
这里我先讲讲我们项目中用到的路由鉴权方式,这里我们主要用到我们Vue Router中的router.beforeEach, 这个函数的作用就是注册一个全局前置守卫
当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 等待中。
每个守卫方法接收三个参数:
-
to: Route: 即将要进入的目标 路由对象
-
from: Route: 当前导航正要离开的路由
-
next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
router.beforeEach(async(to, from, next) => {
try{
console.log(store.state.count)
console.log( router.app.$store.state.count)
next()
}catch(e){
}
})
可以看到我们这里弄了一个优化,我们使用record.meta.requiresAuth来查看我们前往的路由是否是需要鉴权的,在这基础之上,我们添加需要鉴权的路由时,无需在这个函数进行修改,我们只需要给我们路由添加meta信息如下
const routes = [
{
path: '/',
name: 'Home',
component: Home,
meta: {
requireAuth:true,
authRole:'