37 lines
918 B
TypeScript
37 lines
918 B
TypeScript
import axios, { AxiosRequestConfig } from 'axios'
|
|
export interface IReqData {
|
|
url: string
|
|
method?: string
|
|
data?: any
|
|
headers?: any
|
|
}
|
|
export class NetClient {
|
|
httpGet(reqData: IReqData | string): Promise<any> {
|
|
let opt: AxiosRequestConfig = { method: 'get' }
|
|
if (typeof reqData == 'string') {
|
|
opt.url = reqData
|
|
} else {
|
|
Object.assign(opt, reqData)
|
|
}
|
|
return this.request(opt)
|
|
}
|
|
httpPost(data: IReqData): Promise<any> {
|
|
let reqData: AxiosRequestConfig = {
|
|
method: 'post',
|
|
}
|
|
Object.assign(reqData, data)
|
|
return this.request(reqData)
|
|
}
|
|
|
|
async request(data: AxiosRequestConfig): Promise<any> {
|
|
let defaultCfg: AxiosRequestConfig = {
|
|
method: 'get',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
}
|
|
Object.assign(defaultCfg, data)
|
|
// console.log(defaultCfg)
|
|
const res = await axios(defaultCfg)
|
|
return res.data
|
|
}
|
|
}
|