Skip to content

feat: 添加系统托盘支持与常驻任务栏模式#4

Open
yunyizea wants to merge 1 commit intomtfly:mainfrom
yunyizea:feature/yunyize
Open

feat: 添加系统托盘支持与常驻任务栏模式#4
yunyizea wants to merge 1 commit intomtfly:mainfrom
yunyizea:feature/yunyize

Conversation

@yunyizea
Copy link
Copy Markdown

@yunyizea yunyizea commented Apr 7, 2026

Summary

新增系统托盘功能,支持程序最小化到托盘后台运行
添加「常驻任务栏」模式开关,用户可控制关闭窗口时的行为
实现 Windows 平台自动权限提升,启动时自动请求管理员权限
关闭窗口隐藏到托盘时发送系统通知提示用户

Changes

新增文件

文件 说明
internal/elevate/elevate.go Windows UAC 权限提升实现
internal/elevate/elevate_stub.go 非 Windows 平台 stub
internal/tray/tray.go 系统托盘模块(基于 energye/systray)
internal/tray/icon.ico 托盘图标资源

修改文件

文件 说明
main.go 添加托盘初始化、UAC 提权、窗口关闭拦截逻辑
app.go 添加 ShowWindow、HideWindowWithNotification、QuitApp、GetTrayMode、SetTrayMode 方法
internal/config/config.go 添加 TrayMode 配置项及读写方法
frontend/src/App.svelte 添加常驻任务栏开关 UI
frontend/src/components/ui/Switch.svelte 添加 change 事件支持
go.mod 添加 energye/systray、go-toast/toast 依赖

Test Plan

  • 编译项目:wails build
  • 非管理员启动 → 验证 UAC 弹窗出现
  • 用户同意 UAC → 验证新进程以管理员权限运行
  • 用户拒绝 UAC → 验证程序继续运行并显示权限警告
  • 开启「常驻任务栏」开关 → 关闭窗口 → 验证窗口隐藏 + 托盘图标显示 + 系统通知弹出
  • 点击托盘图标 → 验证窗口恢复显示
  • 关闭「常驻任务栏」开关 → 关闭窗口 → 验证程序正常退出

  • 新增系统托盘功能,支持最小化到托盘运行
  • 添加常驻任务栏模式开关,可在配置中启用/禁用
  • 实现Windows平台权限提升功能,支持以管理员身份重启应用
  • 添加窗口隐藏/显示、退出应用等相关方法
  • 为Switch组件添加change事件支持
  • 更新前端界面,添加常驻任务栏开关控件
  • 添加通知功能,支持在隐藏窗口时发送系统通知

- 新增系统托盘功能,支持最小化到托盘运行
- 添加常驻任务栏模式开关,可在配置中启用/禁用
- 实现Windows平台权限提升功能,支持以管理员身份重启应用
- 添加窗口隐藏/显示、退出应用等相关方法
- 为Switch组件添加change事件支持
- 更新前端界面,添加常驻任务栏开关控件
- 添加通知功能,支持在隐藏窗口时发送系统通知
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant