From 021a45465ddda76fd149ee91fc808981aa8317c5 Mon Sep 17 00:00:00 2001 From: kennethcheng Date: Sun, 6 Sep 2026 23:02:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BA=94=E7=94=A8=E5=9B=BE=E6=A0=87=20?= =?UTF-8?q?+=20=E6=B5=85=E8=89=B2/=E6=B7=B1=E8=89=B2=E4=B8=BB=E9=A2=98=20+?= =?UTF-8?q?=20=E6=B6=88=E6=81=AF=E5=A4=8D=E5=88=B6=20+=20=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=8F=AF=E9=80=89=E4=B8=AD=E5=A4=8D=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现 4 个用户需求: 1. 应用图标(Gotify Ducker 吉祥物) - Assets/gotify-mascot.png:用户提供的 PNG(196x196) - Assets/Build-Icon.ps1:用 System.Drawing 高质量缩放生成多分辨率 ICO(16/24/32/48/64/128/196),PNG 数据嵌入 ICO 容器(Win10+ 原生支持) - Assets/gotify-mascot.ico:7 个分辨率的 PNG-in-ICO,41KB - WindowsGotify.csproj 加 让 EXE 资源带这个图标 - csproj 加 发布时一并拷 - TrayIconService 加 LoadMascotIcon() 静态方法,优先从 EXE 同目录 Assets\ 下找,找不到回退到 SystemIcons.Application - Windows 通知中心的 toast 会自动用 ApplicationIcon(无需单独设) 2. 浅色/深色主题 - AppConfig 新增 UiConfig { Theme: "Light"|"Dark"|"System" } - Themes/Light.xaml + Themes/Dark.xaml:两个 ResourceDictionary,定义 WindowBackground/CardBackground/CardAltBackground/BorderColor/PrimaryText/SecondaryText/MutedText/AccentBrush/SuccessDot/ErrorDot/PendingDot/PriorityUrgent/High/Normal/Low 等 - Services/ThemeService.cs:静态类,Apply(name) 卸载旧主题字典 + 加载新主题字典到 Application.Resources.MergedDictionaries,Changed 事件,Toggle() 切换 - MainWindow.xaml 所有颜色全部改用 {DynamicResource Xxx},主题切换时立刻刷新 - PriorityToBrushConverter 改用 Application.Current.TryFindResource("PriorityXxx") 拿色,跟着主题走 - 主窗右上角加 ☼/☾ 切换按钮,点一下切主题并自动写回 config.json 3. 消息正文复制按钮 - 详情面板"消息正文"标签右侧加 [复制] 按钮 - CopyMessageButton_Click:用 System.Windows.Clipboard.SetText 把全文(应用名/标题/时间/优先级/正文/URL)写进剪贴板 - 按钮反馈:复制后短暂显示"已复制"1.5 秒再恢复 - BuildFullMessageText 静态方法统一格式化 4. 详情面板可选中复制 - DetailMessage 从 TextBlock 改成 TextBox(IsReadOnly=True, BorderThickness=0, Background=Transparent, IsReadOnlyCaretVisible=True) - DetailTitle / DetailUrl 也改成 TextBox IsReadOnly,用户能 Ctrl+A 全选、鼠标拉黑 - DetailUrl 双击打开(之前是单击,TextBlock 没法选中;TextBox 单击会进入文字选择模式影响双击识别,所以改成双击) WPF+WinForms 双开:Application/Brush/Color/Clipboard/Button 多个类型两个命名空间都有,ThemeService/ValueConverters/MainWindow.xaml.cs 都加 using alias 固定走 WPF 的;TrayIconService 加 using System.IO 补 Path/File。 实测:新进程跑起来后 ApplicationCache refreshed count=6(用户新建了一个 app),WebSocket connected,真实消息流处理正常(短信号码 19999999999/15889931832),通知弹出。 --- App.xaml.cs | 3 + Assets/Build-Icon.ps1 | 84 +++++++++ Assets/gotify-mascot.ico | Bin 0 -> 41522 bytes Assets/gotify-mascot.png | Bin 0 -> 22597 bytes Converters/ValueConverters.cs | 17 +- MainWindow.xaml | 340 ++++++++++++++++------------------ MainWindow.xaml.cs | 104 ++++++++++- Models/AppConfig.cs | 7 + Services/ThemeService.cs | 54 ++++++ Themes/Dark.xaml | 25 +++ Themes/Light.xaml | 27 +++ Tray/TrayIconService.cs | 23 ++- WindowsGotify.csproj | 4 + 13 files changed, 496 insertions(+), 192 deletions(-) create mode 100644 Assets/Build-Icon.ps1 create mode 100644 Assets/gotify-mascot.ico create mode 100644 Assets/gotify-mascot.png create mode 100644 Services/ThemeService.cs create mode 100644 Themes/Dark.xaml create mode 100644 Themes/Light.xaml diff --git a/App.xaml.cs b/App.xaml.cs index 2bf7de7..f05e20f 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -87,6 +87,9 @@ public partial class App : Application // 后台异步拉一次应用列表,不阻塞启动 _ = _appCache.RefreshAsync(); + // 加载主题(必须在 StartAsync 之前,这样主窗第一次 Show 时资源已经在) + Services.ThemeService.Apply(config.Ui.Theme); + await _webSocketService.StartAsync(); } diff --git a/Assets/Build-Icon.ps1 b/Assets/Build-Icon.ps1 new file mode 100644 index 0000000..eebc0b8 --- /dev/null +++ b/Assets/Build-Icon.ps1 @@ -0,0 +1,84 @@ +# 从 Assets/gotify-mascot.png 生成多分辨率 ICO +# 输出:Assets/gotify-mascot.ico +param( + [string]$Png = "$PSScriptRoot\gotify-mascot.png", + [string]$Ico = "$PSScriptRoot\gotify-mascot.ico" +) + +Add-Type -AssemblyName System.Drawing + +$src = [System.Drawing.Image]::FromFile((Resolve-Path $Png)) +$srcW = $src.Width +$srcH = $src.Height + +# 多分辨率列表(像素) — 包含原始尺寸 +$sizes = @(16, 24, 32, 48, 64, 128, 196) | Where-Object { $_ -le [math]::Max($srcW, $srcH) } +if (($srcW, $srcH) -notin $sizes) { $sizes += ,($srcW, $srcH) | Out-Null } +$sizes = $sizes | Sort-Object -Unique + +# 1) 把每个分辨率的位图渲染成 PNG 字节 +$entries = @() +foreach ($sz in $sizes) { + $bmp = New-Object System.Drawing.Bitmap $sz, $sz, ([System.Drawing.Imaging.PixelFormat]::Format32bppArgb) + $g = [System.Drawing.Graphics]::FromImage($bmp) + $g.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic + $g.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::HighQuality + $g.PixelOffsetMode = [System.Drawing.Drawing2D.PixelOffsetMode]::HighQuality + $g.Clear([System.Drawing.Color]::Transparent) + $g.DrawImage($src, 0, 0, $sz, $sz) + $g.Dispose() + + $ms = New-Object System.IO.MemoryStream + $bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png) + $pngBytes = $ms.ToArray() + $ms.Dispose() + $bmp.Dispose() + + $entries += [pscustomobject]@{ + Width = $sz + Height = $sz + Bytes = $pngBytes + } +} +$src.Dispose() + +# 2) 组装 ICO 文件 +# ICONDIR (6 bytes) +# ICONDIRENTRY * N (16 bytes each) +# Image data + +$out = New-Object System.IO.MemoryStream +$bw = New-Object System.IO.BinaryWriter $out + +# ICONDIR +$bw.Write([uint16]0) # Reserved +$bw.Write([uint16]1) # Type: 1 = ICO +$bw.Write([uint16]$entries.Count) # Count + +# ICONDIRENTRY (16 bytes each) +$dataOffset = 6 + 16 * $entries.Count +foreach ($e in $entries) { + $w = if ($e.Width -ge 256) { 0 } else { $e.Width } + $h = if ($e.Height -ge 256) { 0 } else { $e.Height } + $bw.Write([byte]$w) # Width + $bw.Write([byte]$h) # Height + $bw.Write([byte]0) # Color count (0 = >256 colors) + $bw.Write([byte]0) # Reserved + $bw.Write([uint16]1) # Color planes + $bw.Write([uint16]32) # Bits per pixel + $bw.Write([uint32]$e.Bytes.Length) + $bw.Write([uint32]$dataOffset) + $dataOffset += $e.Bytes.Length +} + +# Image data +foreach ($e in $entries) { + $bw.Write($e.Bytes) +} + +$bw.Flush() +[System.IO.File]::WriteAllBytes($Ico, $out.ToArray()) +$bw.Dispose() +$out.Dispose() + +Write-Host "ICO built: $Ico ($((Get-Item $Ico).Length) bytes, $($entries.Count) sizes: $($sizes -join ','))" diff --git a/Assets/gotify-mascot.ico b/Assets/gotify-mascot.ico new file mode 100644 index 0000000000000000000000000000000000000000..731ee6df1f118ef3cc5cc097785d602860fa2b81 GIT binary patch literal 41522 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

