From 9c71237bdfca699dd8491d6f390a6c8cfc9671eb Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 2 Jan 2026 12:46:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=92=89=E9=92=89=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E4=BF=9D=E5=AD=98=E9=97=AE=E9=A2=98=EF=BC=9A=E7=A1=AE?= =?UTF-8?q?=E4=BF=9DenabledFeatures=E6=AD=A3=E7=A1=AE=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=88=B0=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=90=8E=E9=87=8D=E6=96=B0=E5=8A=A0=E8=BD=BD=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/designhub/controller/DingTalkController.java | 7 +++++-- frontend/src/views/Settings.vue | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/designhub/controller/DingTalkController.java b/backend/src/main/java/com/designhub/controller/DingTalkController.java index 80d6e6d..9fa1a84 100644 --- a/backend/src/main/java/com/designhub/controller/DingTalkController.java +++ b/backend/src/main/java/com/designhub/controller/DingTalkController.java @@ -55,13 +55,16 @@ public class DingTalkController { try { // 处理enabledFeatures字段 Object enabledFeaturesObj = configMap.get("enabledFeatures"); - String enabledFeaturesJson = null; + String enabledFeaturesJson = "{}"; // 默认为空JSON对象 if (enabledFeaturesObj != null) { if (enabledFeaturesObj instanceof String) { enabledFeaturesJson = (String) enabledFeaturesObj; - } else { + } else if (enabledFeaturesObj instanceof Map && !((Map) enabledFeaturesObj).isEmpty()) { // 转换为JSON字符串 enabledFeaturesJson = objectMapper.writeValueAsString(enabledFeaturesObj); + } else { + // 如果是空对象或null,使用空JSON对象 + enabledFeaturesJson = "{}"; } } diff --git a/frontend/src/views/Settings.vue b/frontend/src/views/Settings.vue index 9f357b7..474827d 100644 --- a/frontend/src/views/Settings.vue +++ b/frontend/src/views/Settings.vue @@ -2335,6 +2335,8 @@ const handleSaveDingTalk = async () => { await saveDingTalkConfig(configToSave as any) message.success('钉钉配置保存成功') + // 重新加载配置以确保UI同步 + await loadDingTalkConfig() } catch (error: any) { message.error(error.message || '保存失败') } finally {