Files
dygou_go/main.go
T
yml2213 2c88edb741 重构: 应用代码移入 internal/app 包,根目录只留入口
根目录原 7 个 app*.go 平铺,现收进 internal/app/ 子包:
- package main → package app
- NewApp → New(导出)
- startup/shutdown → Startup/Shutdown(导出,供 main.go 引用)
- main.go 改为薄入口,仅导入 internal/app 并装配 Wails

前端同步更新(Wails 绑定路径 go/main → go/app):
- window.go.main.App → window.go.app.App(10 处)
- env.d.ts 类型声明路径 wailsjs/go/main/App → wailsjs/go/app/App

根目录 Go 文件从 7 个减至 1 个(main.go),元文件更清晰
2026-07-29 13:27:08 +08:00

48 lines
1.0 KiB
Go

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: 1280,
Height: 860,
MinWidth: 900,
MinHeight: 600,
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)
}
}