feat(settings): 用户名校验强化、个性签名编辑、字符计数器及提示优化

- 用户名校验改用白名单正则(中英文/数字/下划线/连字符),字符数计法统一
- 简介→个性签名,新增 textarea 可编辑,上限 128 字符
- 用户名+签名各增加实时字符计数器(x/16、x/128)
- API 合并为 PUT /api/settings/profile,一次提交两字段,按变更写入
- Toast 移至 NAV 下方,独立样式,5 秒自动消失
- 移除用户 ID 灰色底色,提示改为「个人资料已更新」
- 纯文本存储 + Go 模板自动转义防 XSS
This commit is contained in:
2026-05-27 00:03:09 +08:00
parent 3937945b43
commit debaa17127
6 changed files with 347 additions and 12 deletions

View File

@ -72,6 +72,14 @@ func Setup(r *gin.Engine, db *gorm.DB, cfg *config.Config) {
authPages.GET("/login", authCtrl.LoginPage)
}
// --- 设置页 API需登录 ---
settingsAPI := r.Group("/api/settings")
settingsAPI.Use(authMdw.Required())
settingsAPI.Use(middleware.CSRF(cfg))
{
settingsAPI.PUT("/profile", settingsCtrl.UpdateProfile)
}
// --- 管理后台 SSR 页面(认证失败 302 跳首页) ---
adminPages := r.Group("/admin")
adminPages.Use(authMdw.AdminAuth())