Documentation
¶
Index ¶
Constants ¶
View Source
const ( OrderTime = "time" OrderScore = "score" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiPostDetail ¶
type ApiPostDetail struct {
AuthorName string `json:"author_id"` // 用户名
VoteNum int64 `json:"vote_num"` // 票数
*Post // 嵌入帖子结构体
*CommunityDetail `json:"community"` // 嵌入社区信息结构体
}
ApiPostDetail 帖子详情接口结构体 因为在帖子详情中我们返回给前端的信息中是author_id,前段希望拿到的是作者的名字 这样才可以进行渲染
type Community ¶
type Community struct {
ID int64 `json:"id" db:"community_id"` // 社区ID
Name string `json:"name" db:"community_name"` // 社区名
}
Community 社区类别
type CommunityDetail ¶
type CommunityDetail struct {
ID int64 `json:"id" db:"community_id"`
Name string `json:"name" db:"community_name"`
Introduction string `json:"introduction,omitempty" db:"introduction"` // 这里的 omitempty 是当该字段为空的时候,就不展示该项内容
CreateTime time.Time `json:"create_time" db:"create_time"` // 这里使用 time.Time 类型,在连接数据库的时候就要加上 parseTime=true&loc=Local
}
CommunityDetail 社区详情
type ParamCommunityPostList ¶
type ParamCommunityPostList struct {
ParamPostList
CommunityID int64 `json:"community_id" form:"community_id"`
}
ParamCommunityPostList 安社区获取帖子列表query string 参数
type ParamLogin ¶
type ParamLogin struct {
Username string `json:"username" binding:"required"` // 用户名
Password string `json:"password" binding:"required"` // 用户密码
}
ParamLogin 登录请求参数
type ParamPostList ¶
type ParamPostList struct {
CommunityID int64 `json:"community_id" form:"community_id"` // 社区ID 可以为空
Page int64 `json:"page" form:"page" example:"1"` // 页码
Size int64 `json:"size" form:"size" example:"10"` // 每页数量
Order string `json:"order" form:"order" example:"score"` // 排序依据
}
ParamPostList 获取帖子列表2 query string 参数 communityID 可以为空 如果前端没有传社区id,communityID为空,查询所有帖子列表-->GetPostList2 如果前端传了社区id,查询对应社区的帖子列表-->
type ParamSigUp ¶
type ParamSigUp struct {
Username string `json:"username" binding:"required"` // 用户名
Password string `json:"password" binding:"required,checkPassword"` // 用户密码
//RePassword string `json:"re_password" binding:"required,eqfield=Password"` // 确认密码
RePassword string `json:"confirm_password" binding:"required,eqfield=Password"` // 确认密码
}
ParamSigUp 注册请求参数
type ParamVoteData ¶
type ParamVoteData struct {
//UserID(可以通过GetCurrentID拿到)
PostID string `json:"post_id" binding:"required"` // 贴子 id
Direction int8 `json:"direction,string" binding:"oneof=1 0 -1"` // 赞成票(1)反对票(-1)取消投票(0)
}
ParamVoteData 投票请求数据
type Post ¶
type Post struct {
ID int64 `json:"id,string" db:"post_id"` // 帖子ID
AuthorID int64 `json:"author_id" db:"author_id"` // 用户ID
CommunityID int64 `json:"community_id" db:"community_id" binding:"required"` // 社区ID 可以为空
Status int32 `json:"status" db:"status"` // 投票状态
Title string `json:"title" db:"title" binding:"required"` // 标题
Conent string `json:"content" db:"content" binding:"required"` // 内容
CreateTime time.Time `json:"create_time" db:"create_time"` // 创建时间
}
Post 即需要与用户传递的参数对应,也需要与数据库表对应 注意内存对齐
Click to show internal directories.
Click to hide internal directories.