import axios, { AxiosRequestConfig } from 'axios' export interface IReqData { url: string method?: string data?: any headers?: any } export class NetClient { httpGet(reqData: IReqData | string): Promise { 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 { let reqData: AxiosRequestConfig = { method: 'post', } Object.assign(reqData, data) return this.request(reqData) } async request(data: AxiosRequestConfig): Promise { 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 } }