140 lines
3.8 KiB
JavaScript
140 lines
3.8 KiB
JavaScript
import axios from 'axios'
|
|
import {server} from "./env";
|
|
import {message} from 'antd';
|
|
import {getHeaders} from "../utils/utils";
|
|
|
|
// 测试地址
|
|
// axios.defaults.baseURL = server;
|
|
// 线上地址
|
|
axios.defaults.baseURL = server;
|
|
|
|
const handleError = (error) => {
|
|
if ("Network Error" === error.toString()) {
|
|
message.error('网络异常');
|
|
return false;
|
|
}
|
|
if (error.response !== undefined && error.response.status === 401) {
|
|
window.location.href = '#/login';
|
|
return false;
|
|
}
|
|
if (error.response !== undefined) {
|
|
message.error(error.response.data.message);
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
|
|
const handleResult = (result) => {
|
|
if (result['code'] === 401) {
|
|
window.location.href = '#/login';
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
const request = {
|
|
|
|
get: function (url) {
|
|
const headers = getHeaders();
|
|
|
|
return new Promise((resolve, reject) => {
|
|
axios.get(url, {headers: headers})
|
|
.then((response) => {
|
|
if (!handleResult(response.data)) {
|
|
return;
|
|
}
|
|
resolve(response.data);
|
|
})
|
|
.catch((error) => {
|
|
if (!handleError(error)) {
|
|
return;
|
|
}
|
|
reject(error);
|
|
});
|
|
})
|
|
},
|
|
|
|
post: function (url, params) {
|
|
|
|
const headers = getHeaders();
|
|
|
|
return new Promise((resolve, reject) => {
|
|
axios.post(url, params, {headers: headers})
|
|
.then((response) => {
|
|
if (!handleResult(response.data)) {
|
|
return;
|
|
}
|
|
resolve(response.data);
|
|
})
|
|
.catch((error) => {
|
|
if (!handleError(error)) {
|
|
return;
|
|
}
|
|
reject(error);
|
|
});
|
|
})
|
|
},
|
|
|
|
put: function (url, params) {
|
|
|
|
const headers = getHeaders();
|
|
|
|
return new Promise((resolve, reject) => {
|
|
axios.put(url, params, {headers: headers})
|
|
.then((response) => {
|
|
if (!handleResult(response.data)) {
|
|
return;
|
|
}
|
|
resolve(response.data);
|
|
})
|
|
.catch((error) => {
|
|
if (!handleError(error)) {
|
|
return;
|
|
}
|
|
reject(error);
|
|
});
|
|
})
|
|
},
|
|
|
|
delete: function (url) {
|
|
const headers = getHeaders();
|
|
|
|
return new Promise((resolve, reject) => {
|
|
axios.delete(url, {headers: headers})
|
|
.then((response) => {
|
|
if (!handleResult(response.data)) {
|
|
return;
|
|
}
|
|
resolve(response.data);
|
|
})
|
|
.catch((error) => {
|
|
if (!handleError(error)) {
|
|
return;
|
|
}
|
|
reject(error);
|
|
});
|
|
})
|
|
},
|
|
|
|
patch: function (url, params) {
|
|
const headers = getHeaders();
|
|
|
|
return new Promise((resolve, reject) => {
|
|
axios.patch(url, params, {headers: headers})
|
|
.then((response) => {
|
|
if (!handleResult(response.data)) {
|
|
return;
|
|
}
|
|
resolve(response.data);
|
|
})
|
|
.catch((error) => {
|
|
if (!handleError(error)) {
|
|
return;
|
|
}
|
|
reject(error);
|
|
});
|
|
})
|
|
},
|
|
};
|
|
export default request
|