Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FileHashToDb ¶
func FileHashToDb(file *multipart.FileHeader, saveFilePath string, suffix string) res.FileUpload
Types ¶
type ArticleModel ¶
type ArticleModel struct { gorm.Model Title string `gorm:"size:64" json:"title"` // 文章标题 Abstract string `json:"abstract"` // 文章摘要 Content string `gorm:"type:longtext" json:"content"` // 文章内容 LookCount int `gorm:"default:0" json:"look_count"` // 浏览量 CommentCount int `gorm:"default:0" json:"comment_count"` // 评论量 DiggCount int `gorm:"default:0" json:"digg_count"` // 点赞量 TagModels []TagModel `gorm:"many2many:article_tag" json:"tag_models"` // 文章标签 CommentModels []CommentModel `gorm:"foreignKey:ArticleID" json:"-"` // 文章评论列表 UserModel UserModel `gorm:"foreignKey:UserID" json:"-"` // 文章作者 UserID uint `json:"user_id"` // 用户 Category string `gorm:"size:20" json:"category"` // 文章分类 Source string `json:"source"` // 文章来源 Link string `json:"link"` // 文章来源链接 Cover ImageModel `json:"-"` // 文章封面 CoverID uint `json:"cover_id"` // 文章封面ID CoverPath string `json:"cover_path"` // 文章封面路径 Nickname string `gorm:"size:42" json:"nick_name"` // 文章作者昵称 Tags ctype.Array `gorm:"type:string;size:64" json:"tags"` // 文章标签 }
type CommentModel ¶
type CommentModel struct { gorm.Model SubComments []*CommentModel `gorm:"foreignKey:ParentCommentID" json:"sub_comments"` // 子评论列表 ParentCommentModel *CommentModel `gorm:"foreignKey:ParentCommentID" json:"parent_comment_model"` // 父评论 ParentCommentID *uint `json:"parent_comment_id"` // 父评论ID Content string `gorm:"type:longtext" json:"content"` // 评论内容 DiggCount int `gorm:"size:8;default:0" json:"digg_count"` // 点赞数 CommentCount int `gorm:"size:8;default:0" json:"comment_count"` // 评论数 Article ArticleModel `gorm:"foreignKey:ArticleID" json:"-"` // 所属文章 关联的文章 注意这里,如果数据库一开始创建了文章,这里会报错,因为文章表还没有创建,所以这里需要先创建文章表,再创建评论表 ArticleID uint `json:"article_id"` // 所属文章ID User UserModel `json:"user"` // 评论用户 关联的用户 UserID uint `json:"user_id"` // 评论用户ID }
type ImageModel ¶
type ImageModel struct { gorm.Model Path string `json:"path"` // 图片路径 Hash string `json:"hash"` // 图片hash Name string `gorm:"size:128" json:"name"` // 图片名称 Suffix string `gorm:"size:8" json:"suffix"` // 文件后缀 Type string `gorm:"size:8;default:'image'" json:"type"` // 文件类型 image 或者 file FileLocation ctype.FileLocationType `gorm:"size:8;default:1" json:"file_location"` }
func (*ImageModel) BeforeDelete ¶
func (file *ImageModel) BeforeDelete(tx *gorm.DB) (err error)
BeforeDelete 删除前的钩子
type LoginDataModel ¶
type LoginDataModel struct { gorm.Model UserID uint `json:"user_id"` UserModel UserModel `gorm:"foreignKey:UserID" json:"-"` IP string `gorm:"size:20" json:"ip"` Nickname string `gorm:"size:42" json:"nickname"` Token string `gorm:"size:256" json:"token"` Device string `gorm:"size:256" json:"device"` Addr string `gorm:"size:64" json:"addr"` }
type MenuModel ¶
type MenuModel struct { gorm.Model MenuTitle string `gorm:"size:32" json:"menu_title"` MenuTitleEn string `gorm:"size:32" json:"menu_title_en"` Icon string `gorm:"size:32" json:"icon"` // 图标名称(前端的图标库名称) Path string `gorm:"size:32 default:'/'" json:"path"` // 菜单路径 Slogan string `gorm:"size:64" json:"slogan"` Abstract ctype.Array `gorm:"size:64" json:"abstract"` // 简介 AbstractTime int `json:"abstract_time"` // 简介的切换时间 MenuTime int `json:"menu_time"` // 菜单的切换时间 0表示不切换 Sort int `gorm:"size:10" json:"sort"` // 菜单顺序 ImageSort []ImageSort `gorm:"-" json:"image_sort"` // 图片具体顺序 }
type MessageModel ¶
type MessageModel struct { gorm.Model SendUserID uint `gorm:"primaryKey" json:"send_user_id"` // 发送者id SendUserModel UserModel `gorm:"foreignKey:SendUserID" json:"-"` SendUserNickname string `gorm:"size:42" json:"send_user_nickname"` SendUserAvatar string `json:"send_user_avatar"` RevUserID uint `gorm:"primaryKey" json:"rev_user_id"` // 接收者id RevUserModel UserModel `gorm:"foreignKey:RevUserID" json:"-"` RevUserNickname string `gorm:"size:42" json:"rev_user_nickname"` RevUserAvatar string `json:"rev_user_avatar"` IsRead bool `gorm:"default:false" json:"is_read"` // 接收方是否已读 Content string `gorm:"type:longtext" json:"content"` // 消息内容 }
MessageModel 记录消息
type TagModel ¶
type TagModel struct { gorm.Model Title string `gorm:"size:32" json:"title"` // 标签名 Articles []ArticleModel `gorm:"many2many:article_tag" json:"-"` // 标签对应的文章 }
type UserModel ¶
type UserModel struct { gorm.Model Nickname string `gorm:"size:36" json:"nickname"` // 昵称 Username string `gorm:"size:36" json:"username"` // 用户名 Password string `gorm:"size:128" json:"-"` // 密码 Avatar string `gorm:"size:256" json:"avatar"` // 头像 Email string `gorm:"size:128" json:"email"` // 手机号 Addr string `gorm:"size:64" json:"address"` // 地址 Token string `gorm:"size:64" json:"token"` // token 后续写到redis中,不写入这里了,原来是想做永久登录的 IP string `gorm:"size:20" json:"ip"` // ip Role ctype.Role `gorm:"size:4;default:1" json:"role"` // 角色 1 管理员 2 普通用户 3 游客 4 被禁用 SignStatus ctype.SignStatus `gorm:"type=smallint(6)" json:"sign_status"` // 注册来源 qq 邮箱 手机等 ArticleModels []ArticleModel `gorm:"foreignKey:UserID" json:"-"` // 发布文章列表 }
UserModel 用户表
Source Files ¶
Click to show internal directories.
Click to hide internal directories.