fix: 客户端和网关只能通过长连接方式通信,移除 HTTP 注册端点

This commit is contained in:
fish
2026-03-28 20:26:24 +08:00
parent b6efd99ea3
commit 4f1c0ca9b6
4 changed files with 73 additions and 65 deletions

View File

@@ -133,7 +133,64 @@ func (c *Client) handleCommand(msg *Message) {
// 这里可以根据命令类型执行不同的操作
log.Printf("Received command: %v", msg.Data)
// 示例:回复命令执行结果
// 检查是否是注册命令
if cmdData, ok := msg.Data.(map[string]interface{}); ok {
if cmdType, ok := cmdData["type"].(string); ok && cmdType == "register" {
// 提取注册信息
account, accountOk := cmdData["account"].(string)
password, passwordOk := cmdData["password"].(string)
if !accountOk || !passwordOk {
// 回复错误信息
errorResponse := &Message{
Type: MessageTypeError,
Content: "Invalid register command: missing account or password",
}
c.send <- errorResponse
return
}
// 调用用户服务注册
if c.hub.userService != nil {
// 异步调用用户服务注册
go func() {
resp, err := c.hub.userService.Register(nil, account, password)
if err != nil {
// 回复错误信息
errorResponse := &Message{
Type: MessageTypeError,
Content: "Register failed: " + err.Error(),
}
c.send <- errorResponse
return
}
// 回复成功信息
successResponse := &Message{
Type: MessageTypeText,
Content: "Register successful",
Data: map[string]interface{}{
"user_id": resp.UserId,
"account": resp.Account,
"message": resp.Response.Message,
"code": resp.Response.Code,
},
}
c.send <- successResponse
}()
} else {
// 回复错误信息
errorResponse := &Message{
Type: MessageTypeError,
Content: "User service not available",
}
c.send <- errorResponse
}
return
}
}
// 其他命令处理
response := &Message{
Type: MessageTypeText,
Content: "Command executed successfully",