Files

56 lines
1.1 KiB
Go

package models
import (
"time"
)
type ChatMessage struct {
UserID string // 发言对象
UserName string // 发言对象名字
TarUserID string // 接收对象
CreateTx time.Time
Type string
Text string
}
const (
ChatTypeText = "TEXT" // 对话
ChatTypeCard = "CARD" // 工具卡片分享
)
func NewTextChatMsg(user *Users, tarUid string, text string) *ChatMessage {
return &ChatMessage{
UserID: user.ID,
UserName: user.Name,
TarUserID: tarUid,
CreateTx: time.Now(),
Type: ChatTypeText,
Text: text,
}
}
type Message struct {
Cmd string
User UserFollows
ChatMessage ChatMessage
}
//
//// Value 接口,Value 返回 json value any -> string
//func (j *Users) Value() (driver.Value, error) {
// return json.Marshal(j)
//}
//
//// Scan 接口,Scan 将 value 扫描至 Jsonb
//func (j *Users) Scan(value interface{}) error {
// bytes, ok := value.([]byte)
// if !ok {
// return errors.New(fmt.Sprint("Failed to unmarshal JSONB value:", value))
// }
// err := json.Unmarshal(bytes, j)
// if err != nil {
// return err
// }
// return nil
//}