v1.0.0-beta.5
Pre-release
Pre-release
v1.0.0-beta.5
重构了设置页面为侧边栏分类导航,新增动态效果偏好与主题色规范化算法,增强下载过程反馈与代理兼容性,ViewModel 通信从委托迁移为事件模式,并移除了首次启动迁移向导。
新功能
动态效果偏好设置
- 新增「动态效果」设置项(系统跟随 / 完整动画 / 减弱动态效果)
- 「系统跟随」模式自动读取 Windows 系统动画设置(辅助功能 → 显示动画)
- 减弱动态效果时,轮播横幅自动暂停播放,且切换动画变为即时切换(无过渡效果)
- 按钮等控件改用 MinHeight 替代固定 Height,支持文本换行时自动增高
设置页面信息架构重构
- 设置对话框改为侧边栏导航布局:左侧 7 个分类标签,右侧对应内容区
- 7 个分类:常规 / 游戏 / 下载与网络 / 外观 / 通知与内容 / 高级 / 关于
- 选中的分类以左侧 3px 主题色竖线指示,悬停时文字变为主题色
- 每个分类右侧顶部显示启动器状态摘要(版本号、网络状态、磁盘空间)
- 对话框尺寸从 760×592 调整为 960×620,容纳更丰富的布局
下载过程反馈增强
- 下载前新增磁盘空间检查阶段,实时显示所需空间和可用空间
- 磁盘空间不足时,提示信息显示具体数值(需要 / 可用)
- 下载校验失败后显示重试进度(当前重试次数 / 上限、失败文件数)
- 校验彻底失败时显示失败文件数量
改进
主题色品质提升
- 新增主题色规范化算法:自动确保提取的主题色具有足够饱和度(≥22%)和明度(≥30%),并限制相对亮度不超过 32%,避免出现过淡或过亮的主题色
网络与代理修复
- 修复代理绕过列表(NO_PROXY)中包含通配符域名(如 *.zhihu.com)导致 RegexParseException 崩溃的问题 —— 正确处理 shell 通配符到 .NET 正则的转义
<local>标记现在正确映射到 BypassProxyOnLocal,不再被当作域名模式- SSRF 验证支持代理模式:当连接通过代理时跳过本地 DNS 解析(避免内网 DNS 误拦截代理请求)
文件下载容错性
- 文件下载过程中出现网络错误(HttpRequestException / IOException)时保留临时文件,不做删除,提升断点续传的可靠性
- CRC64 校验失败等数据完整性错误仍会清理临时文件
代码架构重构
- ViewModel 间通信从委托模式迁移为事件模式:GameOperationsViewModel、WindowChromeViewModel、ResourcePanelViewModel 不再依赖父级注入的 Func<>/Action<> 委托,改用 .NET 原生事件,代码更简洁、生命周期更安全
- MainWindow.axaml.cs 在 OnClosed 时取消订阅所有 ViewModel 事件,防止内存泄漏
UI 细节优化
- 远端内容面板各区块间距加大,视觉呼吸感更强
- 设置底部按钮样式统一为对话按钮规格
- 内容行内边距从 8 增加到 12
- 新增 LauncherThickness* 设计标记(Sm/Md/Lg)用于统一内边距
- Light 主题信息提示背景色微调(更饱满的蓝色)
日志查看器
- 会话边界条目("Session started" / "Session ended")现在显示在日志查看器中
移除
首次启动迁移向导
- 完全移除 v1.0.0-beta.4 中引入的原版启动器设置迁移向导
- 移除的服务:OldLauncherDetectionService、OriginalLauncherMigrationService、LevelDbReader
- 移除的视图模型与界面:MigrationWizardViewModel、迁移向导对话框
- 移除的设置字段:hasCompletedFirstLaunchWizard
- 首次运行时不再自动检测原版启动器;用户直接进入主界面手动设置
测试与构建
- 新增 verify.ps1 一键验证脚本(Debug 构建 → 单元测试 → 无头测试 → Release 构建)
- DiskSpaceService 支持依赖注入测试桩
- 新增测试覆盖:动态效果、设置分类、代理正则、远端内容、窗口交互等
- 移除迁移相关测试