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" "douyu_go/internal/app" ) //go:embed all:frontend/dist var assets embed.FS func main() { a := app.New() err := wails.Run(&options.App{ Title: "斗鱼抢购系统", Width: 1600, Height: 960, MinWidth: 1100, MinHeight: 700, AssetServer: &assetserver.Options{ Assets: assets, }, OnStartup: a.Startup, OnShutdown: a.Shutdown, Bind: []interface{}{ a, }, }) 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) } }