From 071a8dbb2f3be163c0f0dbeafad45c0c98a497cd Mon Sep 17 00:00:00 2001 From: digua Date: Fri, 24 Apr 2026 22:17:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20AI=E5=AF=B9=E8=AF=9D=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E5=BA=94=E8=AF=A5=E5=9C=A8=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8=E4=B8=AD=E6=89=93=E5=BC=80(resolve=20#150)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AIChat/chat/ChatMessage.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/AIChat/chat/ChatMessage.vue b/src/components/AIChat/chat/ChatMessage.vue index 0bcf129d..29a10241 100644 --- a/src/components/AIChat/chat/ChatMessage.vue +++ b/src/components/AIChat/chat/ChatMessage.vue @@ -38,6 +38,12 @@ const md = new MarkdownIt({ typographer: true, // 启用排版优化 }) +md.renderer.rules.link_open = (tokens, idx, options, _env, self) => { + tokens[idx].attrSet('target', '_blank') + tokens[idx].attrSet('rel', 'noopener noreferrer') + return self.renderToken(tokens, idx, options) +} + // 渲染 Markdown 文本 function renderMarkdown(text: string): string { if (!text) return ''