package models import "time" // CommentConfig 保存单例(id=1)的全局评论策略。 type CommentConfig struct { ID uint `gorm:"primarykey" json:"id"` Enabled bool `gorm:"default:true" json:"enabled"` // 评论系统的总开关 AllowGuest bool `gorm:"default:true" json:"allow_guest"` // 是否允许匿名(非登录)评论 GuestRequireApproval bool `gorm:"default:false" json:"guest_require_approval"` // 将访客评论置于审核队列 // SECURITY_TODO #15:Gravatar 可通过反向查询暴露 MD5(邮箱); // 新部署默认关闭(管理员可显式重新启用)。 UseGravatar bool `gorm:"default:false" json:"use_gravatar"` // 为 false 时,头像显示为文本首字母占位 UpdatedBy uint `gorm:"index" json:"updated_by"` UpdatedAt time.Time `json:"updated_at"` } // TableName 覆盖 GORM 默认的表名。 func (CommentConfig) TableName() string { return "comment_configs" } // defaultCommentConfig 返回数据库行被初始化之前使用的内存回退值, // 与初始化种子默认值保持一致。 func defaultCommentConfig() *CommentConfig { return &CommentConfig{ ID: 1, Enabled: true, AllowGuest: true, GuestRequireApproval: false, UseGravatar: false, } }