package model import "time" // MusicCategory 音乐分类(曲风) type MusicCategory struct { ID uint `gorm:"primaryKey" json:"id"` Name string `gorm:"size:50;not null" json:"name"` Icon string `gorm:"size:50" json:"icon"` Sort int `gorm:"default:0" json:"sort"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // Song 歌曲模型(3 套音乐网站共用同一套数据) type Song struct { ID uint `gorm:"primaryKey" json:"id"` Title string `gorm:"size:200;not null" json:"title"` // 歌曲名 Artist string `gorm:"size:100;not null" json:"artist"` // 歌手 Album string `gorm:"size:200" json:"album"` // 专辑 CategoryID uint `gorm:"index" json:"category_id"` CategoryName string `gorm:"size:50" json:"category_name"` // 曲风 Cover string `gorm:"size:255" json:"cover"` // 封面URL Duration int `gorm:"default:0" json:"duration"` // 时长(秒) PlayCount int `gorm:"default:0" json:"play_count"` // 播放量 LikeCount int `gorm:"default:0" json:"like_count"` // 收藏量 Lyrics string `gorm:"type:text" json:"lyrics"` // 歌词 ReleaseDate string `gorm:"size:20" json:"release_date"` // 发行日期 Language string `gorm:"size:50" json:"language"` // 语种 Tags string `gorm:"type:text" json:"tags"` // JSON: 标签数组 IsHot bool `gorm:"default:false" json:"is_hot"` // 热门 IsNew bool `gorm:"default:false" json:"is_new"` // 新歌 Sort int `gorm:"default:0" json:"sort"` Status int `gorm:"default:1;not null" json:"status"` // 1=上架 CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }