# Git 提交分析报告 **提交哈希**: 01cf32a610b8ba1b5d6eaca7666a9c93f86310bf **提交时间**: 2026-05-25 09:32:58 +0800 **作者**: lincube \ **提交信息**: changed.调整融合桌面组库的相关圆角 --- ## 变更统计 - **修改文件数**: 5 - **新增行数**: 59 - **删除行数**: 3 - **净变更行数**: +56 ### 变更文件 | 文件 | 变更类型 | 变更行数 | |------|---------|---------| | LanMountainDesktop.Tests/ComponentCategoryIconResolverTests.cs | 新增测试 | +14 | | LanMountainDesktop/ComponentSystem/ComponentCategoryIconResolver.cs | 重构 | +23 / -2 | | LanMountainDesktop/Views/ComponentLibraryWindow.axaml | 修复 | +1 / -1 | | LanMountainDesktop/Views/FusedDesktopComponentLibraryWindow.axaml | 添加圆角 | +1 | | LanMountainDesktop/Views/FusedDesktopComponentLibraryWindow.axaml.cs | 新增逻辑 | +22 | --- ## 详细变更分析 ### 1. LanMountainDesktop/ComponentSystem/ComponentCategoryIconResolver.cs **核心逻辑重构**: #### 变更 1: 添加预定义图标映射 ```diff + var icon = categoryId.ToLowerInvariant() switch + { + "clock" => Icon.Clock, + "date" => Icon.Calendar, + "weather" => Icon.WeatherSunny, + "board" => Icon.Edit, + "media" => Icon.Play, + "info" => Icon.News, + "calculator" => Icon.Calculator, + "study" => Icon.Book, + "file" => Icon.Folder, + _ => (Icon?)null + }; + + if (icon.HasValue) + { + return icon.Value; + } ``` **变更说明**: - 添加了 10 种常用分类的预定义图标映射 - 使用 switch 表达式,代码更简洁 - 优先匹配预定义映射,提升性能 #### 变更 2: 变量重命名 ```diff - if (Enum.TryParse(firstComponent.IconKey, ignoreCase: true, out var icon)) + if (Enum.TryParse(firstComponent.IconKey, ignoreCase: true, out var resolvedIcon)) ``` - 避免与新添加的 `icon` 变量冲突 --- ### 2. LanMountainDesktop.Tests/ComponentCategoryIconResolverTests.cs **新增单元测试**: #### 测试 1: Date 分类图标解析 ```csharp [Fact] public void ResolveCategoryIcon_Date_ResolvesCorrectly() { var result = ComponentCategoryIconResolver.ResolveCategoryIcon("Date", []); Assert.Equal(Icon.Calendar, result); } ``` #### 测试 2: Study 分类图标解析 ```csharp [Fact] public void ResolveCategoryIcon_Study_ResolvesCorrectly() { var result = ComponentCategoryIconResolver.ResolveCategoryIcon("Study", []); Assert.Equal(Icon.Book, result); } ``` **测试覆盖**: - ✅ Date 分类 → Calendar 图标 - ✅ Study 分类 → Book 图标 - ⚠️ 建议:添加其他预定义映射的测试用例 --- ### 3. LanMountainDesktop/Views/ComponentLibraryWindow.axaml **修复**: 控件类型名称更新 ```diff -