vue设置token过期后用户操作自动跳转登陆界面

要实现token过期后用户对页面进行操作自动跳转至登陆页面,也就是调用接口时跳转

1.通过service.interceptors.response.use,对返回的code进行判断,正常则返回数据,
否则跳转至登陆,之前想在request里根据是否有token进行判断,后来发现首次登陆时也是没有token的。。。
2.跳转方法:刚开始一直尝试用this.$router.push('/login'),结果不行,后来发现代码是写在request.js文件里的,不能像.vue文件里那样用,于是直接

  • import router from './router'
  • router.push('/login');
以下是代码

service.interceptors.response.use(
response => {
if (response.status === 200 && response.data.code === 0) {
return response.data;
} else if(response.data.Code === 1) {
localStorage.removeItem('ms_username');
router.push('/login');
// console.log('notoken')
} else {
Promise.reject();
}
},
error => {
console.log(error);
return Promise.reject();
}
);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容