评论区改用公共 Markdown 编辑器(不含隐藏内容),并忽略 GORM 未命中日志噪音。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,7 +6,9 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/freefire/jiang13-bbs/markdown"
|
||||
"gorm.io/driver/postgres"
|
||||
@@ -20,7 +22,15 @@ var DB *gorm.DB
|
||||
// InitDB 连接 PostgreSQL 并自动迁移
|
||||
func InitDB(dsn string) error {
|
||||
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Warn),
|
||||
Logger: logger.New(
|
||||
log.New(os.Stdout, "\r\n", log.LstdFlags),
|
||||
logger.Config{
|
||||
SlowThreshold: 200 * time.Millisecond,
|
||||
LogLevel: logger.Warn,
|
||||
IgnoreRecordNotFoundError: true, // First 未命中是业务常态,勿当 Warn 刷屏
|
||||
Colorful: true,
|
||||
},
|
||||
),
|
||||
})
|
||||
if err != nil {
|
||||
return fmt.Errorf("连接 PostgreSQL 失败: %w", err)
|
||||
|
||||
@@ -302,6 +302,9 @@ func (s *CommentService) Create(userID, postID uint, content string, parentID *u
|
||||
if content == "" {
|
||||
return nil, nil, errors.New("评论内容不能为空")
|
||||
}
|
||||
if err := rejectHideBlocks(content, ErrCommentHideNotAllowed); err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
if status != model.ContentStatusPending && status != model.ContentStatusPublished {
|
||||
status = model.ContentStatusPending
|
||||
}
|
||||
@@ -584,6 +587,9 @@ func (s *CommentService) Update(actor *Actor, commentID, userID uint, content st
|
||||
if content == "" {
|
||||
return nil, errors.New("评论内容不能为空")
|
||||
}
|
||||
if err := rejectHideBlocks(content, ErrCommentHideNotAllowed); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var comment model.Comment
|
||||
if err := s.db.Unscoped().First(&comment, commentID).Error; err != nil {
|
||||
return nil, ErrCommentNotFound
|
||||
|
||||
@@ -11,6 +11,8 @@ var (
|
||||
ErrAnnouncementReplyHideNotAllowed = errors.New("公告不可评论,不能使用回复可见")
|
||||
// ErrSitePageHideNotAllowed 站点单页正文禁止 [hide](本轮单页仍无评论/解锁)
|
||||
ErrSitePageHideNotAllowed = errors.New("页面不支持隐藏内容")
|
||||
// ErrCommentHideNotAllowed 评论无隐藏解锁流程,禁止 [hide]
|
||||
ErrCommentHideNotAllowed = errors.New("评论不支持隐藏内容")
|
||||
)
|
||||
|
||||
// rejectHideBlocks 若正文含 [hide] 开标记(忽略代码围栏内伪语法)则返回指定错误。
|
||||
|
||||
Reference in New Issue
Block a user