Vue 登录拦截

保存token以后,怎么实现点击浏览器返回按钮,不会回退到登录页面
图片描述

阅读 1.9k
2 个回答

根据你贴出的代码,多加个判断就可以了,获取到token的情况下判断目的路由是不是/login

if (!getToken()) {
    ...
} else {
    if (to.path === '/login') {
        next({
            path: from.path
        })
    } else {
        ...
    }
}

额外的,你还可以在对请求统一拦截时,加上状态码等判断否已登录

不一定非要在main.js里抓取每一次的router变动,只要在login页面做处理就可以解决问题。
在login页里添加:

methods: {},
beforeRouteEnter (to, from, next) {
    if (!getToken()) { // 这里检查是否获取到cookie
       next()
    } else {
       next({
           path:"/" 
       })
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题