hotgo/server/internal/model/input/msgin/common.go

62 lines
1.5 KiB
Go

package msgin
import (
"fmt"
"github.com/gogf/gf/v2/os/gtime"
"hotgo/utility/encrypt"
)
type Request struct {
AppId string `json:"appID" v:"0" example:"d0bb93048bc5c9164cdee845dcb7f820" description:"应用ID"`
TraceID string `json:"traceID" v:"0" example:"d0bb93048bc5c9164cdee845dcb7f820" description:"链路ID"`
Timestamp int64 `json:"timestamp" example:"1640966400" description:"服务器时间戳"`
Sign string `json:"sign" example:"d0bb93048bc5c9164cdee845dcb7f820" description:"签名"`
}
func (i *Request) SetSign(traceID, appId, secretKey string) {
i.AppId = appId
i.TraceID = traceID
i.Timestamp = gtime.Timestamp()
i.Sign = i.GetSign(secretKey)
}
func (i *Request) GetSign(secretKey string) string {
return encrypt.Md5ToString(fmt.Sprintf("%s%s%s%s", i.AppId, i.TraceID, i.Timestamp, secretKey))
}
type Response struct {
Code int `json:"code" example:"0" description:"状态码"`
Message string `json:"message,omitempty" example:"操作成功" description:"提示消息"`
//Data interface{} `json:"data,omitempty" description:"数据集"`
}
// ServerHeartbeat 心跳
type ServerHeartbeat struct {
}
// ResponseServerHeartbeat 响应心跳
type ResponseServerHeartbeat struct {
Response
}
// ServerLogin 服务登录
type ServerLogin struct {
Request
Group string
Name string
}
// ResponseServerLogin 响应服务登录
type ResponseServerLogin struct {
Response
}
// ServerOffline 服务离线
type ServerOffline struct {
}
// ResponseServerOffline 响应服务离线
type ResponseServerOffline struct {
Response
}