XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

HaloPixelToolBox

【WinUI3】基于USB HID通讯的花再音响工具箱

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/HaloPixelToolBox

新增原生消息提示子系统,重构设备与歌词显示

- 新增原生消息提示功能:实现消息模型、过滤、解析、去重、跟踪与独立消息通道(source_id = 1),并将消息排队发送到设备。 - 引入 Windows 通知与 UIA 读取:WindowsMessageNotificationReader、DesktopMessageListener、DesktopMessageReader,用于读取系统通知与应用弹窗文本并解析为消息。 - UI 与设置支持:SettingPage.xaml / SettingPageViewModel 增加微信/QQ/企业微信开关、授权与测试按钮,设置保存到 SystemProfile。 - 应用生命周期:在 App.xaml.cs 启动时初始化 MessageNotificationService,并在主窗体关闭时释放相关服务。 - 设备协议与 HID 包重构:HidPacketBuilder 改进文本编码与分包逻辑,增加容量查询与解析;HaloPixelDevice 写入队列化与命令化,确保消息显示期间设备行为一致。 - 专辑色与元数据回退:新增 AlbumColorCache、CloudMusicMetadataReader,并在歌词读取器与 ViewModel 中使用封面颜色回退与本地网易云元数据缓存。 - 增强歌词展示:调整 CloudMusic 与 Spotify 歌词 ViewModel 的文本布局、滚动与分发逻辑,支持环境灯光效果同步与文本分发优化。 - 项目与清单更新:Client 与 Test csproj 增加 WPF、Microsoft.Data.Sqlite、Windows 框架引用;Package.appxmanifest 添加 uap3:userNotificationListener 能力并更新 IgnorableNamespaces。 - 测试覆盖:添加大量单元/集成测试,覆盖消息协议、HID 文本分片、Windows 通知、弹窗监听、元数据读取与缓存等。

f4e5c32
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

41 个文件 +2381 -132
Added Client/HaloPixelToolBox.Client.Test/DesktopMessageListenerTests.cs +128 -0
Added Client/HaloPixelToolBox.Client.Test/DesktopMessageReaderTests.cs +31 -0
Modified Client/HaloPixelToolBox.Client.Test/HaloPixelToolBox.Client.Test.csproj +9 -1
Added Client/HaloPixelToolBox.Client.Test/MessageNotificationTests.cs +209 -0
Added Client/HaloPixelToolBox.Client.Test/MusicSyncTests.cs +140 -0
Modified Client/HaloPixelToolBox.Client/App.xaml.cs +4 -0
Modified Client/HaloPixelToolBox.Client/HaloPixelToolBox.Client.csproj +2 -0
Modified Client/HaloPixelToolBox.Client/Package.appxmanifest +3 -1
Modified Client/HaloPixelToolBox.Client/Profiles/CrossVersionProfiles/SystemProfile.cs +12 -0
Added Client/HaloPixelToolBox.Client/Utilities/CloudMusicMetadataReader.cs +80 -0
Added Client/HaloPixelToolBox.Client/Utilities/DesktopMessageListener.cs +175 -0
Added Client/HaloPixelToolBox.Client/Utilities/DesktopMessageReader.cs +216 -0
Added Client/HaloPixelToolBox.Client/Utilities/DesktopMessageSignal.cs +5 -0
Added Client/HaloPixelToolBox.Client/Utilities/MessageNotificationService.cs +343 -0
Modified Client/HaloPixelToolBox.Client/Utilities/SpotifyLyricsReader.cs +26 -30
Added Client/HaloPixelToolBox.Client/Utilities/WindowsMessageNotificationReader.cs +58 -0
Modified Client/HaloPixelToolBox.Client/ViewModels/CloudMusicLyricsToolPageViewModel.cs +82 -40
Modified Client/HaloPixelToolBox.Client/ViewModels/SettingPageViewModel.cs +33 -0
Modified Client/HaloPixelToolBox.Client/ViewModels/SpotifyLyricsToolPageViewModel.cs +7 -15
Modified Client/HaloPixelToolBox.Client/Views/SettingPage.xaml +41 -1
Added Core/HaloPixelToolBox.Core/Models/Display/HaloPixelTextCapacity.cs +3 -0
Added Core/HaloPixelToolBox.Core/Models/Notifications/MessageNotification.cs +19 -0
Added Core/HaloPixelToolBox.Core/Models/Notifications/MessageNotificationCapacity.cs +4 -0
Added Core/HaloPixelToolBox.Core/Models/Notifications/MessageNotificationOptions.cs +14 -0
Added Core/HaloPixelToolBox.Core/Models/Notifications/MessageNotificationSource.cs +8 -0
Added Core/HaloPixelToolBox.Core/Models/Notifications/UnreadMessagePreview.cs +3 -0
Added Core/HaloPixelToolBox.Core/Models/Notifications/WindowsMessageNotification.cs +3 -0
Added Core/HaloPixelToolBox.Core/Utilities/AlbumColorCache.cs +55 -0
Added Core/HaloPixelToolBox.Core/Utilities/HaloPixelDevice.Notifications.cs +179 -0
Modified Core/HaloPixelToolBox.Core/Utilities/HaloPixelDevice.cs +8 -25
Added Core/HaloPixelToolBox.Core/Utilities/HaloPixelMessageProtocol.cs +73 -0
Modified Core/HaloPixelToolBox.Core/Utilities/HidPacketBuilder.cs +55 -18
Added Core/HaloPixelToolBox.Core/Utilities/MessageNotificationClassifier.cs +37 -0
Added Core/HaloPixelToolBox.Core/Utilities/MessageNotificationFilter.cs +44 -0
Added Core/HaloPixelToolBox.Core/Utilities/MessageNotificationTextParser.cs +48 -0
Added Core/HaloPixelToolBox.Core/Utilities/MessagePreviewParser.cs +51 -0
Added Core/HaloPixelToolBox.Core/Utilities/UnreadMessageTracker.cs +27 -0
Added Core/HaloPixelToolBox.Core/Utilities/WindowsMessageNotificationParser.cs +43 -0
Added Core/HaloPixelToolBox.Core/Utilities/WindowsNotificationTracker.cs +36 -0
Modified README.md +14 -1
Added docs/message-notifications.md +53 -0