Files
next-terminal/web/src/common/request.js
dushixiang 11d3dc167b - 修复无法查看原生会话录屏的bug
- 优化列表显示的时间
- 优化获取开发环境的方式
2021-02-20 17:03:32 +08:00

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