Documentation ¶
Index ¶
Constants ¶
View Source
const (
AppName = "blog"
)
Variables ¶
View Source
var ( STATUS_MAP = map[Status]string{ STATUS_DRAFT: "draft", STATUS_PUBLISHED: "published", } )
Functions ¶
This section is empty.
Types ¶
type Blog ¶
type Blog struct { // 文章Id Id int `json:"id"` // 文章摘要信息,通过提前Content内容获取 Summary string `json:"summary" gorm:"-"` // 创建时间 CreateAt int64 `json:"create_at"` // 更新时间 UpdateAt int64 `json:"update_at"` // 发布时间 PublishAt int64 `json:"publish_at"` // 用户提交数据 *CreateBlogRequest // 文章状态 草稿/发布 Status Status `json:"status"` // 博客标签 Tags []*tag.Tag `json:"tags"` }
func NewCreateBlog ¶
func NewCreateBlog(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 { // 文章图片 TitleImg string `json:"title_img"` // 文章标题 TitleName string `json:"title_name" validate:"required"` // 文章副标题 SubTitle string `json:"sub_title"` // 文章内容 Content string `json:"content" validate:"required"` // 文章作者 Author string `json:"author"` }
func NewCreateBlogRequest ¶
func NewCreateBlogRequest() *CreateBlogRequest
type DeleteBlogRequest ¶
type DeleteBlogRequest struct {
Id int
}
func NewDeleteBlogRequest ¶
func NewDeleteBlogRequest(id int) *DeleteBlogRequest
type DescribeBlogRequest ¶
type DescribeBlogRequest struct {
Id int
}
func NewDescribeBlogRequest ¶
func NewDescribeBlogRequest(id int) *DescribeBlogRequest
type QueryBlogRequest ¶
func NewQueryBlogRequest ¶
func NewQueryBlogRequest() *QueryBlogRequest
func NewQueryBlogRequestFromHTTP ¶
func NewQueryBlogRequestFromHTTP(r *http.Request) *QueryBlogRequest
http query string: ?keywords=b&page_size=20&page_number=1
func (*QueryBlogRequest) Offset ¶
func (req *QueryBlogRequest) Offset() int
type Service ¶
type Service interface { // 创建文章 // ctx 接口的上下文, ctx用于区分业务功能数据和非业务功能数据 // 业务功能数据: 用户提交的数据, 创建Blog的CreateBlogRequest // 需要添加接口Trace, RequestId // 非业务功能数据:RequestId, 需要从上下文传递 CreateBlog(context.Context, *CreateBlogRequest) (*Blog, error) // 更新文章 UpdateBlog(context.Context, *UpdateBlogRequest) (*Blog, error) // 文章的删除 // 为什么删除后,还要返回数据, 方便前端和事件总线使用 DeleteBlog(context.Context, *DeleteBlogRequest) (*Blog, error) // 文章列表 QueryBlog(context.Context, *QueryBlogRequest) (*BlogSet, error) // 文章详情 DescribeBlog(context.Context, *DescribeBlogRequest) (*Blog, error) // 更新文章的状态 UpdateBlogStatus(context.Context, *UpdateBlogStatusRequest) (*Blog, error) }
type Status ¶
type Status int
自定义转态类型
func ParseStatusFromString ¶
ParseTagTypeFromString Parse TagType from string: "draft"
func (Status) MarshalJSON ¶
Json允许用户自定义序列化和反序列化的逻辑 控制序列化的过程 ---> draft {"status": "draft"}
func (*Status) UnmarshalJSON ¶
{"status": 1} 定义类型的反序列化 {"status": "published"}
type UpdateBlogRequest ¶
type UpdateBlogRequest struct { BlogId int UpdateMode UpdateMode *CreateBlogRequest }
func NewPatchUpdateBlogRequest ¶
func NewPatchUpdateBlogRequest(id int) *UpdateBlogRequest
func NewPutUpdateBlogRequest ¶
func NewPutUpdateBlogRequest(id int) *UpdateBlogRequest
type UpdateBlogStatusRequest ¶
type UpdateBlogStatusRequest struct { // 文章Id Id int `json:"id"` // 文章状态 草稿/发布 Status Status `json:"status"` }
func NewDefaultUpdateBlogStatusRequest ¶
func NewDefaultUpdateBlogStatusRequest() *UpdateBlogStatusRequest
func NewUpdateBlogStatusRequest ¶
func NewUpdateBlogStatusRequest(id int, status Status) *UpdateBlogStatusRequest
type UpdateMode ¶
type UpdateMode string
更新模式
const ( // 全量更新 UPDATE_MODE_PUT UpdateMode = "put" // 部分更新 UPDATE_MODE_PATCH UpdateMode = "patch" )
Click to show internal directories.
Click to hide internal directories.