axios 中的拦截器 ax.interceptors.request 和 ax.interceptors.response
// http request 拦截器
ax.interceptors.request.use(
config => {
**// 验证是否登录获取了token,如果有token ,那么就加到请求头中**
if (store.state.jwtToken) {
config.headers.Authorization = `Bearer ${store.state.jwtToken}`;
}
return config;
},
err => {
return Promise.reject(err);
});
// http response 拦截器
ax.interceptors.response.use(
response => {
if (!response.data.success) {
switch(response.data.errorCode){
case '': //未登录
if(window.location.href.indexOf('admin')>-1){
router.push('登录页面');
}
break;
case '未注册':
Message.warning('请先注册账号')
break;
case '':
Message.warning(response.data.errorMessage)
router.push('/');
break;
case '':
Message.warning(response.data.errorMessage)
router.push('/');
break;
case '':
Message.warning(response.data.errorMessage)
return response;
break;
default:
return Promise.reject(response.data.errorMessage)
}
}else{
return response.data
}
},
error => {
if (error.response) {
console.log('error',error)
}
Message.warning("网络开小差了,请稍后重试")
// return Promise.reject(error.response.data)
});`