From a3daf3f074e678e8bee917db45a99fe299d41171 Mon Sep 17 00:00:00 2001 From: pllx Date: Tue, 28 Apr 2026 11:02:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=AC=A2=E8=BF=8E?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=B8=AD=E7=9A=84=E5=8F=91=E9=80=81=E8=80=85?= =?UTF-8?q?=E5=90=8D=E5=AD=97=E6=94=B9=E4=B8=BA=E5=8F=AF=E7=82=B9=E5=87=BB?= =?UTF-8?q?=EF=BC=88=E4=BF=9D=E7=95=99=E8=81=8C=E5=8A=A1=E5=89=8D=E7=BC=80?= =?UTF-8?q?=E5=86=85=E7=9A=84=E5=90=8D=E5=AD=97=EF=BC=8C=E4=B8=8D=E9=A2=9D?= =?UTF-8?q?=E5=A4=96=E6=98=BE=E7=A4=BA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/js/chat-room/message-renderer.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/resources/js/chat-room/message-renderer.js b/resources/js/chat-room/message-renderer.js index 28d3282..9397f2b 100644 --- a/resources/js/chat-room/message-renderer.js +++ b/resources/js/chat-room/message-renderer.js @@ -202,9 +202,25 @@ export function appendMessage(msg, renderBatch = null) { } else if (msg.action === "欢迎") { div.style.cssText = "background: linear-gradient(135deg, #eff6ff, #f0f9ff); border: 1.5px solid #3b82f6; border-radius: 5px; padding: 5px 10px; margin: 3px 0; box-shadow: 0 1px 3px rgba(59,130,246,0.12);"; - const fromHtml = clickableUser(msg.from_user, "#1d4ed8", nameClass); - const parsedContent = parseBracketUsers(msg.content, "#1d4ed8"); - html = `
💬 ${fromHtml}:${parsedContent} (${timeStr})
`; + const userName = msg.from_user; + const rawContent = msg.content || ""; + const colonIndex = rawContent.indexOf(":"); + let clickablePrefix = ""; + let bodyPart = rawContent; + if (colonIndex !== -1) { + const prefixStr = rawContent.substring(0, colonIndex); + bodyPart = rawContent.substring(colonIndex); + const lastIdx = prefixStr.lastIndexOf(userName); + if (lastIdx !== -1) { + clickablePrefix = + prefixStr.substring(0, lastIdx) + + clickableUser(userName, "#1d4ed8", nameClass); + } else { + clickablePrefix = prefixStr; + } + } + const parsedBody = parseBracketUsers(bodyPart, "#1d4ed8"); + html = `
💬 ${clickablePrefix}${parsedBody} (${timeStr})
`; timeStrOverride = true; } else if (SYSTEM_USERS.includes(msg.from_user)) { if (msg.from_user === "系统公告") {