fix: 空评论列表 500,并完善撤回审计与角色说明

空切片 JSON 统一为数组;撤回保留正文供站长阅读,成员侧居中提示与重新编辑;头像支持拖放;角色弹窗补全职责说明并汇入封禁。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-16 00:23:55 +08:00
parent 42c395a864
commit 8c5de13899
29 changed files with 835 additions and 405 deletions

View File

@@ -102,7 +102,7 @@ func (h *Handlers) AdminUserLoginLogs(c *gin.Context) {
c.JSON(http.StatusInternalServerError, gin.H{"error": "获取登录历史失败"})
return
}
c.JSON(http.StatusOK, gin.H{"logs": logs, "total": total, "page": page})
c.JSON(http.StatusOK, gin.H{"logs": nonNilSlice(logs), "total": total, "page": page})
}
// AdminGetUserAudit 站长:用户内容档案摘要
@@ -131,7 +131,7 @@ func (h *Handlers) AdminUserAuditPosts(c *gin.Context) {
respondAdminUserError(c, err)
return
}
c.JSON(http.StatusOK, gin.H{"items": items, "total": total, "page": page})
c.JSON(http.StatusOK, gin.H{"items": nonNilSlice(items), "total": total, "page": page})
}
// AdminUserAuditComments 站长:用户评论(含驳回/软删)
@@ -146,7 +146,7 @@ func (h *Handlers) AdminUserAuditComments(c *gin.Context) {
respondAdminUserError(c, err)
return
}
c.JSON(http.StatusOK, gin.H{"items": items, "total": total, "page": page})
c.JSON(http.StatusOK, gin.H{"items": nonNilSlice(items), "total": total, "page": page})
}
// AdminUserAuditMessages 站长:用户聊天消息(含撤回/软删)
@@ -161,7 +161,7 @@ func (h *Handlers) AdminUserAuditMessages(c *gin.Context) {
respondAdminUserError(c, err)
return
}
c.JSON(http.StatusOK, gin.H{"items": items, "total": total, "page": page})
c.JSON(http.StatusOK, gin.H{"items": nonNilSlice(items), "total": total, "page": page})
}
// parseAdminUserID 解析路径中的用户 ID,失败时直接写出 400