feat(admin): add user-level direct permission system and enhance activity tracking

Features:
- Add user_permissions table for direct user-to-permission grants (ops:user-ops)
- Merge role_permissions + user_permissions in auth chain (login, middleware, getCurrentUser)
- Add getUserQueryScope support for USER role with ops:user-ops (cross-tenant access)
- Unify cross-tenant operation checks via getUserQueryScope (remove hardcoded SUPER_ADMIN checks)
- Add 3 new API endpoints: GET/PUT /:id/permissions, GET /options/permissions
- Support ops:user-ops as alternative permission on all user/tenant management routes
- Frontend: add user-ops permission toggle on UserFormPage and UserDetailPage
- Enhance DC module activity tracking (StreamAIController, SessionController, QuickActionController)
- Fix DC AIController user ID extraction and feature name consistency
- Add verify-activity-tracking.ts validation script
- Update deployment checklist and admin module documentation

DB Migration: 20260309_add_user_permissions_table

Made-with: Cursor
This commit is contained in:
2026-03-10 09:02:35 +08:00
parent 971e903acf
commit 097e7920ab
19 changed files with 693 additions and 87 deletions

View File

@@ -1,8 +1,8 @@
# ADMIN-运营管理端 - 模块当前状态与开发指南
> **最后更新:** 2026-01-28
> **状态:** ✅ Phase 4.6 Prompt 知识库集成功能完成!
> **版本:** v0.8 (Alpha)
> **最后更新:** 2026-03-10
> **状态:** ✅ Phase 5.1 用户运营权限体系 + 运营埋点增强完成!
> **版本:** v1.0 (Beta)
---
@@ -135,12 +135,40 @@
- [x] 修复:发布按钮 400 错误
- [x] 修复:发布后缓存未清除问题
**Phase 5.0:运营埋点增强** ✅ 已完成2026-03-10🎉
- [x] 后端ActivityService 增强DAU/MAU/API Token/最活跃用户/模块统计)
- [x] 后端:运营看板 API`getTodayOverview` 新增 MAU、apiTokenTotal、topActiveUser
- [x] 后端:分页查询运营日志 API`getActivityLogs` 支持日期/模块/动作/关键词筛选)
- [x] 后端用户360画像 API`getUserOverview` 资产+行为概览)
- [x] 后端运营埋点全模块覆盖9 大埋点全部到位)
- SYSTEM登录、顶部导航点击
- ASL意图识别、启动 Deep Research
- AIA10 个智能体对话使用)
- PKB创建知识库
- DC上传数据文件、AI 流式清洗、快速操作)
- RVW稿件审查
- IITCRA 质控启动/完成)
- [x] 前端顶部导航点击埋点上报fire-and-forget
- [x] 前端:运营看板展示 MAU/Token/最活跃用户4 个统计卡片)
- [x] 工具:埋点验证脚本 `npm run test:tracking`9/9 覆盖)
**Phase 5.1:用户直授权限体系** ✅ 已完成2026-03-10🎉
- [x] 数据库:新增 `user_permissions` 用户直授权限表(`platform_schema`
- [x] 数据库Seed `ops:user-ops` 权限记录
- [x] 后端:认证链路合并 role_permissions + user_permissions`auth.service.ts``auth.middleware.ts`
- [x] 后端:`getUserQueryScope` 支持 USER 角色 + `ops:user-ops`(跨租户查看能力)
- [x] 后端:用户管理 API 新增直授权限读写接口(`GET/PUT /:id/permissions``GET /options/permissions`
- [x] 后端:所有用户管理/租户管理 API 路由支持 `ops:user-ops` 替代权限
- [x] 后端:跨租户操作检查统一收敛到 `getUserQueryScope`(消除硬编码角色白名单)
- [x] 前端:用户创建/编辑页新增"用户运营权限"开关Switch 组件)
- [x] 前端:用户详情页支持查看和切换运营权限
- [x] 前端AdminLayout/TopNavigation 支持 `ops:user-ops` 入口
### ⏳ 待开发(按优先级)
**P2 - 用户管理增强(可选)**
- [ ] 用户批量操作(批量禁用、批量分配租户)
- [ ] 用户操作日志audit_logs 集成
- [ ] 用户统计分析(活跃度、模块使用率)
- [ ] 更多直授权限种类(当前仅 `ops:user-ops`,未来可扩展
**P2 - Prompt 管理优化**
- [ ] Prompt 版本对比功能
@@ -152,6 +180,11 @@
- [ ] 租户专属登录页
- [ ] 配额管理界面
**P2 - 运营监控增强**
- [ ] 用户停留时长统计(前端心跳上报)
- [ ] 点击流分析与可视化
- [ ] 单模块重试按钮RVW partial_completed 场景)
---
## 🗄️ 数据库状态
@@ -181,6 +214,7 @@ public.AdminLog -- 旧的审计日志
-`role_permissions` - 角色权限
-`verification_codes` - 验证码表
-`modules` - 系统模块表(动态管理可用模块)🆕 2026-01-12
-`user_permissions` - 用户直授权限表(不依赖角色的独立授权)🆕 2026-03-10
**capability_schema通用能力** ✅ 新增
-`prompt_templates` - Prompt模板
@@ -225,16 +259,17 @@ public.AdminLog -- 旧的审计日志
## 🔐 角色与权限矩阵
| 功能模块 | SUPER_ADMIN | PROMPT_ENGINEER | HOSPITAL_ADMIN | PHARMA_ADMIN | USER |
|---------|-------------|-----------------|----------------|--------------|------|
| 租户管理 | ✅ 全部 | ❌ | ❌ | ❌ | ❌ |
| Prompt管理 | ✅ 全部 | ✅ 全部 | ❌ | ❌ | |
| 户管理(全局 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 用户管理(租户内) | ✅ | ❌ | | | ❌ |
| 配额分配 | ✅ | ❌ | | | ❌ |
| 审计日志(全局 | ✅ | ❌ | | | ❌ |
| 审计日志(租户内) | ✅ | ❌ | ✅ | ✅ | ❌ |
| 业务模块使用 | ✅ | | | | ✅ |
| 功能模块 | SUPER_ADMIN | PROMPT_ENGINEER | HOSPITAL_ADMIN | PHARMA_ADMIN | USER | USER + ops:user-ops |
|---------|-------------|-----------------|----------------|--------------|------|---------------------|
| 租户管理(查看) | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| 租户管理(创建/编辑) | ✅ | ❌ | ❌ | ❌ | ❌ | |
| 户管理(删除 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Prompt管理 | ✅ 全部 | ✅ 全部 | ❌ | | | ❌ |
| 用户管理(全局) | ✅ | ❌ | | | ❌ | ✅ |
| 用户管理(租户内 | ✅ | ❌ | | | ❌ | ✅ |
| 配额分配 | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ |
| 运营日志/看板 | ✅ | ❌ | ❌ | | | ✅ |
| 业务模块使用 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
---