Skip to content

v1.0.0-beta.5

Pre-release
Pre-release

Choose a tag to compare

@gytxtx gytxtx released this 29 Jun 13:48
425dbe6

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 支持依赖注入测试桩
  • 新增测试覆盖:动态效果、设置分类、代理正则、远端内容、窗口交互等
  • 移除迁移相关测试