Documentation ¶
Index ¶
Constants ¶
View Source
const (
AppName = "blogs"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuditBlogRequest ¶
type AuditBlogRequest struct { // 审核的文章 BlogId string `json:"blog_id"` // 是否审核成功 IsAuditPass bool `json:"is_audit_pass"` }
func NewAuditBlogRequest ¶
func NewAuditBlogRequest(id string) *AuditBlogRequest
type Blog ¶
type Blog struct { // 文章的唯一标识符, 给程序使用 Id int64 `json:"id"` // 创建时间 CreatedAt int64 `json:"created_at"` // 更新时间 UpdatedAt int64 `json:"updated_at"` // 发布时间 PublishedAt int64 `json:"published_at"` // 文章的状态 Status Status `json:"status"` // 审核时间 AuditAt int64 `json:"audit_at"` // 是否审核成功 IsAuditPass bool `json:"is_audit_pass"` // 用户创建博客参数 *CreateBlogRequest }
func NewBlog ¶
func NewBlog(req *CreateBlogRequest) *Blog
type BlogSet ¶
type BlogSet struct { // 博客的总数 Total int64 `json:"total"` // 返回的一页的数据 Items []*Blog `json:"items"` }
func NewBlogSet ¶
func NewBlogSet() *BlogSet
type CreateBlogRequest ¶
type CreateBlogRequest struct { // 文章标题 Title string `json:"title"` // 作者 Author string `json:"author"` // 用户登录后, 我们通过Token知道是那个用户 CreateBy string `json:"create_by"` // 文章内容 Content string `json:"content"` // 概要 Summary string `json:"summary"` // 标签, 基于标签做分类, 语言:Golang, 分类:后端 Tags map[string]string `json:"tags" gorm:"serializer:json"` }
用户参数
func NewCreateBlogRequest ¶
func NewCreateBlogRequest() *CreateBlogRequest
type DeleteBlogRequest ¶
type DeleteBlogRequest struct { // 如果定义一篇文章, 使用对象Id, 具体的某一篇文章 BlogId string `json:"blog_id"` }
func NewDeleteBlogRequest ¶
func NewDeleteBlogRequest(id string) *DeleteBlogRequest
type DescribeBlogRequest ¶
type DescribeBlogRequest struct {
BlogId string `json:"blog_id"`
}
func NewDescribeBlogRequest ¶
func NewDescribeBlogRequest(id string) *DescribeBlogRequest
type QueryBlogRequest ¶
type QueryBlogRequest struct { // 利用数据库的offst limit, 去数据库里面获取一页的数据 // 页的大小 PageSize int `json:"page_size"` // 当前处于几页 PageNumber int `json:"page_number"` // 0 表示草稿状态, 要查询所有的博客 // nil 没有这个过滤条件 // 0 DRAFT // 1 PUBLISHED Status *Status `json:"status"` // 基于文章标题的关键字搜索 Keywords string `json:"keywords"` // 查询属于哪些用户的博客 Usernames []string `json:"Usernames"` }
后端分页
func NewQueryBlogRequest ¶
func NewQueryBlogRequest() *QueryBlogRequest
func (*QueryBlogRequest) AddUsername ¶
func (r *QueryBlogRequest) AddUsername(usernames ...string)
func (*QueryBlogRequest) Offset ¶
func (r *QueryBlogRequest) Offset() int
依赖, 根据分页大小,当前页数 可以推导出 获取元素的开始和结束位置 [1,2,3,4,5] [6,7,8,9,10] [11,12,13,14,15] limite(offset, limte) limite(5 * 0,5) [1,2,3,4,5] limite(5*1,5) [6,7,8,9,10] limite(5*2,5) [11,12,13,14,15]
func (*QueryBlogRequest) ParsePageNumber ¶
func (r *QueryBlogRequest) ParsePageNumber(pn string)
func (*QueryBlogRequest) ParsePageSize ¶
func (r *QueryBlogRequest) ParsePageSize(ps string)
func (*QueryBlogRequest) SetStatus ¶
func (r *QueryBlogRequest) SetStatus(s Status)
type Service ¶
type Service interface { // 创建博客 CreateBlog(context.Context, *CreateBlogRequest) (*Blog, error) // 查询文章列表, 列表查询, 没有必要查询文章的具体内容 QueryBlog(context.Context, *QueryBlogRequest) (*BlogSet, error) // 详情页, 尽量多的把关联的数据查询出来, content DescribeBlog(context.Context, *DescribeBlogRequest) (*Blog, error) // 修改文章状态 UpdateBlogStatus(context.Context, *UpdateBlogStatusRequest) (*Blog, error) // 更新文章 UpdateBlog(context.Context, *UpdateBlogRequest) (*Blog, error) // 删除文档 DeleteBlog(context.Context, *DeleteBlogRequest) error // 文章审核, 审核通过的文章才能被看到 AuditBlog(context.Context, *AuditBlogRequest) (*Blog, error) }
博客模块接口
type UpdateBlogRequest ¶
type UpdateBlogRequest struct { // 如果定义一篇文章, 使用对象Id, 具体的某一篇文章 BlogId string `json:"blog_id"` // blog的范围, 不是用户传递进来的, 是api接口层 自动填充 Scope *common.Scope `json:"scope"` // 更新方式 区分全量更新/增量更新 UpdateMode UpdateMode `json:"update_mode"` // 用户更新请求, 用户只传了个标签 *CreateBlogRequest }
func NewPatchUpdateBlogRequest ¶
func NewPatchUpdateBlogRequest(id string) *UpdateBlogRequest
func NewPutUpdateBlogRequest ¶
func NewPutUpdateBlogRequest(id string) *UpdateBlogRequest
type UpdateBlogStatusRequest ¶
type UpdateMode ¶
type UpdateMode int
const ( // 全量更新 UPDATE_MODE_PUT UpdateMode = iota // 部分更新(增量更新) UPDATE_MODE_PATCH )
Click to show internal directories.
Click to hide internal directories.