feat: 新增维护模式 + 修复注册关闭页面标题显示问题
- 修复注册关闭时标题“创建账号”和副标题仍显示的问题,三态互斥(维护中 > 关闭注册 > 正常) - 新增 maintenance.enabled 站点设置,默认关闭,仅 Owner 可见可调节 - 维护中间件:全局拦截,维护期间仅站长可访问,白名单放行登录相关路径 - 登录服务:维护期间仅 Owner 角色可登录,Register 优先检查维护状态 - Nav 模板新增维护通知条(黄色横幅) - 管理后台站点设置新增“启用维护模式”开关 - BuildPageData 自动注入 IsMaintenance 到所有页面模板
This commit is contained in:
@ -35,6 +35,7 @@ var (
|
||||
ErrNeedsConfirmRestore = errors.New("需要二次确认恢复账号")
|
||||
ErrOwnerCannotDelete = errors.New("站长不可自主注销,请先转让站长权限")
|
||||
ErrRegistrationDisabled = errors.New("注册功能已关闭")
|
||||
ErrMaintenanceMode = errors.New("社区正在维护中,仅站长可登录")
|
||||
|
||||
// 帖子相关
|
||||
ErrPostNotFound = errors.New("帖子不存在")
|
||||
|
||||
@ -40,6 +40,10 @@ func BuildPageData(c *gin.Context, extra gin.H) gin.H {
|
||||
if role, exists := c.Get("role"); exists {
|
||||
data["CanAccessAdmin"] = model.HasMinRole(role.(string), model.RoleModerator)
|
||||
}
|
||||
// 注入维护状态
|
||||
if isMaintenance, exists := c.Get("is_maintenance"); exists {
|
||||
data["IsMaintenance"] = isMaintenance
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user