1、在封装的axios请求中的请求拦截器中做:(在数据请求发送之前判断)
// 拦截器
// 添加请求拦截器
axios.interceptors.request.use(
function (config) {
// 判断有没有token
// 第一个判断是确定没有token,需要给跳转到登录页面
//
if (!config.headers.token && !config.url.includes("login")) {
// 说明没有token,直接踢回去让登录
router.push("/login");
return;
}
// 在发送请求之前做些什么
return config;
},
function (error) {
// 对请求错误做些什么
return Promise.reject(error);
}
);
2、在路由配置文件的全局前置导航守卫中做:(在跳转页面之前,若检查到没有token)
// 可以用去哪聚前置守卫,来做未登录就跳到登录页的功能
router.beforeEach(async (to, from) => {
let logintoken =sessionStorage.getItem('token');
if(!logintoken&&to.name=='login'){
return { name: 'login' }
}
})