Files
bl/logic/controller/login.go
昔念 cb87fda0d1 refactor(rpc): 重构 RPC 客户端并优化日志记录
- 在 rpc 包中添加了 g.Log() 调用,用于记录 RPC 服务器启动和错误信息
- 重构了 controller 包,将 LogicClient 从 Controller 结构体中分离出来
- 优化了 login 控制器中的 Login 方法,增加了新客户端的创建和数据发送逻辑
- 简化了 systemtime 控制器中的 SystemTimeInfo 方法
- 更新了 server.go 中的 Start 函数,使用 new(controller.LogicClient) 替代 controller.Maincontroller
2025-07-25 23:37:02 +08:00

34 lines
989 B
Go

package controller
import (
"blazing/common/data/entity"
"blazing/common/data/share"
"blazing/logic/service"
"blazing/logic/service/login"
"blazing/logic/service/maps"
"github.com/panjf2000/gnet/v2"
)
// 处理命令: 1001
func (h *Controller) Login(data *login.LoginSidInfo, c gnet.Conn) (result *maps.MapHotOutboundInfo, err service.OutInfo) { //这个时候player应该是空的
if tt := data.CheakSession(); tt { //说明sid正确
h.RPCClient.Kick(data.Head.UserID) //先踢人
// h.RPCClient.UserLogin(int32(h.Port), int32(data.Head.UserID)) //初始化用户登录
t := service.SetPlayer(c, data.Head.UserID)
share.ShareManager.SetUserOnline(data.Head.UserID, h.Port) //设置用户登录服务器
t.CompleteLogin() //通知客户端登录成功
r := entity.NewConn(c) //这里实现新增客户端
r.SendPack(data.Def())
} else {
err = &login.LoginErr{}
return
}
return
}