`
/* eslint-disable guard-for-in */
/* eslint-disable no-restricted-syntax */
import axios from 'axios';
// let baseUrl = null;
// if (process.env.NODE_ENV === 'production') {
// baseUrl = 'http://172.16.10.30:8088';
// } else {
// baseUrl = 'http://10.88.9.222:8088';
// // baseUrl = 'http://10.80.93.142:8088'; // 无效
// }
// axios.defaults.baseURL = baseUrl;
axios.interceptors.request.use(
(config) =>
// console.log(config);
config,
(error) =>
// console.log(error);
Promise.reject(error),
);
axios.interceptors.response.use(
(response) => {
const { data, status } = response;
// console.log(response);
if (status === 200) {
return data;
}
return Promise.reject(new Error(data.error || 'Error'));
},
(error) =>
// console.log(error);
Promise.reject(error),
);
export const getRequest = (url, data) => {
const config = {
method: 'GET',
url,
headers: {
'Content-Type': 'application/json',
},
params: data,
};
return axios(config);
};
export const postRequest = (url, data) => {
const config = {
method: 'POST',
url,
headers: {
'Content-Type': 'application/json',
},
data,
};
return axios(config);
};
export const formDataRequest = (url, data) => {
const config = {
method: 'POST',
url,
transformRequest: [
(oldData) => {
// console.log(oldData)
let newStr = '';
for (const item in oldData) {
newStr += `${encodeURIComponent(item)}=${encodeURIComponent(
oldData[item],
)}&`;
}
newStr = newStr.slice(0, -1);
return newStr;
},
],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
data,
};
return axios(config);
};
`
这种方式与request的区别,需要自己总结,很相似