修复 jwt payload解析的错误
This commit is contained in:
67
utils/wevent/base_event.go
Normal file
67
utils/wevent/base_event.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package wevent
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
// 和前端交流的事件机制
|
||||
type EventType string
|
||||
|
||||
const (
|
||||
UserEmailRegister EventType = "E_USER_EMAIL_REGISTER" // 用户注册
|
||||
)
|
||||
|
||||
// WebsocketEvent 所有事件都必须继承这个结构体
|
||||
type WebsocketEvent struct {
|
||||
Type EventType `json:"event_type"` // 事件
|
||||
SenderTime time.Time `json:"sender_time"` // 发送的时间, 可能用来统计时间
|
||||
TraceId string `json:"trace_id"` // 链路ID
|
||||
Code int `json:"code"` // 状态码
|
||||
Message string `json:"msg"` // 描述
|
||||
Data any `json:"data"` // 关注的数据
|
||||
}
|
||||
|
||||
// NewWebsocketEvent 创建一个Websocket事件
|
||||
func NewWebsocketEvent(etype EventType, TraceId string) *WebsocketEvent {
|
||||
return &WebsocketEvent{
|
||||
Type: etype,
|
||||
SenderTime: time.Now().UTC(),
|
||||
TraceId: TraceId,
|
||||
}
|
||||
}
|
||||
|
||||
// NewWebsocketEventSuccess 创建一个Websocket事件伴随Code(200)
|
||||
func NewWebsocketEventSuccess(etype EventType, TraceId string) *WebsocketEvent {
|
||||
return &WebsocketEvent{
|
||||
Type: etype,
|
||||
SenderTime: time.Now().UTC(),
|
||||
TraceId: TraceId,
|
||||
Code: 200,
|
||||
Message: "success",
|
||||
}
|
||||
}
|
||||
|
||||
func (event *WebsocketEvent) WithData(data any) *WebsocketEvent {
|
||||
event.Data = data
|
||||
return event
|
||||
}
|
||||
|
||||
func (event *WebsocketEvent) WithMessgae(msg string) *WebsocketEvent {
|
||||
event.Message = msg
|
||||
return event
|
||||
}
|
||||
|
||||
func (event *WebsocketEvent) WithCode(code int) *WebsocketEvent {
|
||||
event.Code = code
|
||||
return event
|
||||
}
|
||||
|
||||
func (event *WebsocketEvent) WithTraceId(traceId string) *WebsocketEvent {
|
||||
event.TraceId = traceId
|
||||
return event
|
||||
}
|
||||
|
||||
func (event *WebsocketEvent) WithSenderTime(senderTime time.Time) *WebsocketEvent {
|
||||
event.SenderTime = senderTime
|
||||
return event
|
||||
}
|
||||
6
utils/wevent/event.go
Normal file
6
utils/wevent/event.go
Normal file
@@ -0,0 +1,6 @@
|
||||
package wevent
|
||||
|
||||
// 用户注册成功的事件关注的数据
|
||||
type DataEmailRegister struct {
|
||||
JwtToken string `json:"token"` // 注册成功的事件码
|
||||
}
|
||||
14
utils/wevent/event_test.go
Normal file
14
utils/wevent/event_test.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package wevent
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"log"
|
||||
"testing"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func TestEvent(t *testing.T) {
|
||||
data, _ := json.Marshal(NewWebsocketEvent(UserEmailRegister, uuid.NewString()).WithCode(200))
|
||||
log.Println(string(data))
|
||||
}
|
||||
Reference in New Issue
Block a user