Documentation
¶
Index ¶
- func ActivateAccount(c *gin.Context)
- func ArticleReply(req component.BetterRequest[ArticleReplyId]) component.Response
- func BookmarkArticle(req component.BetterRequest[BookmarkArticleReq]) component.Response
- func Category(c *gin.Context)
- func CustomErrorPage(c *gin.Context, title, message string)
- func DeleteArticle(req component.BetterRequest[DeleteArticleReq]) component.Response
- func DeleteReply(req component.BetterRequest[DeleteReplyId]) component.Response
- func FollowUser(req component.BetterRequest[FollowUserReq]) component.Response
- func ForbiddenPage(c *gin.Context)
- func GetArticlesEnum() component.Response
- func GetOAuthBindings(req component.BetterRequest[null]) component.Response
- func GetSiteStatistics() component.Response
- func GetUserArticles(req component.BetterRequest[GetUserArticlesRequest]) component.Response
- func GetUserBookmarkedArticles(req component.BetterRequest[GetUserBookmarkedArticlesRequest]) component.Response
- func Home(c *gin.Context)
- func InternalServerErrorPage(c *gin.Context)
- func LikeArticle(req component.BetterRequest[LikeArticleReq]) component.Response
- func Links(c *gin.Context)
- func Login(c *gin.Context)
- func LoginView(c *gin.Context)
- func Logout(c *gin.Context)
- func Messages(c *gin.Context)
- func NewTopic(c *gin.Context)
- func NotFound(c *gin.Context)
- func NotFoundPage(c *gin.Context)
- func Notifications(c *gin.Context)
- func PostDetail(c *gin.Context)
- func ProviderCallback(c *gin.Context)
- func ProviderLogin(c *gin.Context)
- func Register(c *gin.Context)
- func RenderErrorPage(c *gin.Context, data ErrorPageData)
- func RenderRobotsTxt(c *gin.Context)
- func RenderRssV2(c *gin.Context)
- func RenderSitemapXml(c *gin.Context)
- func ResetPasswordView(c *gin.Context)
- func SearchArticles(req component.BetterRequest[SearchArticlesRequest]) component.Response
- func SearchPage(c *gin.Context)
- func Settings(c *gin.Context)
- func Sponsors(c *gin.Context)
- func UnauthorizedPage(c *gin.Context)
- func UnbindOAuth(req component.BetterRequest[null]) component.Response
- func User(c *gin.Context)
- func WriteArticles(req component.BetterRequest[WriteArticleReq]) component.Response
- func WriteArticlesOrigin(req component.BetterRequest[WriteArticlesOriginReq]) component.Response
- type ActivateAccountData
- type ArticleReplyId
- type BookmarkArticleReq
- type CategoryData
- type CommonDataVo
- type DeleteArticleReq
- type DeleteReplyId
- type ErrorPageData
- type FollowUserReq
- type ForumInfo
- type GetArticlesDetailRequest
- type GetArticlesPageRequest
- type GetUserArticlesRequest
- type GetUserBookmarkedArticlesRequest
- type HomeData
- type LikeArticleReq
- type LinksData
- type LoginReq
- type MessagesData
- type NewTopicData
- type NotificationsData
- type PageButton
- type PostDetailData
- type PostDetailDataVo
- type ReplyVo
- type ResetPasswordData
- type SearchArticlesRequest
- type SearchData
- type SettingsData
- type SidebarItem
- type SidebarMenu
- type SitemapURL
- type SponsorsData
- type UserData
- type UserDataVo
- type WriteArticleReq
- type WriteArticlesOriginReq
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ArticleReply ¶
func ArticleReply(req component.BetterRequest[ArticleReplyId]) component.Response
func BookmarkArticle ¶ added in v0.0.9
func BookmarkArticle(req component.BetterRequest[BookmarkArticleReq]) component.Response
func CustomErrorPage ¶ added in v0.0.3
CustomErrorPage 自定义错误页面
func DeleteArticle ¶ added in v0.1.1
func DeleteArticle(req component.BetterRequest[DeleteArticleReq]) component.Response
func DeleteReply ¶
func DeleteReply(req component.BetterRequest[DeleteReplyId]) component.Response
func FollowUser ¶ added in v0.0.3
func FollowUser(req component.BetterRequest[FollowUserReq]) component.Response
func GetArticlesEnum ¶
func GetOAuthBindings ¶ added in v0.0.9
func GetOAuthBindings(req component.BetterRequest[null]) component.Response
GetOAuthBindings 获取用户的OAuth绑定状态
func GetSiteStatistics ¶
func GetUserArticles ¶
func GetUserArticles(req component.BetterRequest[GetUserArticlesRequest]) component.Response
GetUserArticles 获取用户文章列表
func GetUserBookmarkedArticles ¶ added in v0.0.9
func GetUserBookmarkedArticles(req component.BetterRequest[GetUserBookmarkedArticlesRequest]) component.Response
GetUserBookmarkedArticles 获取用户收藏文章列表
func InternalServerErrorPage ¶ added in v0.0.3
InternalServerErrorPage 500页面
func LikeArticle ¶ added in v0.0.2
func LikeArticle(req component.BetterRequest[LikeArticleReq]) component.Response
func Notifications ¶ added in v0.0.3
func PostDetail ¶ added in v0.0.3
func ProviderCallback ¶ added in v0.0.9
ProviderCallback 处理OAuth登录/绑定回调(根据登录状态自动判断)
func ProviderLogin ¶ added in v0.0.9
ProviderLogin 开始OAuth登录/绑定流程(根据登录状态自动判断)
func RenderErrorPage ¶ added in v0.0.3
func RenderErrorPage(c *gin.Context, data ErrorPageData)
RenderErrorPage 渲染错误页面的通用函数
func RenderRssV2 ¶
func ResetPasswordView ¶ added in v0.0.9
func SearchArticles ¶ added in v0.0.8
func SearchArticles(req component.BetterRequest[SearchArticlesRequest]) component.Response
SearchArticles 搜索文章接口 通过名字和类别查询文章,先查Meilisearch索引,再查文章表获取具体数据
func UnauthorizedPage ¶ added in v0.0.3
UnauthorizedPage 401页面
func UnbindOAuth ¶ added in v0.0.9
func UnbindOAuth(req component.BetterRequest[null]) component.Response
UnbindOAuth 解绑OAuth账户
func WriteArticles ¶
func WriteArticles(req component.BetterRequest[WriteArticleReq]) component.Response
WriteArticles 写文章
func WriteArticlesOrigin ¶
func WriteArticlesOrigin(req component.BetterRequest[WriteArticlesOriginReq]) component.Response
WriteArticlesOrigin 写文章
Types ¶
type ActivateAccountData ¶ added in v0.1.1
type ActivateAccountData struct {
Title string
Status string
Message string
Success bool
Description string
}
ActivateAccountData 激活页面数据
type ArticleReplyId ¶
type BookmarkArticleReq ¶ added in v0.0.9
type CategoryData ¶ added in v0.1.1
type CategoryData struct {
CommonDataVo
Category *articleCategory.Entity
CategoryFirstChar string
Articles []*vo.ArticlesSimpleVo
CurrentPage int
NextPage int
Sort string
}
CategoryData V3 分类页专用的数据结构
type CommonDataVo ¶ added in v0.1.1
type CommonDataVo struct {
ArticleCategoryList []*articleCategory.Entity
Stats *vo.SiteStats
RecommendedArticles []*articles.SmallEntity
Announcement pageConfig.AnnouncementConfig
GooseForumInfo ForumInfo
Category *articleCategory.Entity // 当前页面所属的分类(如果有),用于侧边栏高亮
Sidebar SidebarMenu // 侧边栏菜单控制
}
CommonDataVo 包含所有 V3 页面共有的基础数据(如侧边栏、站点统计等)
func GetCommonData ¶ added in v0.1.1
func GetCommonData(c *gin.Context) CommonDataVo
GetCommonData 获取 V3 页面共有的基础数据(使用 hotdataserve.GetOrLoad 缓存机制)
type DeleteArticleReq ¶ added in v0.1.1
type DeleteArticleReq struct {
Id uint64 `json:"id"`
}
type DeleteReplyId ¶
type DeleteReplyId struct {
ReplyId uint64 `json:"replyId"`
}
type ErrorPageData ¶ added in v0.0.3
type ErrorPageData struct {
Title string
Message string
ErrorCode string
StatusCode int
Timestamp string
RequestId string
CommonDataVo
}
ErrorPageData 错误页面数据结构
type FollowUserReq ¶ added in v0.0.3
type ForumInfo ¶ added in v0.0.4
func GetGooseForumInfo ¶ added in v0.0.4
func GetGooseForumInfo() ForumInfo
type GetArticlesPageRequest ¶
type GetUserArticlesRequest ¶
GetUserArticlesRequest 添加新的请求结构体
type GetUserBookmarkedArticlesRequest ¶ added in v0.0.9
type GetUserBookmarkedArticlesRequest struct {
Page int `json:"page"`
PageSize int `json:"pageSize"`
}
GetUserBookmarkedArticlesRequest 获取用户收藏文章列表请求结构体
type HomeData ¶ added in v0.1.1
type HomeData struct {
CommonDataVo
LatestArticles []*vo.ArticlesSimpleVo
CurrentPage int
NextPage int
Sort string
}
HomeData V3 首页专用的数据结构
type LikeArticleReq ¶ added in v0.0.2
type LinksData ¶ added in v0.1.1
type LinksData struct {
CommonDataVo
FriendLinksGroup []pageConfig.FriendLinksGroup
TotalCounter int
}
type MessagesData ¶ added in v0.1.1
type MessagesData struct {
CommonDataVo
}
type NewTopicData ¶ added in v0.1.1
type NewTopicData struct {
CommonDataVo
ArticleId uint64
}
type NotificationsData ¶ added in v0.1.1
type NotificationsData struct {
CommonDataVo
Total int64
List []*eventNotification.Entity
HasMore bool
}
type PageButton ¶ added in v0.0.2
type PostDetailData ¶ added in v0.1.1
type PostDetailData struct {
Article articles.Entity
Username string
CommentList []ReplyVo
AvatarUrl string
AuthorArticles []*articles.SmallEntity
ArticleCategory []string
AuthorUserInfo users.EntityComplete
AuthorInfoStatistics userStatistics.Entity
IsOwnArticle bool
ArticleCategoryList []*articleCategory.Entity
ILike bool
IsFollowing bool
IsBookmarked bool
Posters []vo.PosterVo
}
type PostDetailDataVo ¶ added in v0.1.1
type PostDetailDataVo struct {
CommonDataVo
PostDetailData
LatestArticles []*vo.ArticlesSimpleVo
ArticleCategoryList []*articleCategory.Entity // 显式定义以解决嵌入结构体字段冲突
}
PostDetailDataVo V3 帖子详情页专用的数据结构
type ReplyVo ¶ added in v0.1.1
type ReplyVo struct {
Id uint64 `json:"id"`
ArticleId uint64 `json:"articleId"`
UserId uint64 `json:"userId"`
UserAvatarUrl string `json:"userAvatarUrl"`
Username string `json:"username"`
Content string `json:"content"`
CreateTime string `json:"createTime"`
ReplyToId uint64 `json:"replyToId,omitempty"`
ReplyToUsername string `json:"replyToUsername,omitempty"`
ReplyToUserId uint64 `json:"replyToUserId,omitempty"`
IsOwnReply bool `json:"isOwnReply"`
}
type ResetPasswordData ¶ added in v0.1.1
type ResetPasswordData struct {
CommonDataVo
PostDetailData
LatestArticles []*vo.ArticlesSimpleVo
ArticleCategoryList []*articleCategory.Entity // 显式定义以解决嵌入结构体字段冲突
}
type SearchArticlesRequest ¶ added in v0.0.8
type SearchArticlesRequest struct {
Query string `json:"query" form:"query" validate:"required,min=1,max=100"` // 搜索关键词
Categories []uint64 `json:"categories" form:"categories"` // 分类ID列表
Page int `json:"page" form:"page"` // 页码,从1开始
PageSize int `json:"pageSize" form:"pageSize"` // 每页数量
}
SearchArticlesRequest 搜索文章请求结构
type SearchData ¶ added in v0.1.1
type SearchData struct {
CommonDataVo
Query string
CurrentPage int
TotalPages int
PageNumbers []int
SearchResponse *searchservice.SearchResponse
ArticleList []*vo.ArticlesSimpleVo
}
type SettingsData ¶ added in v0.1.1
type SettingsData struct {
CommonDataVo
User *vo.UserDetailedVo
Stats userStatistics.Entity
}
type SidebarItem ¶ added in v0.1.1
type SidebarItem struct {
Key string
Label string
Icon string
Color string
Url string
Active bool
IsCategory bool
CategoryId uint64
}
SidebarItem represents a single item in the sidebar
type SidebarMenu ¶ added in v0.1.1
type SidebarMenu struct {
MainMenu []*SidebarItem
ResourceItems []*SidebarItem
CategoryItems []*SidebarItem
}
SidebarMenu controls the display and selection of sidebar items
func NewSidebarMenu ¶ added in v0.1.1
func NewSidebarMenu(categories []*articleCategory.Entity, isLoggedIn bool) SidebarMenu
NewSidebarMenu creates a new SidebarMenu with default items and categories
func (*SidebarMenu) SetActive ¶ added in v0.1.1
func (s *SidebarMenu) SetActive(key string)
SetActive sets the active item by key
func (*SidebarMenu) SetActiveCategory ¶ added in v0.1.1
func (s *SidebarMenu) SetActiveCategory(id uint64)
SetActiveCategory sets the active category by ID
type SitemapURL ¶ added in v0.0.9
type SponsorsData ¶ added in v0.1.1
type SponsorsData struct {
CommonDataVo
SponsorsInfo pageConfig.SponsorsConfig
}
type UserData ¶ added in v0.1.1
type UserData struct {
Articles []*vo.ArticlesSimpleVo
UserDetail *vo.UserCard
FollowingList []*users.EntityComplete
FollowerList []*users.EntityComplete
Activities []*userActivities.Entity
MyFollowingIds []uint64
IsOwnProfile bool
}
type UserDataVo ¶ added in v0.1.1
type UserDataVo struct {
CommonDataVo
UserData
}
type WriteArticleReq ¶
type WriteArticlesOriginReq ¶
type WriteArticlesOriginReq struct {
Id int64 `json:"id"`
}