最开始认为失败没走拦截 成功走了
instance.interceptors.response.use(response => { // dataAxios 是 axios 返回数据中的 data const dataAxios = response; // 这个状态码是和后端约定的 const CODE = dataAxios.data.code; // 根据 code 进行判断 if (CODE === undefined) { // 如果没有 code 代表这不是项目后端开发的接口 return dataAxios; } else { // 有 code 代表这是一个后端接口 可以进行进一步的判断 switch (CODE) { case 0: case 200: case 500: // [ 示例 ] code === 0 代表没有错误 return dataAxios; case 1001: Router.push("/login"); break; case 403: Router.push("/login"); break; case 401: Router.push("/login"); break; default: return dataAxios; } } } );
最后发现问题
instance.interceptors.response.use(response => {
// dataAxios 是 axios 返回数据中的 data
const dataAxios = response;
// 这个状态码是和后端约定的
const CODE = dataAxios.data.code;
// 根据 code 进行判断
if (CODE === undefined) {
// 如果没有 code 代表这不是项目后端开发的接口
return dataAxios;
} else {
// 有 code 代表这是一个后端接口 可以进行进一步的判断
switch (CODE) {
case 0:
case 200:
case 500:
// [ 示例 ] code === 0 代表没有错误
return dataAxios;
case 1001:
Router.push("/login");
break;
case 403:
Router.push("/login");
break;
case 401:
Router.push("/login");
break;
default:
return dataAxios;
}
}
},error => {
if(error.response.status==401){
Router.push("/login");
}
});