perf: request请求根据ContentType自动转换数据

This commit is contained in:
kailong321200875
2024-01-09 14:46:07 +08:00
parent da00f8b756
commit ef9aa62572
3 changed files with 29 additions and 3 deletions

View File

@@ -1,15 +1,21 @@
import service from './service'
import { CONTENT_TYPE } from '@/constants'
import { CONTENT_TYPE, TRANSFORM_REQUEST_DATA } from '@/constants'
import { useUserStoreWithOut } from '@/store/modules/user'
import { objToFormData } from '@/utils'
const request = (option: AxiosConfig) => {
const { url, method, params, data, headers, responseType } = option
// 是否需要转换数据格式
const transformData =
TRANSFORM_REQUEST_DATA &&
(headers?.['Content-Type'] || CONTENT_TYPE) === 'multipart/form-data' &&
data
const userStore = useUserStoreWithOut()
return service.request({
url: url,
method,
params,
data,
data: transformData ? objToFormData(data) : data,
responseType: responseType,
headers: {
'Content-Type': CONTENT_TYPE,