From 1e8d25b031bc218dee43baeaf0683b190eede54b Mon Sep 17 00:00:00 2001 From: icarus Date: Thu, 4 Sep 2025 01:30:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF=E5=9D=97=E4=B8=AD=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正错误块组件中错误信息的显示问题: 1. 修复BuiltinError组件中错误名称显示为消息的问题 2. 修复AiSdkError组件中原因显示为消息的问题 3. 修复AiApiCallError组件中各种字段显示为消息的问题 4. 使用CodeViewer组件正确显示JSON格式数据 5. 移除CodeViewer组件中不必要的children属性 6. 设置serialize默认pretty为true --- src/renderer/src/components/CodeViewer.tsx | 1 - .../pages/home/Messages/Blocks/ErrorBlock.tsx | 25 ++++++++++--------- src/renderer/src/utils/serialize.ts | 3 ++- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/renderer/src/components/CodeViewer.tsx b/src/renderer/src/components/CodeViewer.tsx index 599e2d5afd..ac7a14e0ac 100644 --- a/src/renderer/src/components/CodeViewer.tsx +++ b/src/renderer/src/components/CodeViewer.tsx @@ -19,7 +19,6 @@ interface CodeViewerProps { * - Supports shiki aliases: c#/csharp, objective-c++/obj-c++/objc++, etc. */ language: string - children: React.ReactNode onHeightChange?: (scrollHeight: number) => void /** * Height of the scroll container. diff --git a/src/renderer/src/pages/home/Messages/Blocks/ErrorBlock.tsx b/src/renderer/src/pages/home/Messages/Blocks/ErrorBlock.tsx index 0d2a600d37..3d9a25cb51 100644 --- a/src/renderer/src/pages/home/Messages/Blocks/ErrorBlock.tsx +++ b/src/renderer/src/pages/home/Messages/Blocks/ErrorBlock.tsx @@ -258,7 +258,7 @@ const BuiltinError = ({ error }: { error: SerializedError }) => { {error.name && ( {t('error.name')}: - {error.message} + {error.name} )} {error.message && ( @@ -282,14 +282,14 @@ const BuiltinError = ({ error }: { error: SerializedError }) => { // 作为 base,渲染公共字段,应当在 ErrorDetailList 中渲染 const AiSdkError = ({ error }: { error: SerializedAiSdkError }) => { const { t } = useTranslation() - const cause = safeToString(error.cause) + const cause = error.cause return ( <> {cause && ( {t('error.cause')}: - {error.message} + {error.cause} )} @@ -317,38 +317,39 @@ const AiApiCallError = ({ error }: { error: SerializedAiSdkAPICallError }) => { {requestBodyValues && ( {t('error.requestBodyValues')}: - {error.message} + )} {error.statusCode && ( {t('error.statusCode')}: - {error.message} + {error.statusCode} )} {error.responseHeaders && ( {t('error.responseHeaders')}: - {error.message} + )} {error.responseBody && ( {t('error.responseBody')}: - - {JSON.stringify(error.responseBody, null, 2)} - + )} {data && ( {t('error.data')}: - -
{error.stack}
-
+
)} diff --git a/src/renderer/src/utils/serialize.ts b/src/renderer/src/utils/serialize.ts index 862545647c..bc29b994ea 100644 --- a/src/renderer/src/utils/serialize.ts +++ b/src/renderer/src/utils/serialize.ts @@ -21,11 +21,12 @@ export function safeSerialize( /** * 是否美化输出 + * @default true */ pretty?: boolean } = {} ): string | null { - const { onError = 'serialize', pretty = false } = options + const { onError = 'serialize', pretty = true } = options const space = pretty ? 2 : undefined // 1. 如果本身就是合法的 Serializable 值,直接序列化