package main import ( "changeme/initFunc" "context" "embed" "github.com/gogf/gf/util/gconv" "github.com/gogf/gf/v2/frame/g" "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 //go:embed wails.json var wailsjson embed.FS var wailsConfig map[string]interface{} func init() { wailsConfig = make(map[string]interface{}) } type App struct { ctx context.Context } func main() { // Create an instance of the app structure app := NewApp() //开启视频监控的exe go initFunc.RunPiServerExe() go initFunc.SetupCert() wilsJon,_ := wailsjson.ReadFile("wails.json") wailsConfig = gconv.Map(wilsJon) //读取wails.json配置文件 wailsConfigOem := initFunc.RequestOemSettingInfo(gconv.Map(wilsJon)) //将 wailsConfig 保存起来 if wailsConfigOem == nil { wailsConfigOem = g.Map{ "brand_name": "Error-config", "website_url": "https://www.baidu.com", } } // Create application with options err := wails.Run(&options.App{ Title: wailsConfigOem["brand_name"].(string), Width: 1024, Height: 768, AssetServer: &assetserver.Options{ Assets: assets, }, BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1}, OnStartup: app.startup, Bind: []interface{}{ app, }, }) if err != nil { println("Error:", err.Error()) } } // NewApp creates a new App application struct func NewApp() *App { return &App{} } // startup is called when the app starts. The context is saved // so we can call the runtime methods func (a *App) startup(ctx context.Context) { a.ctx = ctx } // oem的门店管理地址 func (a *App) ShopUrl() string { wailsConfigOem := initFunc.RequestOemSettingInfo(wailsConfig) if wailsConfigOem == nil { return "https://www.baidu.com" } return wailsConfigOem["domain"].(string)+"?oem_id="+gconv.String(wailsConfigOem["id"]) }