From 5d43b461555e4be2ce76caeeabefd71f0bc3bdb8 Mon Sep 17 00:00:00 2001 From: 16337 <1633794139@qq.com> Date: Fri, 13 Feb 2026 16:07:25 +0800 Subject: [PATCH] =?UTF-8?q?debug(aiot):=20=E6=B7=BB=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=97=B6=E9=97=B4=E5=8F=82=E6=95=B0=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E7=9A=84=E8=AF=A6=E7=BB=86=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:用户保存工作时间参数时提示"参数保存失败" 调试:添加详细console日志帮助排查问题 - 显示保存前的原始数据 - 显示参数验证过程 - 显示working_hours格式检查 - 显示请求payload - 显示完整的错误响应 使用:打开浏览器F12控制台查看日志 --- .../roi/components/AlgorithmParamEditor.vue | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue b/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue index 44499dd42..073a4f6bf 100644 --- a/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue +++ b/apps/web-antd/src/views/aiot/device/roi/components/AlgorithmParamEditor.vue @@ -94,22 +94,34 @@ function isWorkingHoursField(key: string): boolean { async function handleSave() { try { + console.log('[算法参数保存] 开始保存,原始数据:', formData.value); + // 保存前验证参数 const validation = validateParams(formData.value); + console.log('[算法参数保存] 验证结果:', validation); + if (!validation.valid) { message.error(validation.error || '参数格式错误'); return; } - await updateAlgoParams({ + const paramsJson = JSON.stringify(formData.value); + console.log('[算法参数保存] JSON序列化后:', paramsJson); + + const payload = { bindId: props.bindId, - params: JSON.stringify(formData.value), - }); + params: paramsJson, + }; + console.log('[算法参数保存] 发送请求:', payload); + + await updateAlgoParams(payload); message.success('参数保存成功'); emit('saved', formData.value); emit('update:open', false); } catch (error: any) { - console.error('保存失败:', error); + console.error('[算法参数保存] 保存失败,完整错误:', error); + console.error('[算法参数保存] 错误响应:', error?.response); + // 改进错误提示:显示后端返回的具体错误信息 const errorMsg = error?.response?.data?.msg || error?.response?.data?.message || @@ -151,18 +163,30 @@ function validateParams(params: Record): { // 特殊校验 working_hours 格式 if (key === 'working_hours' && value.length > 0) { + console.log('[working_hours 验证] 当前值:', value); + console.log('[working_hours 验证] 值类型:', typeof value); + console.log('[working_hours 验证] 是否数组:', Array.isArray(value)); + const isValid = value.every( - (item: any) => - typeof item === 'object' && - typeof item.start === 'string' && - typeof item.end === 'string', + (item: any, index: number) => { + const valid = typeof item === 'object' && + typeof item.start === 'string' && + typeof item.end === 'string'; + if (!valid) { + console.error(`[working_hours 验证] 第 ${index} 项格式错误:`, item); + } + return valid; + } ); + if (!isValid) { return { valid: false, - error: '工作时间段格式错误,每项需包含 start 和 end', + error: '工作时间段格式错误,每项需包含 start 和 end 字符串', }; } + + console.log('[working_hours 验证] 格式正确 ✓'); } } }