41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import service from './service'
|
|
|
|
import config from './config'
|
|
|
|
const { defaultHeaders } = config
|
|
|
|
const request = (option: AxiosConfig) => {
|
|
const { url, method, params, data, headersType, responseType } = option
|
|
return service.request({
|
|
url: url,
|
|
method,
|
|
params,
|
|
data,
|
|
responseType: responseType,
|
|
headers: {
|
|
'Content-Type': headersType || defaultHeaders
|
|
}
|
|
})
|
|
}
|
|
|
|
export default {
|
|
get: <T = any>(option: AxiosConfig) => {
|
|
return request({ method: 'get', ...option }) as Promise<IResponse<T>>
|
|
},
|
|
post: <T = any>(option: AxiosConfig) => {
|
|
return request({ method: 'post', ...option }) as Promise<IResponse<T>>
|
|
},
|
|
delete: <T = any>(option: AxiosConfig) => {
|
|
return request({ method: 'delete', ...option }) as Promise<IResponse<T>>
|
|
},
|
|
put: <T = any>(option: AxiosConfig) => {
|
|
return request({ method: 'put', ...option }) as Promise<IResponse<T>>
|
|
},
|
|
cancelRequest: (url: string | string[]) => {
|
|
return service.cancelRequest(url)
|
|
},
|
|
cancelAllRequest: () => {
|
|
return service.cancelAllRequest()
|
|
}
|
|
}
|