diff --git a/common/socket/errorcode/error.go b/common/socket/errorcode/error.go index 69c4bca2..14d1e2a2 100644 --- a/common/socket/errorcode/error.go +++ b/common/socket/errorcode/error.go @@ -1,17 +1,23 @@ package errorcode -import "github.com/tnnmigga/enum" +import ( + "fmt" + + "github.com/tnnmigga/enum" +) // ErrorCode 错误码枚举类型 type ErrorCode uint32 +func (t ErrorCode) Code() string { return fmt.Sprintf("%d", t) } + // ErrorMap 错误码到错误信息的映射 //var ErrorMap = make(map[ErrorCode]ErrorInfo) // ErrorCodes 错误码注册表 var ErrorCodes = enum.New[struct { - // 系统错误码 - ErrLoginFailed ErrorCode `enum:"10001"` // 登录失败 + // 登录失败 + ErrLoginFailed ErrorCode `enum:"10001"` ErrAlreadyLoggedIn ErrorCode `enum:"10004"` // 已在别处登录 ErrIllegalLanguage ErrorCode `enum:"10005"` // 使用非法语言 ErrUserOffline ErrorCode `enum:"10006"` // 用户离线 diff --git a/logic/controller/controller.go b/logic/controller/controller.go index 570a7d2b..1910cd5d 100644 --- a/logic/controller/controller.go +++ b/logic/controller/controller.go @@ -2,6 +2,7 @@ package controller import ( "blazing/common/data/entity" + "blazing/common/socket/errorcode" "blazing/common/socket/handler" "blazing/cool" "blazing/logic/service" @@ -208,13 +209,13 @@ func Recv(c *entity.Conn, data handler.TomeeHeader) { return } - aa, ok := ret[1].Interface().(service.OutInfo) //判断错误 + aa, ok := ret[1].Interface().(errorcode.ErrorCode) //判断错误 - if ok && aa != nil { //这里实现回复错误包 + if ok && aa != 0 { //这里实现回复错误包 - cool.Loger.Error(context.Background(), aa.Error(), aa.Code()) + cool.Loger.Error(context.Background(), aa.Code()) - data.Result = uint32(aa.Code()) + data.Result = uint32(aa) c.SendPack(data.Pack(nil)) return diff --git a/logic/controller/getserver.go b/logic/controller/getserver.go index 4be33ce2..8add307e 100644 --- a/logic/controller/getserver.go +++ b/logic/controller/getserver.go @@ -1,14 +1,14 @@ package controller import ( - "blazing/logic/service" + "blazing/common/socket/errorcode" "blazing/logic/service/commendsvr" "github.com/panjf2000/gnet/v2" ) // 处理命令: 105 -func (h Controller) GetServer(data *commendsvr.SidInfo, c gnet.Conn) (result *commendsvr.CommendSvrInfo, err service.OutInfo) { //这个时候player应该是空的 +func (h Controller) GetServer(data *commendsvr.SidInfo, c gnet.Conn) (result *commendsvr.CommendSvrInfo, err errorcode.ErrorCode) { //这个时候player应该是空的 result = commendsvr.NewInInfo() result.ServerList = commendsvr.GetServerInfoList() return diff --git a/logic/controller/login.go b/logic/controller/login.go index 189c79d6..868491bf 100644 --- a/logic/controller/login.go +++ b/logic/controller/login.go @@ -3,12 +3,13 @@ package controller import ( "blazing/common/data/entity" "blazing/common/data/share" + "blazing/common/socket/errorcode" "blazing/logic/service" "blazing/logic/service/login" ) // 处理命令: 1001 -func (h *Controller) Login(data *login.InInfo, c *entity.Conn) (result *login.OutInfo, err service.OutInfo) { //这个时候player应该是空的 +func (h *Controller) Login(data *login.InInfo, c *entity.Conn) (result *login.OutInfo, err errorcode.ErrorCode) { //这个时候player应该是空的 if tt := data.CheakSession(); tt { //说明sid正确 h.RPCClient.Kick(data.Head.UserID) //先踢人 @@ -19,11 +20,10 @@ func (h *Controller) Login(data *login.InInfo, c *entity.Conn) (result *login.Ou share.ShareManager.SetUserOnline(data.Head.UserID, h.Port) //设置用户登录服务器 t.CompleteLogin() //通知客户端登录成功 - c.SendPack(data.Def()) } else { - err = &login.LoginErr{} + err = errorcode.ErrorCodes.ErrLoginFailed return } return diff --git a/logic/controller/maphot.go b/logic/controller/maphot.go index 69367f35..d577a481 100644 --- a/logic/controller/maphot.go +++ b/logic/controller/maphot.go @@ -2,11 +2,11 @@ package controller import ( "blazing/common/data/entity" - "blazing/logic/service" + "blazing/common/socket/errorcode" "blazing/logic/service/maphot" ) -func (h Controller) MapHot(data *maphot.InInfo, c *entity.Player) (result *maphot.OutInfo, err service.OutInfo) { +func (h Controller) MapHot(data *maphot.InInfo, c *entity.Player) (result *maphot.OutInfo, err errorcode.ErrorCode) { data.Def() result = &maphot.OutInfo{ diff --git a/logic/controller/systemtime.go b/logic/controller/systemtime.go index d541ef43..d6483a34 100644 --- a/logic/controller/systemtime.go +++ b/logic/controller/systemtime.go @@ -2,11 +2,11 @@ package controller import ( "blazing/common/data/entity" - "blazing/logic/service" + "blazing/common/socket/errorcode" "blazing/logic/service/systemtime" ) -func (h Controller) SystemTimeInfo(data *systemtime.InInfo, c *entity.Player) (result *systemtime.OutInfo, err service.OutInfo) { +func (h Controller) SystemTimeInfo(data *systemtime.InInfo, c *entity.Player) (result *systemtime.OutInfo, err errorcode.ErrorCode) { result = systemtime.NewOutInfo() return diff --git a/logic/service/login/LoginErr.go b/logic/service/login/LoginErr.go deleted file mode 100644 index 2f3218aa..00000000 --- a/logic/service/login/LoginErr.go +++ /dev/null @@ -1,19 +0,0 @@ -package login - -import ( - "blazing/common/socket/errorcode" -) - -type LoginErr struct { -} - -func (h *LoginErr) Code() errorcode.ErrorCode { - - return errorcode.ErrorCodes.ErrLoginFailed - -} -func (h *LoginErr) Error() string { - - return "登录失败" - -} diff --git a/logic/service/service.go b/logic/service/service.go index e90ca701..e8c2550f 100644 --- a/logic/service/service.go +++ b/logic/service/service.go @@ -58,11 +58,11 @@ func SetPlayer(c *entity.Conn, userid uint32) *entity.Player { //TODO 这里待 // return nil } -/** - * @var type OutboundInf - * @global - */ -type OutInfo interface { - error //实现错误接口 - Code() errorcode.ErrorCode //返回错误码,如果error不等于nil就返回这个实现对前台传错误码 -} +// /** +// * @var type OutboundInf +// * @global +// */ +// type OutInfo interface { +// error //实现错误接口 +// Code() errorcode.ErrorCode //返回错误码,如果error不等于nil就返回这个实现对前台传错误码 +// } diff --git a/logic/service/systemtime/TimeErr.go b/logic/service/systemtime/TimeErr.go deleted file mode 100644 index b98eb94e..00000000 --- a/logic/service/systemtime/TimeErr.go +++ /dev/null @@ -1,17 +0,0 @@ -package systemtime - -import "blazing/common/socket/errorcode" - -type TimeErr struct { -} - -func (h *TimeErr) Code() errorcode.ErrorCode { - - return errorcode.ErrorCodes.ErrInvalidPassword - -} -func (h *TimeErr) Error() string { - - return "登录失败" - -}