# 任务007:能耗管理 ## 目标 实现电表数据统计,柜子/项目维度的能耗分析,趋势图表。 ## 后端API ``` GET /api/energy-stats/summary # 总览(今日/本月总能耗、电费估算) GET /api/energy-stats/cabinets # 柜子能耗排行 GET /api/energy-stats/projects # 项目能耗统计 GET /api/energy-stats/trend # 趋势数据(日/周/月) GET /api/energy-stats/export # 导出能耗报表(异步) ``` ### 响应示例 **总览:** ```json { "today_energy": 3750.50, "month_energy": 85200.00, "estimated_cost": 68160.00, "cabinet_count": 128, "online_count": 125 } ``` **柜子排行:** ```json [ {"cabinet_id": 1, "abstract_id": "10-00000001", "today_energy": 320.5}, {"cabinet_id": 2, "abstract_id": "10-00000002", "today_energy": 285.0} ] ``` **趋势(日):** ```json [ {"date": "2026-07-01", "energy": 3750.50, "charge_count": 423}, {"date": "2026-06-30", "energy": 3680.20, "charge_count": 415} ] ``` ## 前端页面 ### 能耗管理页 **顶部数据卡片:** ``` ┌─────────┐ ┌───────── ┌─────────┐ ┌───────── │今日能耗 │ │本月能耗 │ │电费估算 │ │在线柜子 │ │3,750 kWh│ │85,200 kWh│ │¥68,160 │ │ 125 │ └───────── └─────────┘ └───────── └─────────┘ ``` **柜子能耗排行:** - 表格显示柜子ID、今日能耗、本月能耗 - 支持排序 **项目能耗统计:** - 表格显示项目名、柜子数、今日能耗、本月能耗 **趋势图:** - 日/周/月切换 - 折线图显示能耗趋势 - 柱状图显示充电次数 **导出按钮:** - 异步导出Excel - 文件名:`能耗统计_2026年7月.xlsx` ## 质量约束 1. 完成代码后执行 `cargo check` + `tsc --noEmit`,零报错零警告 2. 分层拆分,单函数≤80行,命名语义化,完整注释 3. 所有外部IO/网络请求异常捕获,禁止裸panic 4. 分支逻辑全覆盖,不遗漏兜底分支 5. 常量抽离,不使用废弃API 6. Rust内存安全,React函数组件+Hooks