Documentation
¶
Index ¶
Constants ¶
const (
// 模块名称
AppName = "blogs"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuditInfo ¶
type AuditInfo struct {
// 审核时间
Audit_at int64 `json:"audit_at" gorm:"column:audit_at"`
// 是否审核通过
IsAuditPass bool `json:"is_audit_pass" gorm:"column:is_audit_pass"`
}
审核相关字段 `audit_at` int NOT NULL COMMENT '审核时间', `is_audit_pass` tinyint NOT NULL COMMENT '是否审核通过',
type Blog ¶
type Blog struct {
// 用户Id
Id int `json:"id" gorm:"column:id"`
// 创建时间, 时间戳 10位, 秒
CreatedAt int64 `json:"created_at" gorm:"column:created_at"`
// 更新时间, 时间戳 10位, 秒
UpdatedAt int64 `json:"updated_at" gorm:"column:updated_at"`
// 用户参数
*CreateBlogRequest
// // 发布
*ChangedBlogStatusRequest
// // 审核
*AuditInfo
}
系统生成 `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '文章的Id', `created_at` int NOT NULL COMMENT '创建时间', `updated_at` int NOT NULL COMMENT '更新时间',
func NewBlog ¶
func NewBlog(req *CreateBlogRequest) *Blog
type BlogSet ¶
type ChangedBlogStatusRequest ¶
type ChangedBlogStatusRequest struct {
// 发布时间
PublishedAt int64 `json:"published_at" gorm:"column:published_at"`
// 文章状态: 草稿/已发布
Status Status `json:"status" gorm:"column:status"`
}
发布才能修改文章状态 `published_at` int NOT NULL COMMENT '发布时间', `status` tinyint NOT NULL COMMENT '文章状态: 草稿/已发布',
func NewChangedBlogStatusRequest ¶
func NewChangedBlogStatusRequest() *ChangedBlogStatusRequest
ChangedBlogStatusRequest的构造函数
type CreateBlogRequest ¶
type CreateBlogRequest struct {
// 文章标题
Title string `json:"title" gorm:"column:title" validate:"required"`
// 作者
Author string `json:"author" gorm:"column:author" validate:"required"`
// 文章内容
Content string `json:"content" gorm:"column:content" validate:"required"`
// 文章概要信息
Summary string `json:"summary" gorm:"column:summary"`
// 创建人
CreateBy string `json:"create_by" gorm:"column:create_by"`
// 标签 https://gorm.io/docs/serializer.html
Tags map[string]string `json:"tags" gorm:"column:tags;serializer:json"`
}
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章标题', `author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作者', `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章内容', `summary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章概要信息', `create_by` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', `tags` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标签',
func (*CreateBlogRequest) Validate ¶
func (req *CreateBlogRequest) Validate() error
type DeleteBlogRequest ¶
type DeleteBlogRequest struct {
Id string
}
func NewDeleteBlogRequest ¶
func NewDeleteBlogRequest(id string) *DeleteBlogRequest
DeleteBlogRequest的构造函数
type DescribeBlogRequest ¶
type DescribeBlogRequest struct {
Id string
}
func NewDescribeBlogRequest ¶
func NewDescribeBlogRequest(id string) *DescribeBlogRequest
type QueryBlogRequest ¶
type QueryBlogRequest struct {
// 分页大小, 一个多少个
PageSize int
// 当前页, 查询哪一页的数据
PageNumber int
// 谁创建的文章
CreateBy string
// 通过文章名称进行关键字搜索
KeyWords string
}
func NewQueryBlogRequestFromGin ¶
func NewQueryBlogRequestFromGin(c *gin.Context) *QueryBlogRequest
func (*QueryBlogRequest) Limit ¶
func (req *QueryBlogRequest) Limit() int
func (*QueryBlogRequest) Offset ¶
func (req *QueryBlogRequest) Offset() int
1, 0 2, 20, 3, 20 * 2 4, 20 * 3
type Service ¶
type Service interface {
// 创建一个博客
CreateBlog(context.Context, *CreateBlogRequest) (*Blog, error)
// 获取博客列表
QueryBlog(context.Context, *QueryBlogRequest) (*BlogSet, error)
// 获取博客详情
DescribeBlog(context.Context, *DescribeBlogRequest) (*Blog, error)
// 更新博客
UpdateBlog(context.Context, *UpdateBlogRequest) (*Blog, error)
// 删除博客
DeleteBlog(context.Context, *DeleteBlogRequest) (*Blog, error)
// // 文章状态修改, 比如发布
ChangedBlogStatus(context.Context, *ChangedBlogStatusRequest) (*Blog, error)
// // 文章审核
AuditBlog(context.Context, *AuditInfo) (*Blog, error)
}
blog Service接口定义
type UpdateBlogRequest ¶
type UpdateBlogRequest struct {
// 被更新的博客Id
Id string `json:"id"`
// 更新模式
UpdateMode common.UpdateMode `json:"update_mode"`
// 更新时的数据
*CreateBlogRequest
}
func NewUpdateBlogRequest ¶
func NewUpdateBlogRequest(id string) *UpdateBlogRequest
UpdateBlogRequest的构造函数