package main import ( "github.com/wailsapp/wails/v3/pkg/application" ) // ========== 窗口控制方法 ========== // WindowMinimize 最小化窗口 func (a *App) WindowMinimize() { if a.mainWindow != nil { a.mainWindow.Minimise() } } // WindowMaximize 最大化/还原窗口 func (a *App) WindowMaximize() { if a.mainWindow == nil { return } if a.mainWindow.IsMaximised() { a.mainWindow.UnMaximise() } else { a.mainWindow.Maximise() } } // WindowClose 关闭窗口 func (a *App) WindowClose() { application.Get().Quit() } // WindowIsMaximized 检查窗口是否最大化 func (a *App) WindowIsMaximized() bool { if a.mainWindow != nil { return a.mainWindow.IsMaximised() } return false } // WindowToggleAlwaysOnTop 切换窗口置顶 func (a *App) WindowToggleAlwaysOnTop() bool { if a.mainWindow == nil { return false } a.mu.Lock() a.isAlwaysOnTop = !a.isAlwaysOnTop a.mu.Unlock() a.mainWindow.SetAlwaysOnTop(a.isAlwaysOnTop) return a.isAlwaysOnTop } // SetWindowTitleBarColor 设置原生标题栏颜色 + 主题模式(0x00BBGGRR 格式) func (a *App) SetWindowTitleBarColor(color uint32, isDark bool) { if a.mainWindow == nil { return } hwnd := uintptr(a.mainWindow.NativeWindow()) if hwnd == 0 { return } setWindowTitleBar(hwnd, color, isDark) } // Reload 重新加载窗口(用于菜单项) func (a *App) Reload() { if a.mainWindow != nil { a.mainWindow.Reload() } } // ClearCache 清理本地缓存(用于菜单项) func (a *App) ClearCache() { if a.mainWindow != nil { a.mainWindow.EmitEvent("clear-cache") } }