# 系统使用统计前后端落地文件清单 ## 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. 增加系统使用统计专属权限点配置页说明文档