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的构造函数