package main import ( "embed" "log" "os" "path/filepath" "github.com/wailsapp/wails/v2" "github.com/wailsapp/wails/v2/pkg/options" "github.com/wailsapp/wails/v2/pkg/options/assetserver" ) //go:embed all:frontend/dist var assets embed.FS func main() { app := NewApp() err := wails.Run(&options.App{ Title: "斗鱼抢购系统", Width: 1280, Height: 860, MinWidth: 900, MinHeight: 600, AssetServer: &assetserver.Options{ Assets: assets, }, OnStartup: app.startup, OnShutdown: app.shutdown, Bind: []interface{}{ app, }, }) if err != nil { log.Printf("启动失败: %v", err) // GUI 应用无控制台,把启动错误写入崩溃日志文件,便于用户事后排查。 if dir, derr := os.UserCacheDir(); derr == nil { path := filepath.Join(dir, "douyu-go", "startup_error.log") _ = os.MkdirAll(filepath.Dir(path), 0o755) _ = os.WriteFile(path, []byte("斗鱼抢购系统启动失败:\n"+err.Error()+"\n"), 0o644) } os.Exit(1) } }