import request from '@/utils/request' import { AxiosRequestConfig, AxiosPromise } from 'axios' export default class ApiService { public static Get(url: string, baseUrl = process.env.VUE_APP_BASE_API): Promise { return this.HttpRequest({ baseURL: baseUrl, url: url, method: 'GET' }) } public static Post(url: string, payload: any, baseUrl = process.env.VUE_APP_BASE_API): Promise { return this.HttpRequest({ baseURL: baseUrl, url: url, method: 'POST', data: payload }) } public static Patch(url: string, payload: any, baseUrl = process.env.VUE_APP_BASE_API): Promise { return this.HttpRequest({ baseURL: baseUrl, url: url, method: 'PATCH', data: payload }) } public static Put(url: string, payload: any, baseUrl = process.env.VUE_APP_BASE_API): Promise { return this.HttpRequest({ baseURL: baseUrl, url: url, method: 'PUT', data: payload }) } public static Delete(url: string, baseUrl = process.env.VUE_APP_BASE_API) { return request({ baseURL: baseUrl, url: url, method: 'DELETE' }) } public static HttpRequestWithOriginResponse(options: AxiosRequestConfig): AxiosPromise { return request(options) } public static HttpRequest(options: AxiosRequestConfig): Promise { return new Promise((resolve, reject) => { request(options).then(res => { resolve(res.data) }).catch(error => { reject(error) }) }) } }