vue 项目,全局路由拦截

在做后台管理系统的时候,是要先登录才能查看内部页面,那么如果没有登录,直接打开内部页面地址,要拦截下来返回到登录页

router.beforeEach((to, from, next) => {
  // 只有/test页面并且isShow=false的时候可以不经登录打开
  if (to.path == "/test" && to.query.isShow == 'false') {
    next()
  } else if (to.path == '/') {
    next()
  } else {
  //判断是否登录的条件,具体根据自己项目的具体情况来判断
  //store是我存在observable状态里的,也可以用session
    if (store.token && store.count) {
      store.count.includes(to.meta.parent) ? next() : next(false);
    } else {
      !to.meta.parent ? next() : next({
        path: '/'
      });
    };
  };
});

路由meta配置

let test=[
	{
        path: '/test111',
        component: () => import('@/views/test'),
        name: '测试',
        meta: {
            breadcrumb: ['测试管理', '测试'],
            parent: '测试'
        }
    }
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值