提交 d8e307f7 作者: 方治民

feat: 添加文件上传拦截处理

上级 4620437f
流水线 #495 已通过 于阶段
in 1 分 44 秒
...@@ -138,7 +138,13 @@ export class VAxios { ...@@ -138,7 +138,13 @@ export class VAxios {
}) })
} }
return this.axiosInstance.request<T>({ const transform = this.getTransform()
const { requestOptions } = this.options
const { transformRequestHook, requestCatchHook } = transform || {}
return new Promise((resolve, reject) => {
this.axiosInstance
.request<T>({
...config, ...config,
method: 'POST', method: 'POST',
data: formData, data: formData,
...@@ -148,6 +154,29 @@ export class VAxios { ...@@ -148,6 +154,29 @@ export class VAxios {
ignoreCancelToken: true, ignoreCancelToken: true,
}, },
}) })
.then((res: AxiosResponse<Result>) => {
if (transformRequestHook && isFunction(transformRequestHook)) {
try {
const ret = transformRequestHook(res, requestOptions)
resolve(ret)
} catch (err) {
reject(err || new Error('request error!'))
}
return
}
resolve(res as unknown as Promise<T>)
})
.catch((e: Error | AxiosError) => {
if (requestCatchHook && isFunction(requestCatchHook)) {
reject(requestCatchHook(e, requestOptions))
return
}
if (axios.isAxiosError(e)) {
// rewrite error message from axios in here
}
reject(e)
})
})
} }
// support form-data // support form-data
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论