refactor: 优化导出下载功能

This commit is contained in:
秋帆
2024-04-10 22:40:29 +08:00
parent 63da55ab03
commit 2f29a6e81c
6 changed files with 92 additions and 12 deletions

View File

@@ -61,7 +61,9 @@ http.interceptors.response.use(
(response: AxiosResponse) => {
const { data } = response
const { success, code, msg } = data
if(response.request.responseType==='blob'){
return response
}
// 成功
if (success) {
NProgress.done()
@@ -122,6 +124,7 @@ const requestNative = <T = unknown>(config: AxiosRequestConfig): Promise<AxiosRe
return new Promise((resolve, reject) => {
http
.request<T>(config)
.then((res: AxiosResponse) => resolve(res))
.catch((err: { msg: string }) => reject(err))
})
}
@@ -173,5 +176,13 @@ const del = <T = any>(url: string, params?: object, config?: AxiosRequestConfig)
...config
})
}
export default { get, post, put, patch, del, request, requestNative }
const download = <T = any>(url: string, params?: object, config?: AxiosRequestConfig): Promise<AxiosResponse> => {
return requestNative({
method: 'get',
url,
responseType: 'blob',
params,
...config
})
}
export default { get, post, put, patch, del, request, requestNative,download }