From 7bb5b4f8348061f4637322af6836253cd5a33ab0 Mon Sep 17 00:00:00 2001
From: xuncha <1658671838@qq.com>
Date: Sat, 25 Apr 2026 14:11:41 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dchatlab=E6=8E=A8=E9=80=81?=
=?UTF-8?q?=E6=90=BA=E5=B8=A6wxid?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
electron/services/httpService.ts | 10 ++++++++--
electron/services/messagePushService.ts | 10 ++++++++--
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/electron/services/httpService.ts b/electron/services/httpService.ts
index 863ed80..5715486 100644
--- a/electron/services/httpService.ts
+++ b/electron/services/httpService.ts
@@ -2045,6 +2045,12 @@ class HttpService {
* 获取消息内容
*/
private getMessageContent(msg: Message): string | null {
+ const normalizeTextContent = (value: string | null | undefined): string | null => {
+ const text = String(value || '')
+ if (!text) return null
+ return text.replace(/^[\s]*([a-zA-Z0-9_@-]+):(?!\/\/)(?:\s*(?:\r?\n|
)\s*|\s*)/i, '').trim()
+ }
+
if (msg.localType === 49) {
return this.getType49Content(msg)
}
@@ -2057,7 +2063,7 @@ class HttpService {
// 根据类型返回占位符
switch (msg.localType) {
case 1:
- return msg.rawContent || null
+ return normalizeTextContent(msg.parsedContent || msg.rawContent)
case 3:
return '[图片]'
case 34:
@@ -2073,7 +2079,7 @@ class HttpService {
case 49:
return this.getType49Content(msg)
default:
- return msg.rawContent || null
+ return normalizeTextContent(msg.parsedContent || msg.rawContent) || null
}
}
diff --git a/electron/services/messagePushService.ts b/electron/services/messagePushService.ts
index cacdcf4..8a8c888 100644
--- a/electron/services/messagePushService.ts
+++ b/electron/services/messagePushService.ts
@@ -1325,13 +1325,19 @@ class MessagePushService {
}
private getMessageDisplayContent(message: Message): string | null {
+ const normalizeTextContent = (value: string | null | undefined): string | null => {
+ const text = String(value || '')
+ if (!text) return null
+ return text.replace(/^[\s]*([a-zA-Z0-9_@-]+):(?!\/\/)(?:\s*(?:\r?\n|
)\s*|\s*)/i, '').trim()
+ }
+
const cleanOfficialPrefix = (value: string | null): string | null => {
if (!value) return value
return value.replace(/^\s*\[视频号\]\s*/u, '').trim() || value
}
switch (Number(message.localType || 0)) {
case 1:
- return cleanOfficialPrefix(message.rawContent || null)
+ return cleanOfficialPrefix(normalizeTextContent(message.parsedContent || message.rawContent))
case 3:
return '[图片]'
case 34:
@@ -1347,7 +1353,7 @@ class MessagePushService {
case 49:
return cleanOfficialPrefix(message.linkTitle || message.fileName || '[消息]')
default:
- return cleanOfficialPrefix(message.parsedContent || message.rawContent || null)
+ return cleanOfficialPrefix(normalizeTextContent(message.parsedContent || message.rawContent) || null)
}
}