From d7419669d688cc746e893f6727f2755010bbd0f9 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Thu, 5 Feb 2026 17:58:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=95=B0=E5=AD=97=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/annualReportService.ts | 4 +++- electron/services/chatService.ts | 4 +++- electron/services/dualReportService.ts | 4 +++- electron/services/exportService.ts | 3 ++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/electron/services/annualReportService.ts b/electron/services/annualReportService.ts index bc4d1ed..88d062e 100644 --- a/electron/services/annualReportService.ts +++ b/electron/services/annualReportService.ts @@ -193,7 +193,9 @@ class AnnualReportService { if (!raw) return '' if (typeof raw === 'string') { if (raw.length === 0) return '' - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + // 短字符串(如 "123456" 等纯数字)容易被误判为 hex + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) return this.decodeBinaryContent(bytes) } diff --git a/electron/services/chatService.ts b/electron/services/chatService.ts index 22670d0..eade809 100644 --- a/electron/services/chatService.ts +++ b/electron/services/chatService.ts @@ -2227,7 +2227,9 @@ class ChatService { if (raw.length === 0) return '' // 检查是否是 hex 编码 - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + // 短字符串(如 "123456" 等纯数字)容易被误判为 hex + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) { const result = this.decodeBinaryContent(bytes, raw) diff --git a/electron/services/dualReportService.ts b/electron/services/dualReportService.ts index a80c9e6..f62f947 100644 --- a/electron/services/dualReportService.ts +++ b/electron/services/dualReportService.ts @@ -106,7 +106,9 @@ class DualReportService { if (!raw) return '' if (typeof raw === 'string') { if (raw.length === 0) return '' - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + // 短字符串(如 "123456" 等纯数字)容易被误判为 hex + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) return this.decodeBinaryContent(bytes) } diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index b9823a5..c4fc8a7 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -270,7 +270,8 @@ class ExportService { if (/^[0-9]+$/.test(raw)) { return raw } - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) return this.decodeBinaryContent(bytes) }