// ============================================================================ // greetservice.go — Wails 示例服务 // // GreetService 用于验证 Go↔JS 绑定链路,提供 Greet / GreetMany 示例方法。 // ============================================================================ package main import "strings" // GreetService 是一个暴露给前端调用的示例服务。 // 在 main.go 中通过 application.NewService(&GreetService{}) 注册后, // Wails 会自动为其生成 JS/TS 绑定(frontend/bindings 目录), // 前端即可像调用本地函数一样直接调用 Greet 方法(底层通过 IPC 桥接)。 type GreetService struct{} // Greet 返回对 name 的问候语。 // // 调用链:前端 main.js 的 doGreet() → GreetService.Greet(name) → 本方法。 // 前端调用示例:GreetService.Greet("张三") → 返回 "您好 张三!" // 参数与返回值由 Wails 自动完成 Go 与 JS 之间的序列化/反序列化。 func (g *GreetService) Greet(name string) string { return "您好 " + name + "!" // 拼接并返回问候语,由 Wails 自动序列化后回传给前端 } // GreetMany 返回对一批 name 的问候语(示例方法,演示切片参数的绑定与序列化)。 func (g *GreetService) GreetMany(names []string) string { greetings := make([]string, len(names)) for i, name := range names { greetings[i] = name } return "您们好 " + strings.Join(greetings, ", ") + " !" }