This commit is contained in:
2026-03-30 21:08:24 +08:00
parent 25f3e8e989
commit 75149f994f

View File

@@ -1,6 +1,27 @@
import axios from 'axios' import axios from 'axios'
import { formatDate } from './tools' import { formatDate } from './tools'
/** 递归删除对象中值为空字符串的键(不修改数组内的空字符串元素) */
function stripEmptyStringKeys(value) {
if (value === null || value === undefined) {
return value
}
if (Array.isArray(value)) {
return value.map((item) => stripEmptyStringKeys(item))
}
if (typeof value === 'object' && Object.prototype.toString.call(value) === '[object Object]') {
const next = {}
for (const k of Object.keys(value)) {
const v = value[k]
if (v === '') {
continue
}
next[k] = stripEmptyStringKeys(v)
}
return next
}
return value
}
class Http { class Http {
constructor() { constructor() {
@@ -131,13 +152,18 @@ class Http {
} }
param = JSON.parse(JSON.stringify(param)) param = JSON.parse(JSON.stringify(param))
return param return stripEmptyStringKeys(param)
} }
formatFormDataParam(param) { formatFormDataParam(param) {
param = param || {}
let formData = new FormData() let formData = new FormData()
Object.keys(param).forEach(key => { Object.keys(param).forEach((key) => {
formData.append(key, param[key]) const v = param[key]
if (v === '') {
return
}
formData.append(key, v)
}) })
return formData return formData
} }