feat: 社区准则改为数据库存储
- AuthController 注入 SiteSettings 依赖,RegisterPage 优先从 DB 读取准则 - DB 中 site.guidelines 为空时 fallback 到静态 guidelines.html 文件 - 管理后台站点设置页新增「内容管理」分区,textarea 编辑社区准则 - 添加准则编辑区垂直布局样式
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"html/template"
|
||||
"net/http"
|
||||
|
||||
"metazone.cc/metalab/internal/common"
|
||||
@ -17,11 +18,12 @@ type AuthController struct {
|
||||
sessionManager *session.Manager
|
||||
rateLimiter rateLimiter
|
||||
cfg *config.Config
|
||||
siteSettings *config.SiteSettings
|
||||
}
|
||||
|
||||
// NewAuthController 构造函数
|
||||
func NewAuthController(authService authUseCase, sm *session.Manager, limiter rateLimiter, cfg *config.Config) *AuthController {
|
||||
return &AuthController{authService: authService, sessionManager: sm, rateLimiter: limiter, cfg: cfg}
|
||||
func NewAuthController(authService authUseCase, sm *session.Manager, limiter rateLimiter, cfg *config.Config, siteSettings *config.SiteSettings) *AuthController {
|
||||
return &AuthController{authService: authService, sessionManager: sm, rateLimiter: limiter, cfg: cfg, siteSettings: siteSettings}
|
||||
}
|
||||
|
||||
// RegisterPage 注册页面(已登录用户重定向到首页)
|
||||
@ -30,10 +32,18 @@ func (ac *AuthController) RegisterPage(c *gin.Context) {
|
||||
c.Redirect(http.StatusFound, "/")
|
||||
return
|
||||
}
|
||||
guidelines, err := theme.LoadContent("templates/MetaLab-2026/guidelines.html")
|
||||
if err != nil {
|
||||
c.String(http.StatusInternalServerError, "加载准则失败")
|
||||
return
|
||||
// 优先从 DB 读取社区准则,为空时 fallback 到静态文件
|
||||
guidelinesHTML := ac.siteSettings.Get("site.guidelines", "")
|
||||
var guidelines template.HTML
|
||||
if guidelinesHTML != "" {
|
||||
guidelines = template.HTML(guidelinesHTML)
|
||||
} else {
|
||||
content, err := theme.LoadContent("templates/MetaLab-2026/guidelines.html")
|
||||
if err != nil {
|
||||
c.String(http.StatusInternalServerError, "加载准则失败")
|
||||
return
|
||||
}
|
||||
guidelines = content
|
||||
}
|
||||
c.HTML(http.StatusOK, "auth/register.html", common.BuildPageData(c, gin.H{
|
||||
"Title": "注册",
|
||||
|
||||
Reference in New Issue
Block a user