# Go Server SDK XuqmGroup 服务端 Go SDK,提供 IM 消息发送、群管理、Push 推送等能力。 --- ## 安装 ```bash go get xuqinmin.com/xuqinmin12/XuqmGroup-ServerSDK-Go ``` --- ## 初始化 ```go import xuqmsdk "xuqinmin.com/xuqinmin12/XuqmGroup-ServerSDK-Go" client := xuqmsdk.NewClient(xuqmsdk.Config{ BaseURL: "https://dev.xuqinmin.com", AppID: "your_app_id", AppSecret: "your_app_secret", }) ``` > 服务端 SDK 需要 `appSecret` 用于 HMAC 签名,`appSecret` 绝不下发到客户端。 --- ## 发送消息 ```go msg, err := client.SendMessage(xuqmsdk.SendMessageRequest{ ToID: "user_002", ChatType: "SINGLE", MsgType: "TEXT", Content: "Hello from Go SDK!", }) if err != nil { log.Fatal(err) } log.Printf("消息已发送: %s", msg.ID) ``` ### 发送群消息 ```go msg, err := client.SendMessage(xuqmsdk.SendMessageRequest{ ToID: "group_xxx", ChatType: "GROUP", MsgType: "TEXT", Content: "大家好", }) ``` ### 撤回消息 ```go err := client.RevokeMessage("message_id") ``` --- ## 群管理 ```go // 创建群组 group, err := client.CreateGroup(xuqmsdk.CreateGroupRequest{ Name: "项目讨论", MemberIDs: []string{"user_001", "user_002"}, }) // 添加群成员 err = client.AddGroupMember("group_xxx", "user_003") // 移除群成员 err = client.RemoveGroupMember("group_xxx", "user_003") // 获取群列表 groups, err := client.ListGroups() // 获取群成员 members, err := client.ListGroupMembers("group_xxx") ``` --- ## Push 推送 ```go err := client.SendPush(xuqmsdk.SendPushRequest{ UserID: "user_001", Title: "新消息", Body: "你有一条未读消息", Payload: map[string]string{"chatId": "user_002"}, }) ``` --- ## 错误处理 SDK 返回的错误实现了标准 `error` 接口。业务方可根据错误类型做不同处理: ```go msg, err := client.SendMessage(req) if err != nil { // 可断言为 *xuqmsdk.APIError 获取 HTTP 状态码和详细错误信息 if apiErr, ok := err.(*xuqmsdk.APIError); ok { log.Printf("API 错误: status=%d, code=%d, message=%s", apiErr.Status, apiErr.Code, apiErr.Message) } } ``` [→ Server API 文档 →](/server/api)