From cf699c9980606da5a261f3999cc8c831beed8e06 Mon Sep 17 00:00:00 2001 From: claw_bot Date: Sat, 14 Mar 2026 11:07:53 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=AD=96=E7=95=A5=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=20config=20=E5=8F=8C=E5=B1=82=E8=BD=AC?= =?UTF-8?q?=E4=B9=89=E8=A7=A3=E6=9E=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 参考 config.vue 的解析逻辑 - 处理后端双重序列化导致的字符串嵌套问题 - 先解析一次,如果还是字符串则再解析一次 --- pages/strategies/edit/edit.vue | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pages/strategies/edit/edit.vue b/pages/strategies/edit/edit.vue index e0a7cc2..dc28857 100755 --- a/pages/strategies/edit/edit.vue +++ b/pages/strategies/edit/edit.vue @@ -511,17 +511,22 @@ const loadStrategyDetail = async (id) => { // 根据策略类型填充参数 let params = {}; - if (data.parameters) { - params = data.parameters; - console.log('📊 从 parameters 获取参数:', params); - } else if (data.config) { + if (data.config) { try { - params = typeof data.config === 'string' ? JSON.parse(data.config) : data.config; + let config = typeof data.config === 'string' ? JSON.parse(data.config) : data.config; + // 如果解析后还是字符串,再解析一次(处理双层转义) + if (typeof config === 'string') { + config = JSON.parse(config); + } + params = config; console.log('📊 从 config 解析参数:', params); } catch (e) { console.error('📊 config 解析失败:', e, '原始值:', data.config); params = {}; } + } else if (data.parameters) { + params = data.parameters; + console.log('📊 从 parameters 获取参数:', params); } console.log('📊 策略类型:', data.type, '参数:', JSON.stringify(params));