something new

This commit is contained in:
2020-06-11 05:08:58 +03:00
parent 54b36e7981
commit 6e40dfc101
22 changed files with 164 additions and 99 deletions
+2 -27
View File
@@ -1,10 +1,3 @@
import axios, { AxiosError } from 'axios';
export const http = axios.create({
baseURL: process.env.NODE_ENV === "development" ? 'http://localhost:8080/v1' : 'https://api.unmei.nix13.pw/v1',
withCredentials: true
});
const baseUrl = process.env.NODE_ENV === "development" ? 'http://localhost:8080/v1' : 'https://api.unmei.nix13.pw/v1';
export const response = async (url: string, method: string, body?: any) => {
@@ -28,31 +21,11 @@ export const response = async (url: string, method: string, body?: any) => {
return Promise.resolve(json.data);
}
http.interceptors.response.use(undefined, (error: AxiosError) => {
if(error.response) {
if(error.response?.status === 429) {
return new Promise(res => {
setTimeout(res.bind(null, http.request(error.config)), 1000)
});
} else {
if(error.response.data.error_data)
return Promise.reject(error.response.data.error_data);
}
} else {
console.error(error);
}
});
const get = (url: string, data?: object) => response(url, 'GET', data);
const post = (url: string, data?: object) => response(url, 'POST', data);
const put = (url: string, data?: object) => response(url, 'PUT', data);
const del = (url: string, data?: object) => response(url, 'DELETE', data);
// const get = (url: string, data?: object) => http.get(url, data).then(r => r?.data?.data);
// const post = (url: string, data?: object) => http.post(url, data).then(r => r?.data.data);
// const put = (url: string, data?: object) => http.put(url, data).then(r => r?.data.data);
// const del = (url: string, data?: object) => http.delete(url, data).then(r => r?.data.data);
const TranslateStatus: { [id: string]: string } = {
planned: 'Запланировано',
completed: 'Пройдено',
@@ -61,4 +34,6 @@ const TranslateStatus: { [id: string]: string } = {
deferred: 'Отложено'
};
export const getVersion = () => get('version');
export { get, post, put, del, TranslateStatus };