wallet-svr/src/net/NetClient.ts

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
}
}