This commit is contained in:
2025-12-05 14:59:37 +08:00
parent 1af9e037bc
commit 069ce39ca1
3 changed files with 63 additions and 9 deletions

View File

@@ -1058,6 +1058,33 @@ const getRequestUrl = () => {
return `${baseUrl}/api/v1/${selectedProduct.value.code}`
}
// 根据字段类型转换数据
const convertFieldTypes = (data) => {
if (!formFields.value || formFields.value.length === 0) {
return data
}
const processedData = { ...data }
formFields.value.forEach(field => {
const value = processedData[field.name]
// 如果字段值为空字符串、null 或 undefined跳过转换
if (value === '' || value === null || value === undefined) {
return
}
// 根据字段类型进行转换
if (field.type === 'number') {
// 将字符串转换为数字(整数)
const numValue = parseInt(value, 10)
if (!isNaN(numValue)) {
processedData[field.name] = numValue
}
}
})
return processedData
}
// 加密参数
const encryptParams = async () => {
if (!canDebug.value) {
@@ -1089,8 +1116,14 @@ const encryptWithAES = async (data, secretKey) => {
try {
console.log('开始调用后端加密接口,参数:', data, '密钥:', secretKey)
// 解析JSON字符串如果是字符串
let parsedData = typeof data === 'string' ? JSON.parse(data) : data
// 根据字段类型进行类型转换
parsedData = convertFieldTypes(parsedData)
// 使用项目的标准API调用方式传递密钥参数
const result = await apiApi.encryptParams(typeof data === 'string' ? JSON.parse(data) : data, secretKey)
const result = await apiApi.encryptParams(parsedData, secretKey)
console.log('加密接口响应数据:', result)
@@ -1155,8 +1188,9 @@ const handleDebug = async () => {
return
}
// 将表单数据转换为JSON格式
debugForm.params = JSON.stringify(formData.value, null, 2)
// 将表单数据转换为JSON格式,并根据字段类型进行类型转换
const processedData = convertFieldTypes(formData.value)
debugForm.params = JSON.stringify(processedData, null, 2)
} else {
// 原有的JSON验证逻辑
if (!validateJsonParams()) {