- 新增收藏夹系统 (Folder/FolderItem 模型、CRUD API、前端管理页) - 新增文章详情页收藏按钮 (书签图标、ToggleFavorite 一键收藏) - 新增 Studio 趋势图 (赋能值/评论/点赞/收藏 4 线图, 7d/30d/90d) - 新增通知偏好设置页 (评论/回复/点赞/关注 4 类开关) - 后端通知列表支持按偏好过滤 (排除已关闭的通知类型) - 下载 Chart.js 到本地静态资源 (static/js/chart.umd.min.js) - 补充收藏夹卡片、开关滑块、趋势图网格等 CSS 样式
31 lines
1.1 KiB
Go
31 lines
1.1 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// Folder 收藏夹
|
|
type Folder struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
UserID uint `gorm:"index;not null" json:"user_id"`
|
|
Name string `gorm:"type:varchar(50);not null" json:"name"`
|
|
Description string `gorm:"type:varchar(200);default:''" json:"description"`
|
|
IsPublic bool `gorm:"default:false" json:"is_public"`
|
|
IsDefault bool `gorm:"default:false" json:"is_default"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
// 联表查询填充(非数据库字段)
|
|
ItemCount int64 `gorm:"-:migration;<-:false;column:item_count" json:"item_count,omitempty"`
|
|
}
|
|
|
|
// FolderItem 收藏记录
|
|
type FolderItem struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
FolderID uint `gorm:"index;not null" json:"folder_id"`
|
|
PostID uint `gorm:"index;not null" json:"post_id"`
|
|
UserID uint `gorm:"index;not null" json:"user_id"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
|
// 联表查询填充
|
|
PostTitle string `gorm:"-:migration;<-:false;column:post_title" json:"post_title,omitempty"`
|
|
}
|