mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-02-03 02:54:41 +08:00
83 lines
2.2 KiB
Go
83 lines
2.2 KiB
Go
// Package tcp
|
||
// @Link https://github.com/bufanyun/hotgo
|
||
// @Copyright Copyright (c) 2023 HotGo CLI
|
||
// @Author Ms <133814250@qq.com>
|
||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||
package tcp
|
||
|
||
import (
|
||
"github.com/gogf/gf/v2/errors/gcode"
|
||
"github.com/gogf/gf/v2/errors/gerror"
|
||
"github.com/gogf/gf/v2/frame/g"
|
||
)
|
||
|
||
type ServerRes struct {
|
||
Code int `json:"code" example:"2000" description:"状态码"`
|
||
Message string `json:"message,omitempty" example:"操作成功" description:"提示消息"`
|
||
}
|
||
|
||
// SetCode 设置状态码
|
||
func (i *ServerRes) SetCode(code ...int) {
|
||
if len(code) > 0 {
|
||
i.Code = code[0]
|
||
return
|
||
}
|
||
|
||
// 默认值,转为成功的状态码
|
||
if i.Code == 0 {
|
||
i.Code = gcode.CodeOK.Code()
|
||
}
|
||
}
|
||
|
||
// SetMessage 设置提示消息
|
||
func (i *ServerRes) SetMessage(msg ...string) {
|
||
message := "操作成功"
|
||
if len(msg) > 0 {
|
||
message = msg[0]
|
||
}
|
||
i.Message = message
|
||
}
|
||
|
||
// SetError 设置响应中的错误
|
||
func (i *ServerRes) SetError(err error) {
|
||
if err != nil {
|
||
i.Code = gerror.Code(err).Code()
|
||
i.Message = err.Error()
|
||
}
|
||
}
|
||
|
||
// GetError 获取响应中的错误
|
||
func (i *ServerRes) GetError() (err error) {
|
||
if i.Code != gcode.CodeOK.Code() {
|
||
if i.Message == "" {
|
||
i.Message = "操作失败"
|
||
}
|
||
err = gerror.NewCode(gcode.New(i.Code, i.Message, ""))
|
||
}
|
||
return
|
||
}
|
||
|
||
// ServerLoginReq 服务登录
|
||
type ServerLoginReq struct {
|
||
Name string `json:"name" description:"客户端名称"` // 客户端名称,当同一个应用ID有多个客户端时请使用不同的名称区分。比如cron1,cron2
|
||
Extra g.Map `json:"extra" description:"自定义数据"` // 自定义数据,可以传递一些额外的自定义数据
|
||
Group string `json:"group" description:"分组"`
|
||
AppId string `json:"appID" description:"应用ID"`
|
||
Timestamp int64 `json:"timestamp" description:"服务器时间戳"`
|
||
Sign string `json:"sign" description:"签名"`
|
||
}
|
||
|
||
// ServerLoginRes 响应服务登录
|
||
type ServerLoginRes struct {
|
||
ServerRes
|
||
}
|
||
|
||
// ServerHeartbeatReq 心跳
|
||
type ServerHeartbeatReq struct {
|
||
}
|
||
|
||
// ServerHeartbeatRes 响应心跳
|
||
type ServerHeartbeatRes struct {
|
||
ServerRes
|
||
}
|