From 75316e4febf285bcb7eb1660d62aa75d8f3a9719 Mon Sep 17 00:00:00 2001 From: lokins Date: Fri, 17 Jul 2026 01:11:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(ui):=20=E4=BF=AE=E5=A4=8D=20Markdown=20?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E4=B8=AD=E8=B6=85=E9=93=BE=E6=8E=A5=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E6=97=A0=E5=8F=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controls/MyMsg/MyMsgMarkdown.xaml.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs b/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs index d4d9df080..977bcc9e2 100644 --- a/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs +++ b/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs @@ -17,6 +17,7 @@ public MyMsgMarkdown(ModMain.MyMsgBoxConverter converter) try { InitializeComponent(); + CommandBindings.Add(new CommandBinding(Markdig.Wpf.Commands.Hyperlink, _OpenHyperlink)); AppendUniqueNameSuffix(Btn1); AppendUniqueNameSuffix(Btn2); AppendUniqueNameSuffix(Btn3); @@ -47,6 +48,13 @@ private void AppendUniqueNameSuffix(FrameworkElement element) element.Name += ModBase.GetUuid(); } + private static void _OpenHyperlink(object sender, ExecutedRoutedEventArgs e) + { + var url = e.Parameter?.ToString(); + if (!string.IsNullOrWhiteSpace(url)) + ModBase.OpenWebsite(url); + } + private void ConfigurePrimaryButton(string text, bool isWarn) { Btn1.Text = text; From 8574836aeec2f31180a7b7cd1ed85d5709629756 Mon Sep 17 00:00:00 2001 From: lokins Date: Fri, 17 Jul 2026 01:57:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(ui):=20Markdown=20=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E4=BB=85=E5=85=81=E8=AE=B8=20http/https=EF=BC=8C=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=E4=BC=AA=E8=A3=85=20scheme=20=E6=8B=89=E8=B5=B7?= =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E5=A4=84=E7=90=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controls/MyMsg/MyMsgMarkdown.xaml.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs b/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs index 977bcc9e2..dbae31077 100644 --- a/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs +++ b/Plain Craft Launcher 2/Controls/MyMsg/MyMsgMarkdown.xaml.cs @@ -51,8 +51,15 @@ private void AppendUniqueNameSuffix(FrameworkElement element) private static void _OpenHyperlink(object sender, ExecutedRoutedEventArgs e) { var url = e.Parameter?.ToString(); - if (!string.IsNullOrWhiteSpace(url)) - ModBase.OpenWebsite(url); + if (string.IsNullOrWhiteSpace(url)) + return; + if (!Uri.TryCreate(url, UriKind.Absolute, out var uri) + || (uri.Scheme != Uri.UriSchemeHttp && uri.Scheme != Uri.UriSchemeHttps)) + { + ModBase.Log("[Control] 已忽略非 http(s) 的 Markdown 链接:" + url, ModBase.LogLevel.Developer); + return; + } + ModBase.OpenWebsite(url); } private void ConfigurePrimaryButton(string text, bool isWarn)