import { service } from './service' import { config } from './config' const { default_headers } = config const request = (option: any) => { const { headersType, headers, ...otherOption } = option return service({ ...otherOption, headers: { 'Content-Type': headersType || default_headers, ...headers } }) } export default { get: async (option: any) => { const res = await request({ method: 'GET', ...option }) return res.data as unknown as T }, post: async (option: any) => { const res = await request({ method: 'POST', ...option }) return res.data as unknown as T }, postOriginal: async (option: any) => { const res = await request({ method: 'POST', ...option }) return res }, delete: async (option: any) => { const res = await request({ method: 'DELETE', ...option }) return res.data as unknown as T }, put: async (option: any) => { const res = await request({ method: 'PUT', ...option }) return res.data as unknown as T }, download: async (option: any) => { const res = await request({ method: 'GET', responseType: 'blob', ...option }) return res as unknown as Promise }, upload: async (option: any) => { option.headersType = 'multipart/form-data' const res = await request({ method: 'POST', ...option }) return res as unknown as Promise } }