pet-ai/server/websocket/message.go

55 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package websocket
// Message WebSocket下发消息结构体
type Message struct {
Type string `json:"type"` // 消息类型message, error, done
Data interface{} `json:"data"` // 消息数据
}
// MessageData 流式消息数据结构体
type MessageData struct {
Delta string `json:"delta"` // 增量消息内容
}
// ErrorData 错误数据结构体
type ErrorData struct {
Error string `json:"error"` // 错误信息
}
// DoneData 完成数据结构体
type DoneData struct {
Message string `json:"message"` // 完整消息内容
SessionId string `json:"sessionId"` // 会话ID
}
// NewMessageEvent 创建消息事件
func NewMessageEvent(delta string) Message {
return Message{
Type: "message",
Data: MessageData{
Delta: delta,
},
}
}
// NewErrorEvent 创建错误事件
func NewErrorEvent(errorMsg string) Message {
return Message{
Type: "error",
Data: ErrorData{
Error: errorMsg,
},
}
}
// NewDoneEvent 创建完成事件
func NewDoneEvent(message, sessionId string) Message {
return Message{
Type: "done",
Data: DoneData{
Message: message,
SessionId: sessionId,
},
}
}