| 1234567891011121314151617181920212223242526272829303132 |
- // ============================================================================
- // 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, ", ") + " !"
- }
|