|
1. 安装
npm install --save nprogress 2. 引用 import nprogress from 'nprogress'; 3. 使用 // 请求拦截器
service.interceptors.request.use(
config => {
nprogress.start();
const token = localStorage.getItem('token') || '';
config.headers.token = token;
return config;
},
error => {
error.data = {};
error.data.message = '服务器异常';
MSG.warn('服务器异常!请稍后再试!');
return Promise.resolve(error);
}
);
// 响应拦截器
service.interceptors.response.use(
response => {
nprogress.done();
if (response.data.code == 50006) {
MSG.warn('请登录再访问!');
setTimeout(() => {
window.location.href = '/';
}, 2000);
} else if (response.data.code == 50007) {
MSG.warn('登录过期,请重新登录!');
setTimeout(() => {
window.location.href = '/';
}, 2000);
}
const status = response.status;
let msg = '';
if (status < 200 || status >= 300) {
// 处理http错误,抛到业务代码
msg = showStatus(status);
if (typeof response.data === 'string') {
response.data = { msg };
} else {
response.data.msg = msg;
}
}
return response;
},
error => {
// 错误抛到业务代码
error.data = {};
error.data.msg = '请求超时或服务器异常,请检查网络或联系管理员!';
return Promise.resolve(error);
}
); |
|
最新喜欢:
|