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) => {
|
}
|
)
|
// 响应
|
api.interceptors.response.use(
|
(response) => {
|
let result = response.data;
|
if (response.headers['content-disposition']) {
|
result = {
|
contentDisposition: response.headers['content-disposition'],
|
data: response.data
|
}
|
}
|
if (response.status === 200 && result.code === 200) {
|
return result;
|
} else if (response.status === 200 && result.code === 500) {
|
return result;
|
} else if (response.status === 200 && result.code === 401) {
|
tip.Message({
|
type: 'warning',
|
message: '登录身份已过期',
|
})
|
router.push('/login');
|
} else {
|
return result;
|
}
|
},
|
(error) => {
|
let msg =''
|
if (error.code === 'ERR_NETWORK') {
|
msg = '网络请求超时'
|
}else{
|
msg = '网络错误'
|
}
|
tip.Message({
|
type: 'error',
|
message: msg
|
})
|
},
|
)
|
export default api;
|