From 3b1a96aa95d21afecadda009f33fe87a6762def8 Mon Sep 17 00:00:00 2001 From: SnowyFox Date: Thu, 6 Aug 2026 00:23:06 +0800 Subject: [PATCH] =?UTF-8?q?imp:=20=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=94=A8=E4=BA=8E=E6=B5=8B=E8=AF=95ui,=20?= =?UTF-8?q?=E4=BB=85debug=E6=A8=A1=E5=BC=8F=E7=BC=96=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../App/Localization/Languages/en-US.xaml | 1 + .../App/Localization/Languages/zh-CN.xaml | 1 + Plain Craft Launcher 2/FormMain.xaml.cs | 32 +++++++++++++++++++ Plain Craft Launcher 2/Modules/ModMain.cs | 4 +++ .../Pages/PageTest/PageTestLeft.xaml | 10 ++++++ .../Pages/PageTest/PageTestLeft.xaml.cs | 9 ++++++ .../Pages/PageTest/PageTestRight.xaml | 17 ++++++++++ .../Pages/PageTest/PageTestRight.xaml.cs | 17 ++++++++++ 8 files changed, 91 insertions(+) create mode 100644 Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml create mode 100644 Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml.cs create mode 100644 Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml create mode 100644 Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml.cs diff --git a/PCL.Core/App/Localization/Languages/en-US.xaml b/PCL.Core/App/Localization/Languages/en-US.xaml index c090e7a13e..dc8c08dd7b 100644 --- a/PCL.Core/App/Localization/Languages/en-US.xaml +++ b/PCL.Core/App/Localization/Languages/en-US.xaml @@ -1867,6 +1867,7 @@ Launch Settings Tools + Test After telemetry data collection is enabled, the launcher will collect and report errors and device environment information. This can help developers fix potential issues and better plan and develop the launcher. If this feature is enabled, we will collect the following information: - Errors that occur in the launcher - Launcher version information and identifier - Windows system version and architecture - Installed physical memory size - NAT and IPv6 support status - Whether you have used the original PCL, HMCL, or BakaXL This data is not associated with you, and we will never sell it to any third party. If you do not want to enable telemetry, you can choose to decline. This will not affect normal use of other features, but may affect developers' ability to fix potential bugs. You can change this setting at any time in launcher settings. Enable telemetry data collection Launch log diff --git a/PCL.Core/App/Localization/Languages/zh-CN.xaml b/PCL.Core/App/Localization/Languages/zh-CN.xaml index 9bae29f93c..8eb85a5111 100644 --- a/PCL.Core/App/Localization/Languages/zh-CN.xaml +++ b/PCL.Core/App/Localization/Languages/zh-CN.xaml @@ -1867,6 +1867,7 @@ 启动 设置 工具 + 测试 启用遥测数据收集后,启动器将会收集并上报错误与设备环境信息,这可以帮助开发者修复潜在的问题、更好的进行规划和开发。 若启用此功能,我们将会收集以下信息: - 启动器内出现的错误 - 启动器版本信息与识别码 - Windows 系统版本与架构 - 已安装的物理内存大小 - NAT 与 IPv6 支持情况 - 是否使用过原版 PCL、HMCL 或 BakaXL 这些数据均不与你关联,我们也绝不会向第三方出售数据。 如果不希望启用遥测,可以选择拒绝。这不会影响其他功能的正常使用,但可能会影响开发者修复潜在 Bug。 你可以随时在启动器设置中调整这项设置。 启用遥测数据收集 实时日志 diff --git a/Plain Craft Launcher 2/FormMain.xaml.cs b/Plain Craft Launcher 2/FormMain.xaml.cs index 3826112f31..c4dea4eec4 100644 --- a/Plain Craft Launcher 2/FormMain.xaml.cs +++ b/Plain Craft Launcher 2/FormMain.xaml.cs @@ -97,6 +97,20 @@ public FormMain() HintWrapper.OnShow += HintService.HintWrapper_OnShow; // 加载 UI InitializeComponent(); +#if DEBUG + // 顶栏「测试」按钮。仅 Debug 构建下加入 + var btnTitleTest = new MyRadioButton + { + Text = Lang.Text("Main.Tab.Test"), + Tag = "4", + Margin = new Thickness(5, 0, 5, 0), + Padding = new Thickness(2, 0, 2, 0), + LogoScale = 0.9, + SvgIcon = "lucide/flask-conical" + }; + btnTitleTest.Check += BtnTitleSelect_Click; + PanTitleSelect.Children.Add(btnTitleTest); +#endif Opacity = 0d; try { @@ -1377,6 +1391,13 @@ public enum PageType /// Tools = 3, +#if DEBUG + /// + /// 测试。这是一个顶级页面,仅在 Dev(Debug)构建下编译。 + /// + Test = 4, +#endif + /// /// 设置。 /// @@ -1909,6 +1930,17 @@ private void PageChangeActual(PageStackData stack, PageSubType subType) (FrameworkElement)ModMain.frmInstanceSavesLeft.PageGet(subType)); break; } +#if DEBUG + case PageType.Test: // 测试(仅 Dev 构建) + { + if (ModMain.frmTestLeft is null) + ModMain.frmTestLeft = new PageTestLeft(); + if (ModMain.frmTestRight is null) + ModMain.frmTestRight = new PageTestRight(); + PageChangeAnim(ModMain.frmTestLeft, ModMain.frmTestRight); + break; + } +#endif } #endregion diff --git a/Plain Craft Launcher 2/Modules/ModMain.cs b/Plain Craft Launcher 2/Modules/ModMain.cs index c1ecd882a1..450604fad0 100644 --- a/Plain Craft Launcher 2/Modules/ModMain.cs +++ b/Plain Craft Launcher 2/Modules/ModMain.cs @@ -36,6 +36,10 @@ public static class ModMain public static PageToolsLeft? frmToolsLeft; public static PageToolsGameLink? frmToolsGameLink; public static PageToolsTest? frmToolsTest; +#if DEBUG + public static PageTestLeft? frmTestLeft; + public static PageTestRight? frmTestRight; +#endif public static PageDownloadLeft? frmDownloadLeft; public static PageDownloadInstall? frmDownloadInstall; public static PageDownloadClient? frmDownloadClient; diff --git a/Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml b/Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml new file mode 100644 index 0000000000..810aeb5ca3 --- /dev/null +++ b/Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml @@ -0,0 +1,10 @@ + + + + + + diff --git a/Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml.cs b/Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml.cs new file mode 100644 index 0000000000..c44be5ffb1 --- /dev/null +++ b/Plain Craft Launcher 2/Pages/PageTest/PageTestLeft.xaml.cs @@ -0,0 +1,9 @@ +namespace PCL; + +public partial class PageTestLeft +{ + public PageTestLeft() + { + InitializeComponent(); + } +} diff --git a/Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml b/Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml new file mode 100644 index 0000000000..2ba3ffdfa2 --- /dev/null +++ b/Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml.cs b/Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml.cs new file mode 100644 index 0000000000..b851aaf1ad --- /dev/null +++ b/Plain Craft Launcher 2/Pages/PageTest/PageTestRight.xaml.cs @@ -0,0 +1,17 @@ +using System.Windows.Input; + +namespace PCL; + +public partial class PageTestRight +{ + public PageTestRight() + { + InitializeComponent(); + } + + // 示例测试功能:弹出一条 Toast + private void BtnToastTest_Click(object sender, MouseButtonEventArgs e) + { + HintService.Hint("测试 Toast:新弹窗系统工作正常", HintType.Info); + } +}