提交 d8e307f7 作者: 方治民

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

上级 4620437f
流水线 #495 已通过 于阶段
in 1 分 44 秒
...@@ -138,15 +138,44 @@ export class VAxios { ...@@ -138,15 +138,44 @@ export class VAxios {
}) })
} }
return this.axiosInstance.request<T>({ const transform = this.getTransform()
...config, const { requestOptions } = this.options
method: 'POST', const { transformRequestHook, requestCatchHook } = transform || {}
data: formData,
headers: { return new Promise((resolve, reject) => {
'Content-type': ContentTypeEnum.FORM_DATA, this.axiosInstance
// @ts-ignore .request<T>({
ignoreCancelToken: true, ...config,
}, method: 'POST',
data: formData,
headers: {
'Content-type': ContentTypeEnum.FORM_DATA,
// @ts-ignore
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)
})
}) })
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论