diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts index f204185045e8412e065565c2440103b2a2b7ee65..bdd195624ba458f416207ff10c6bbae5c32d46e0 100644 --- a/src/utils/http/axios/index.ts +++ b/src/utils/http/axios/index.ts @@ -61,6 +61,7 @@ const transform: AxiosTransform = { switch (code) { case ResultEnum.TIMEOUT: timeoutMsg = t('sys.api.timeoutMessage'); + break; default: if (message) { timeoutMsg = message; @@ -90,6 +91,8 @@ const transform: AxiosTransform = { config.url = `${apiUrl}${config.url}`; } const params = config.params || {}; + const data = config.data || false; + formatDate && data && !isString(data) && formatRequestDate(data); if (config.method?.toUpperCase() === RequestEnum.GET) { if (!isString(params)) { // 给 get 请求加上时间戳参数,避免从缓存中拿数据。 @@ -102,10 +105,19 @@ const transform: AxiosTransform = { } else { if (!isString(params)) { formatDate && formatRequestDate(params); - config.data = params; - config.params = undefined; + if (Reflect.has(config, 'data') && config.data && Object.keys(config.data).length > 0) { + config.data = data; + config.params = params; + } else { + // 非GET请求如果没有提供data,则将params视为data + config.data = params; + config.params = undefined; + } if (joinParamsToUrl) { - config.url = setObjToUrlParams(config.url as string, config.data); + config.url = setObjToUrlParams( + config.url as string, + Object.assign({}, config.params, config.data) + ); } } else { // 兼容restful风格