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 { //用户登录后。我们通过token知道是哪个用户 Id int64 `json:"id"` // CreateByName string `json:"create_by_name"` //自动创建用的 CreateTime int64 `json:"create_time"` UpdateTime int64 `json:"update_time"` PublishedTime int64 `json:"published_time"` 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" comment:"文章"` //文章 Author string `json:"author" comment:"作者"` //作者 CreateByName string `json:"create_by_name"` //自动创建用的 Content string `json:"content" comment:"文章内容"` //作者 Summary string `json:"summary" comment:"概要"` //概要 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 { // 页的大小 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) 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) // 详情页, 尽量多的把关联的数据查询出来, content DescribeBlog(context.Context, *DescribeBlogRequest) (*Blog, error) // 查询文章列表 QueryBlog(context.Context, *QueryBlogRequest) (*BlogSet, 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.