fix: 客户端和网关只能通过长连接方式通信,移除 HTTP 注册端点
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user