?x|KxnM3AX`Rsrs~cJ}+B300e6S1+TW|vyjJMu) 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 ojGZfjg*t*67M;(=Bg~2BX)l{R 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 z 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 8 => new SolidColorBrush(Color.FromRgb(0xD1, 0x34, 0x38)), // 紧急 - 红 - >= 5 => new SolidColorBrush(Color.FromRgb(0xCA, 0x50, 0x10)), // 重要 - 橙 - >= 1 => new SolidColorBrush(Color.FromRgb(0x4A, 0x55, 0x68)), // 一般 - 灰蓝 - _ => new SolidColorBrush(Color.FromRgb(0x88, 0x88, 0x88)) // 静默 - 浅灰 + >= 8 => "PriorityUrgent", + >= 5 => "PriorityHigh", + >= 1 => "PriorityNormal", + _ => "PriorityLow" }; + if (Application.Current?.TryFindResource(key) is Brush b) return b; + return new SolidColorBrush(Colors.Gray); } return new SolidColorBrush(Colors.Gray); } diff --git a/MainWindow.xaml b/MainWindow.xaml index fcbb6d6..04e779a 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -8,10 +8,10 @@ MinWidth="900" MinHeight="560" WindowStartupLocation="CenterScreen" - Background="#FAFAFA"> + Background="{DynamicResource WindowBackground}" + Foreground="{DynamicResource PrimaryText}"> - @@ -27,43 +27,28 @@ - - + CornerRadius="4" Margin="0,2,8,2" Padding="4,2" + VerticalAlignment="Top" HorizontalAlignment="Stretch"> - - - + - - + Foreground="{DynamicResource PrimaryText}"> - + Foreground="{DynamicResource SecondaryText}" FontSize="12" /> @@ -95,26 +77,32 @@ - - - - - + + + + + + + + + + +