import axios from 'axios';
|
import router from '@/router'
|
// 引入elementUI
|
import tip from 'element-ui';
|
const api = axios.create({
|
baseURL: '/', // 请求的公共地址部分
|
timeout: 15000
|
})
|
// 拦截器
|
// 请求
|
api.interceptors.request.use((config) => {
|
const token = sessionStorage.getItem('token');
|
const tokenHead = sessionStorage.getItem('tokenHead');
|
if (token && tokenHead) {
|
config.headers.Authorization = tokenHead + token;
|
}
|
return config;
|
}, (err) => {
|
console.log(err);
|
}
|
)
|
// 响应
|
api.interceptors.response.use(
|
function handleResponseSuccess(response) {
|
const result = response.data;
|
if (response.status === 200 && result.code === 200) {
|
return result;
|
} else if (result.code=== 401) {
|
console.log(result);
|
tip.Message({
|
type: 'warning',
|
message: '登录身份已过期',
|
})
|
router.push('/login');
|
return;
|
}else if(result.code === 500){
|
tip.Message({
|
type: 'error',
|
message: '网络请求出错',
|
})
|
return;
|
}
|
},
|
function (error) {
|
console.log(error);
|
if(error.code === "ECONNABORTED"){
|
tip.Message({
|
type:'error',
|
message:'网络请求超市',
|
duration: 3 * 1000,
|
})
|
return;
|
}
|
}
|
)
|
export default api;
|