package model import "gorm.io/datatypes" // 帖子状态 const ( PostPublished = "published" PostHidden = "hidden" PostDeleted = "deleted" ) // Post 社区帖子 type Post struct { Base UserID string `gorm:"size:24;index" json:"user_id"` PetID *string `gorm:"size:24" json:"pet_id"` AuthorName string `gorm:"size:64" json:"author_name"` AuthorEmoji string `gorm:"size:16" json:"author_emoji"` Identity string `gorm:"size:16" json:"identity"` // petName / anonymous / official Content string `gorm:"type:text" json:"content"` Tags datatypes.JSON `json:"tags"` Images datatypes.JSON `json:"images"` // 展示用:URL 数组(真实图)或 emoji 数组(机器人) ImageFileIDs datatypes.JSON `json:"image_file_ids"` // 关联 files 表的 id 数组,读取时解析为 Images LikeCount int `json:"like_count"` CommentCount int `json:"comment_count"` Status string `gorm:"size:16;default:published;index" json:"status"` IsAI bool `gorm:"size:24;index" json:"is_ai"` // AI 运营生成的帖子,前端打「AI」标 // 以下为计算字段,按当前登录用户填充 Followed bool `gorm:"-" json:"followed"` // 我是否已关注该作者 IsSelf bool `gorm:"-" json:"is_self"` // 是不是我自己发的 }