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 // Perform your setup here
a.ctx = ctx a.ctx = ctx
//判断是否是windows操作系统 // 创建系统托盘
platform := runtime.Environment(ctx).Platform go systray.Run(func() {
if platform == "windows" { onReady(a)
// 创建系统托盘 }, func() {
go systray.Run(func() { onExit(a)
onReady(a) })
}, func() {
onExit(a)
})
}
} }

11
main.go
View File

@ -16,6 +16,7 @@ import (
"go-stock/backend/db" "go-stock/backend/db"
"log" "log"
"os" "os"
goruntime "runtime"
"time" "time"
) )
@ -68,9 +69,13 @@ func main() {
FileMenu.AddText("窗口还原", keys.Key("Esc"), func(callback *menu.CallbackData) { FileMenu.AddText("窗口还原", keys.Key("Esc"), func(callback *menu.CallbackData) {
runtime.WindowUnfullscreen(app.ctx) 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) { //FileMenu.AddText("退出", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) {
// runtime.Quit(app.ctx) // runtime.Quit(app.ctx)
//}) //})