208 lines
5.3 KiB
Markdown
208 lines
5.3 KiB
Markdown
# 系统使用统计前后端落地文件清单
|
|
|
|
## 1. 本次提交信息
|
|
|
|
### 后端
|
|
|
|
- 仓库:`leaudit-platform-backend`
|
|
- 分支:`main`
|
|
- 提交:`0fec8ba`
|
|
- 提交信息:`fix(rbac): expose usage stats menu in settings`
|
|
|
|
### 前端
|
|
|
|
- 仓库:`legal-platform-frontend`
|
|
- 分支:`wren-dev`
|
|
- 提交:`09ed1d7`
|
|
- 提交信息:`feat(usage-stats): add system usage statistics page`
|
|
|
|
---
|
|
|
|
## 2. 后端文件清单
|
|
|
|
### 2.1 `fastapi_modules/fastapi_leaudit/services/impl/rbacServiceImpl.py`
|
|
|
|
本次对应该文件的职责是把“系统使用统计”正式接入系统设置菜单和 RBAC 路由兼容层。
|
|
|
|
已完成内容:
|
|
|
|
- 把 `/usage-stats` 加入最小可见路由前缀列表
|
|
- 在系统设置兼容菜单蓝图下新增子菜单:
|
|
- 路径:`/usage-stats`
|
|
- 标题:`系统使用统计`
|
|
- 图标:`ri-bar-chart-box-line`
|
|
- 给 `/usage-stats` 补充权限前缀映射:
|
|
- `usage_stats:`
|
|
|
|
落地效果:
|
|
|
|
- 后端返回的系统设置菜单中会包含“系统使用统计”
|
|
- 前端在系统设置模式下能够根据 RBAC 路由正常显示该菜单
|
|
|
|
---
|
|
|
|
## 3. 前端文件清单
|
|
|
|
### 3.1 `legal-platform-frontend/app/(audit)/usage-stats/page.tsx`
|
|
|
|
页面路由入口文件。
|
|
|
|
已完成内容:
|
|
|
|
- 新增 `/usage-stats` 页面入口
|
|
- 挂载 `UsageStatsClient`
|
|
|
|
### 3.2 `legal-platform-frontend/app/(audit)/usage-stats/UsageStatsClient.tsx`
|
|
|
|
系统使用统计页面主实现文件,也是本次前端改动的核心文件。
|
|
|
|
已完成内容:
|
|
|
|
- 总览区
|
|
- 登录人数
|
|
- 活跃用户数
|
|
- 主文档上传数
|
|
- 评查发起次数
|
|
- 筛选区
|
|
- 统计时间
|
|
- 地区
|
|
- 地区口径
|
|
- 趋势指标
|
|
- 趋势粒度
|
|
- 趋势区
|
|
- 支持折线图 / 面积图 / 柱状图切换
|
|
- 支持 hover 提示框,展示“时间 + 次数”
|
|
- 支持时间轴补齐,缺数据月份/周/日按 `0` 显示
|
|
- 支持图表内部横向滚动
|
|
- 支持“时间窗口”滑条控制图表内部滚动
|
|
- 列表区
|
|
- 按部门查看使用成效
|
|
- 按地区查看使用成效
|
|
- 支持分页
|
|
- 支持导出当前页 CSV
|
|
- 联动修复
|
|
- 统计时间、地区、地区口径筛选会联动趋势、部门、地区区块
|
|
- 地区列表改为前端完整拉取后再分页,避免只取后端第一页导致数据不全
|
|
|
|
### 3.3 `legal-platform-frontend/lib/api/legacy/usage-stats/usage-stats.ts`
|
|
|
|
系统使用统计接口封装文件。
|
|
|
|
已完成内容:
|
|
|
|
- 新增类型定义:
|
|
- `UsageStatsOverview`
|
|
- `UsageStatsTrend`
|
|
- `UsageStatsDepartmentPage`
|
|
- `UsageStatsAreaPage`
|
|
- 以及对应 item 类型
|
|
- 新增接口封装:
|
|
- `getUsageStatsOverview`
|
|
- `getUsageStatsTrends`
|
|
- `getUsageStatsDepartments`
|
|
- `getUsageStatsAreas`
|
|
- 预留了 `getUsageStatsUsers`
|
|
- 预留了 `getUsageStatsDetails`
|
|
- 统一封装 usage-stats 响应解包逻辑
|
|
|
|
### 3.4 `legal-platform-frontend/styles/pages/usage-stats.css`
|
|
|
|
系统使用统计页面专属样式文件。
|
|
|
|
已完成内容:
|
|
|
|
- 页面头部、总览卡片、表格卡片样式
|
|
- 趋势图专属样式:
|
|
- 折线/面积/柱状图视觉风格
|
|
- hover 提示框
|
|
- 图表切换按钮
|
|
- 时间窗口滑条
|
|
- 卡片风格统一到现有系统设置页视觉语言
|
|
- 多轮修复图表导致整页横向滚动的问题
|
|
|
|
### 3.5 `legal-platform-frontend/components/layout/Sidebar.tsx`
|
|
|
|
系统设置菜单识别与侧边栏渲染逻辑。
|
|
|
|
已完成内容:
|
|
|
|
- 把 `/usage-stats` 纳入系统设置路径识别
|
|
- 系统设置模式下允许显示 `/usage-stats`
|
|
- 非系统设置模式下继续隐藏设置类菜单
|
|
- 修复系统设置模式路由切换时的依赖问题
|
|
|
|
### 3.6 `legal-platform-frontend/styles/main.css`
|
|
|
|
页面主布局样式文件。
|
|
|
|
已完成内容:
|
|
|
|
- 对 `.main-content` 增加:
|
|
- `min-width: 0`
|
|
- `overflow-x: hidden`
|
|
- 对 `.content-container` 增加:
|
|
- `min-width: 0`
|
|
- `overflow-x: hidden`
|
|
|
|
落地效果:
|
|
|
|
- 防止趋势图等宽内容把整个页面撑出横向滚动
|
|
- 确保图表横向滚动只发生在内部视口,而不是整页
|
|
|
|
---
|
|
|
|
## 4. 本次页面能力范围
|
|
|
|
本次已落地的系统使用统计页面能力为:
|
|
|
|
- 总览
|
|
- 总览趋势
|
|
- 按部门查看使用成效
|
|
- 按地区查看使用成效
|
|
|
|
本次未在页面中展开,但接口层已经预留的能力包括:
|
|
|
|
- 按用户查看使用成效
|
|
- 使用明细明细流
|
|
|
|
---
|
|
|
|
## 5. 相关联动说明
|
|
|
|
### 菜单显示链路
|
|
|
|
系统使用统计菜单显示依赖以下链路全部打通:
|
|
|
|
1. 后端 RBAC 路由兼容层返回 `/usage-stats`
|
|
2. 前端侧边栏把 `/usage-stats` 识别为系统设置子页面
|
|
3. 当前账号具备 `usage_stats:*` 权限
|
|
|
|
### 图表与布局修复链路
|
|
|
|
为解决“整页横向滚动”“时间窗口拖了图不动”等问题,本次实际同时改动了:
|
|
|
|
1. 趋势图 SVG 实际宽度控制
|
|
2. 趋势图内部滚动视口
|
|
3. 时间窗口滑条与 `scrollLeft` 联动
|
|
4. 主内容区与内容容器的 `min-width / overflow-x`
|
|
|
|
因此这部分不是单点改动,而是一组联动修复。
|
|
|
|
---
|
|
|
|
## 6. 建议后续增强项
|
|
|
|
后续如果继续迭代系统使用统计,建议优先按下面顺序推进:
|
|
|
|
1. 接入“按用户查看使用成效”
|
|
2. 接入“行为明细”查看页
|
|
3. 增加更细粒度筛选:
|
|
- 入口模块
|
|
- 文档类型
|
|
4. 趋势图增加更完整的交互:
|
|
- tooltip 优化
|
|
- 缩略导航
|
|
- 导出趋势图
|
|
5. 增加系统使用统计专属权限点配置页说明文档
|
|
|