import axios from 'axios'
let BASE_API = ""
if (process.env.NODE_ENV === "development") {
BASE_API = "aaaa"
}else {
BASE_API = "bbb"
}
export default function $axios(options) {
return new Promise((resolve, reject) => {
const instance = axios.create({
baseURL: BASE_API,
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
},
timeout: 5000
});
// request 拦截器
instance.interceptors.request.use(
config => {
//在发送之前做点什么
// let auth_token = Cookies.get('auth_token');
// if (auth_token) {
// config.headers.auth_token = auth_token;
// } else {
// let loginpage = Cookies.get('loginpage');
// if (loginpage) {
// // router.push('/login');
// }
// }
// if (config.method === 'post') {}
return config;
},
error => {
// 判断请求超时
if (error.code === 'ECONNABORTED' && error.message.indexOf('timeout') !== -1) {
console.log("信号不好,请求超时")
}
}
);
// response 拦截器
instance.interceptors.response.use(
response => {
//对响应数据做点什么
let data;
if (response.data == undefined) {
data = JSON.parse(response.request.responseText);
} else {
data = response.data;
}
return data;
},
err => {
if (err && err.response) {
console.log(err)
}// 返回接口返回的错误信息
return Promise.reject(err);
}
);
// 请求处理
instance(options).then(res => {
resolve(res);
return false;
}).catch(error => {
reject(error);
});
});
}
axios封装(拿来就用)
猜你喜欢
转载自blog.csdn.net/ljy_1024/article/details/111312443
今日推荐
周排行