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 @@
-
-
-
- {{ user.name.charAt(0) }} -
-
-

{{ user.name }}

-

- {{ user.contributions }}首投稿 · {{ user.likes }}次点赞 -

-
-
- {{ user.activityScore }} -

- 活跃度 -

-
-
- +
+ v-for="(user, i) in activeUsers.slice(0, 5)" + :key="i" + class="relative p-5 bg-zinc-950/30 border border-zinc-800/50 rounded-3xl overflow-hidden group" + > +
+ +
+ {{ user.name.charAt(0) }} +
+
+

{{ user.name }}

+

+ {{ user.contributions }}首投稿 · {{ user.likes }}次点赞 +

+
+
+ {{ user.activityScore }} +

+ 活跃度 +

+
+
+
+
+
@@ -537,14 +547,14 @@ @mouseleave="handleTooltipMouseLeave" >
-

活跃用户详情

-
+

活跃用户详情

+
{{ realtimeStats.activeUsers }} 在线
+
{{ user.name.charAt(0) }}
-
{{ user.name }}
-
+
{{ user.name }}
+
@{{ user.username }}
-
+
{{ user.lastActive }}
- 及其他 {{ realtimeStats.activeUsersList.length - 5 }} 位用户
-

暂无在线用户

+

暂无在线用户

- 实时数据同步中 - +
@@ -600,7 +618,7 @@