VUE全局路由守卫

在router.js中

//设置白名单,指不需要登录就可以直接进入的页面
var whiteList = ["/login","/welcome"]
//这里使用cookie.js,登录成功后将后台返回的token保存在cookie中
// Cookies.set('admin_token','token_value');
var hasToken = Cookies.get('admin_token');
router.beforeEach((to, from, next) => {
    //to: 即将要进入的目标 [路由对象]
    //from:当前导航正要离开的路由
    //next:一定要调用该方法来 resolve 这个钩子
     if (hasToken) {
        if (to.path === '/login') {
            next({ path: '/' })
        } else { 
            next()
        } 
      }else {
        if (whiteList.indexOf(to.path) !== -1) {
            next()//这里是即将进入的页面是白名单的页面就直接进入
        } else { 
            next({ path: '/login' })//这里是即将进入的页面不是白名单的页面又没有token的情况下重定向到登录页面进行登录操作
        } 
      }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容