refactor(app): 优化系统托盘和菜单相关代码

- 在 FileMenu 中添加了隐藏到托盘区的功能,仅在 Windows 平台上显示- 优化了代码结构,提高了可读性和可维护性
This commit is contained in:
spark 2025-01-06 16:56:32 +08:00
parent 9fae9fc034
commit 200a160acf
2 changed files with 14 additions and 13 deletions

16
app.go
View File

@ -31,16 +31,12 @@ func (a *App) startup(ctx context.Context) {
// Perform your setup here
a.ctx = ctx
//判断是否是windows操作系统
platform := runtime.Environment(ctx).Platform
if platform == "windows" {
// 创建系统托盘
go systray.Run(func() {
onReady(a)
}, func() {
onExit(a)
})
}
// 创建系统托盘
go systray.Run(func() {
onReady(a)
}, func() {
onExit(a)
})
}

11
main.go
View File

@ -16,6 +16,7 @@ import (
"go-stock/backend/db"
"log"
"os"
goruntime "runtime"
"time"
)
@ -68,9 +69,13 @@ func main() {
FileMenu.AddText("窗口还原", keys.Key("Esc"), func(callback *menu.CallbackData) {
runtime.WindowUnfullscreen(app.ctx)
})
FileMenu.AddText("隐藏到托盘区", keys.CmdOrCtrl("h"), func(_ *menu.CallbackData) {
runtime.Hide(app.ctx)
})
if goruntime.GOOS == "windows" {
FileMenu.AddText("隐藏到托盘区", keys.CmdOrCtrl("h"), func(_ *menu.CallbackData) {
runtime.Hide(app.ctx)
})
}
//FileMenu.AddText("退出", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) {
// runtime.Quit(app.ctx)
//})