import axios from 'axios'
import 'nprogress/nprogress.css'
//第二步:创建一个新的axios对象[包含一些其余配置项]
let request = axios.create({
baseURL: '/api', //基础路径,将来发请求的时候在路径当中都带有/api
timeout: 5000, //超时的时间的设置
headers: {
'Content-Type': 'application/json',
},
});
//请求拦截器
request.interceptors.request.use((config) => {
return config;
},
(error) => {
return Promise.reject(error);
}
);
//响应拦截器:use回调 响应成功回调 响应失败的回调
request.interceptors.response.use((res) => {
return res.data; //简化服务器返回的数据
}, (err) => {
//服务器数据:成功、失败。失败处理也很重要
//存在代理跨域没有设置
if (err.code == "ERR_NETWORK") {
alert('兄弟代理跨域你没整')
}
//响应失败的回调---终止Promise链即可
//响应失败的判断可以在这里处理
return new Promise(() => {}); //终止Promise,返回一个pending类型Promise对象
});
//对外暴露
export default axios;
1,引入axios
2,创建一个axios对象
3,书写请求拦截器
4,书写响应拦截器
5,对外暴露