import { service } from '@/config/axios' import { AxiosPromise } from 'axios' import { config } from '@/config/axios/config' const { default_headers } = config const request = (option: AxiosConfig) => { const { url, method, params, data, headersType, responseType } = option return service({ url: url, method, params, data, responseType: responseType, headers: { 'Content-Type': headersType || default_headers } }) } function getFn(option: AxiosConfig): AxiosPromise { return request({ method: 'get', ...option }) } function postFn(option: AxiosConfig): AxiosPromise { return request({ method: 'post', ...option }) } function deleteFn(option: AxiosConfig): AxiosPromise { return request({ method: 'delete', ...option }) } function putFn(option: AxiosConfig): AxiosPromise { return request({ method: 'put', ...option }) } export const useAxios = () => { return { get: getFn, post: postFn, delete: deleteFn, put: putFn } }