feat(desktop): 真实 Wails 桌面应用可构建可运行
把 Wails 壳从编译不过的桩做成能启动的原生桌面应用。 - main.go: 真实 Wails v2 入口(import wails + assetserver + AssetServer 嵌入 dist + 深色背景 #0b0d12 + OnStartup + Bind) - app.go: App.startup 注入 ctx; ReadLocalFile 做真(os.ReadFile, 本地文件 I/O) + Ping 探活 - go.mod: GOWORK=off go mod tidy 拉全 wails v2.12 依赖树 - Makefile: desktop=GOWORK=off wails dev(原生窗口热重载); desktop-build=wails build(打包.app) — 用 GOWORK=off 让自包含的 desktop 独立构建,不污染后端 go.work - .gitignore: 忽略 wails 生成物(build/ wailsjs/ package.json.md5) - 验证: go build 出 5.7MB 原生二进制(含 webkit cgo); wails build 全过 → build/bin/sundynix_desktop.app(生成绑定/编译前端/编译应用/打包/自签名) - 运行: make desktop(开发窗口) 或 make desktop-build(打包); 桌面端前端经 HTTP 连 Gateway:8080(CORS 已放开), 需先起后端 + 配模型 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
// Command sundynix-desktop —— 第 1 层客户端,Wails 本地 Go 运行时入口。
|
||||
// Command sundynix-desktop —— 第 1 层客户端,Wails 原生桌面应用入口。
|
||||
package main
|
||||
|
||||
import (
|
||||
"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/dist
|
||||
@@ -13,9 +15,14 @@ var assets embed.FS
|
||||
func main() {
|
||||
app := NewApp()
|
||||
_ = wails.Run(&options.App{
|
||||
Title: "sundynix-agentix",
|
||||
Width: 1280,
|
||||
Height: 800,
|
||||
Title: "sundynix-agentix",
|
||||
Width: 1440,
|
||||
Height: 900,
|
||||
MinWidth: 1100,
|
||||
MinHeight: 700,
|
||||
BackgroundColour: &options.RGBA{R: 11, G: 13, B: 18, A: 1}, // 与深色主题一致 #0b0d12
|
||||
AssetServer: &assetserver.Options{Assets: assets},
|
||||
OnStartup: app.startup,
|
||||
// Bind: TS/Go 强绑定 —— 把 App 的方法暴露给前端
|
||||
Bind: []any{app},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user