From d09d12828ddf22c01dc1be89c60dcdf63ff5f7f9 Mon Sep 17 00:00:00 2001 From: HenryDu8133 <813367384@qq.com> Date: Sat, 12 Sep 2026 08:36:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E4=BC=98=E5=8C=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=9D=83=E9=99=90=E5=88=86=E7=BA=A7=C2=B7=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E5=A4=B4=E5=83=8F=C2=B7=E6=95=B0=E6=8D=AE=E5=88=86?= =?UTF-8?q?=E6=9E=90=E9=9D=A2=E6=9D=BF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - fix(DataAnalysisPanel): 活跃用户卡片固定 400px + overflow-y 独立滚动容器,底部渐变遮罩提示滚动;列表项 tooltip 增加 max-height 与 overflow 截断;新增圆形头像显示与 @error 回退首字母 - feat(admin): 新增 getUserAvatarUrl 统一头像策略链(OAuth identity→Gravatar→DiceBear 7.x initials),stats/realtime、active-users、users/index 三处接口返回 avatarUrl - fix(admin): 建立 SUPER_ADMIN(100)>ADMIN(80)>USER(10) 分级常量与 canChangeRoleOf/canResetPasswordFor 等谓词;reset-password、[id].put、index.post 全面应用级别守卫;前端 UserManager 按钮按权限禁用、availableRoles 按操作者级别过滤 SUPER_ADMIN/ADMIN 等高角色 --- app/components/Admin/DataAnalysisPanel.vue | 125 ++++++++------ app/components/Admin/UserManager.vue | 133 +++++++++++++-- server/api/admin/stats/active-users.get.ts | 47 ++--- server/api/admin/stats/realtime.get.ts | 160 +++++++++++++----- server/api/admin/users/[id].put.ts | 48 +++--- .../admin/users/[id]/reset-password.post.ts | 62 ++++++- server/api/admin/users/index.get.ts | 40 +++-- server/api/admin/users/index.post.ts | 31 ++-- server/utils/permissions.js | 109 +++++++++++- server/utils/user-avatar.ts | 77 +++++++++ 10 files changed, 633 insertions(+), 199 deletions(-) diff --git a/app/components/Admin/DataAnalysisPanel.vue b/app/components/Admin/DataAnalysisPanel.vue index d4d91c8..0fa7fb6 100644 --- a/app/components/Admin/DataAnalysisPanel.vue +++ b/app/components/Admin/DataAnalysisPanel.vue @@ -395,43 +395,53 @@
暂无在线用户
+暂无在线用户