import axios from "axios"
import qs from "qs"
switch (process.env.NODE_ENV) {
case 'production':
axios.defaults.baseURL = 'http"生产服务器地址.cn' 部署到服务器上的环境
break;
case 'test':
axios.defaults.baseURL = 'http"测试服务器地址.cn' 测试服务器的环境
break;
default:
axios.defaults.baseURL = 'http"默认地址.cn' 默认
}
axios.defaults.timeout = 毫秒; 延迟时间
axios.defaults.withCredentials = true 是否允许携带凭证
axios.defaults.headers['content-type'] = 'application/x-www-form-urlencoded'
axios.defaults.transformRequest[(data) => {
qs.stringify(data)
}]
axios.interceptors.request.use(config => {
const token = localStorage.getItem('token')
token && (config.headers.Authorization = token)
return config;
}, error => {
return Promise.reject(error);
});
服务器返回信息-- > 拦截统一处理-- > 客户端获取到信息
axios.defaults.validateStatus = status => {
return /^(2|3)\d{2}$/.test(status)
}
axios.interceptors.response.use(response => {
return response.data
}, err => {
let { response } = error;
if (response) {
switch (response.status) {
case 401:
break;
case 403:
break;
case 404:
break;
default:
break;
}
可以判断服务器返回结果了
} else {
if (!window.navigator.onLine) {
}
return Promise.reject(err);
}
})
export default axios;