vue拦截器

1、在路由添加

meta:{
requireAuth:true
}

完整

{
  path: '/xx',
  name: 'xx',
  component: xx,
  meta:{
    requireAuth:true
  }
},

2、在mian.js中添加

router.beforeEach(function (to, from, next) {
  // to 想要去哪里
  // from 从哪里来
  // next 跳转到哪里
  if(to.meta.requireAuth){
    // 要去的url只有登陆成功后才能访问
    if (store.state.token) {
      next()
    } else {
      next({name: 'login',query: {backUrl: to.fullPath}})
    }
  // 没有 meta条件,直接跳转  
  }else{
    next()
  }
});

3、修改登录页面

目的:原页面->登录页面->跳转原页面

var url = that.$route.query.backUrl;
    if(url){
      that.$router.push({path: url})
    }else{
      that.$router.push({path: '/index'})
}
原文地址:https://www.cnblogs.com/wt7018/p/11538394.html