package main import ( "context" "embed" "github.com/wailsapp/wails/v2" "github.com/wailsapp/wails/v2/pkg/options" "github.com/wailsapp/wails/v2/pkg/options/assetserver" ) //go:embed all:frontend var assets embed.FS func main() { app := NewApp() err := wails.Run(&options.App{ Title: "visionA Local — Edge AI Workspace", Width: 1280, Height: 800, MinWidth: 960, MinHeight: 640, AssetServer: &assetserver.Options{ Assets: assets, }, OnStartup: app.startup, OnShutdown: app.shutdown, // M8-4 / R5-2:關視窗 = 結束 server + 結束 app。 // 不 hide-to-tray、不彈確認對話框。回 false 允許 Wails 繼續走 OnShutdown 流程。 // OnShutdown 會呼叫 ctrl.Stop()(7 秒 grace + 1 秒 modal)。 OnBeforeClose: func(ctx context.Context) (prevent bool) { return false }, Bind: []interface{}{ app, }, }) if err != nil { panic(err) } }