feat: 评论/帖子编辑历史与编辑标记,内容锁定
- 新增 smartDiff 差异计算与 EditHistoryModal 编辑历史弹窗,替换原 CommentEditHistoryModal - 新增 PostEditedMark 编辑标记展示 - 新增内容锁定机制(content_lock)防止并发编辑冲突 - 审核与通知服务适配
This commit is contained in:
@@ -204,6 +204,9 @@ func Setup(cfg *config.Config) (*gin.Engine, error) {
|
||||
api.PUT("/profile", h.UpdateProfile)
|
||||
api.POST("/posts", middleware.StaffExempt(middleware.RateLimitMiddleware(limiter, service.RatePost)), h.CreatePost)
|
||||
api.PUT("/posts/:id", h.UpdatePost)
|
||||
api.GET("/posts/:id/history", h.PostEditHistory)
|
||||
// 评论编辑历史(登录即可见;顶层路由:管理后台无 post_id 上下文)
|
||||
api.GET("/comments/:cid/history", h.CommentEditHistory)
|
||||
api.POST("/posts/:id/unlock", middleware.StaffExempt(middleware.RateLimitUserMiddleware(limiter, service.RateInteract)), h.UnlockPostContent)
|
||||
api.POST("/posts/:id/poll/vote", middleware.StaffExempt(middleware.RateLimitUserMiddleware(limiter, service.RateInteract)), h.VotePoll)
|
||||
api.POST("/posts/:id/poll/close", h.ClosePoll)
|
||||
@@ -215,6 +218,7 @@ func Setup(cfg *config.Config) (*gin.Engine, error) {
|
||||
api.DELETE("/posts/:id", h.DeletePost)
|
||||
api.PUT("/posts/:id/pin", h.TogglePin)
|
||||
api.PUT("/posts/:id/recommend", h.ToggleRecommend)
|
||||
api.PUT("/posts/:id/lock", h.TogglePostLock)
|
||||
api.POST("/posts/:id/like", h.ToggleLike)
|
||||
api.POST("/posts/:id/comments", middleware.StaffExempt(middleware.RateLimitMiddleware(limiter, service.RateComment)), h.CreateComment)
|
||||
api.PUT("/posts/:id/comments/:cid", middleware.StaffExempt(middleware.RateLimitMiddleware(limiter, service.RateComment)), h.UpdateComment)
|
||||
@@ -293,7 +297,6 @@ func Setup(cfg *config.Config) (*gin.Engine, error) {
|
||||
staffAPI.DELETE("/content/comments/:id", h.AdminSoftDeleteComment)
|
||||
staffAPI.PUT("/content/comments/:id/restore", h.AdminRestoreComment)
|
||||
staffAPI.DELETE("/content/comments/:id/purge", h.AdminPurgeComment)
|
||||
staffAPI.GET("/content/comments/:id/history", h.AdminCommentHistory)
|
||||
|
||||
// 积分与类型帖概览(管理员及以上)
|
||||
staffAPI.GET("/economy", authMW.RequirePerm(service.PermAnnouncements), h.AdminPointsStats)
|
||||
|
||||
Reference in New Issue
Block a user