blog

package
v0.0.0-...-8edd8d8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2023 License: MIT Imports: 5 Imported by: 0

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

func (*Blog) String

func (b *Blog) String() string

func (*Blog) TableName

func (b *Blog) TableName() string

type BlogSet

type BlogSet struct {
	// 博客的总数
	Total int64 `json:"total"`
	// 返回的一页的数据
	Items []*Blog `json:"items"`
}

func NewBlogSet

func NewBlogSet() *BlogSet

func (*BlogSet) Add

func (s *BlogSet) Add(items ...*Blog)

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 Status

type Status int
const (
	//文章状态草稿
	STATUS_DRAFT Status = iota
	//已经发布
	STATUS_PUBLISHED
)

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 UpdateBlogStatusRequest struct {
	// 如果定义一篇文章, 使用对象Id, 具体的某一篇文章
	BlogId int64 `json:"blog_id"`
	// 修改的状态: DRAFT/PUBLISHED
	Status Status `json:"status"`
}

type UpdateMode

type UpdateMode int
const (
	// 全量更新
	UPDATE_MODE_PUT UpdateMode = iota
	// 部分更新(增量更新)
	UPDATE_MODE_PATCH
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL