这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

61 lines
1.5 KiB

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