diff --git a/relay/channel/gemini/relay-gemini-native.go b/relay/channel/gemini/relay-gemini-native.go index 29544d1e..5725a53a 100644 --- a/relay/channel/gemini/relay-gemini-native.go +++ b/relay/channel/gemini/relay-gemini-native.go @@ -108,11 +108,10 @@ func GeminiTextGenerationStreamHandler(c *gin.Context, info *relaycommon.RelayIn // 直接发送 GeminiChatResponse 响应 err = helper.StringData(c, data) - info.SendResponseCount++ if err != nil { common.LogError(c, err.Error()) } - + info.SendResponseCount++ return true }) diff --git a/web/src/components/common/JSONEditor.js b/web/src/components/common/JSONEditor.js index d0c159b2..649d5a58 100644 --- a/web/src/components/common/JSONEditor.js +++ b/web/src/components/common/JSONEditor.js @@ -65,7 +65,8 @@ const JSONEditor = ({ const keyCount = Object.keys(parsed).length; return keyCount > 10 ? 'manual' : 'visual'; } catch (error) { - return 'visual'; + // JSON无效时默认显示手动编辑模式 + return 'manual'; } } return 'visual'; @@ -201,6 +202,18 @@ const JSONEditor = ({ // 渲染键值对编辑器 const renderKeyValueEditor = () => { + if (typeof jsonData !== 'object' || jsonData === null) { + return ( +
+
+ +
+ + {t('无效的JSON数据,请检查格式')} + +
+ ); + } const entries = Object.entries(jsonData); return (