2.2 KiB
2.2 KiB
任务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 # 导出能耗报表(异步)
响应示例
总览:
{
"today_energy": 3750.50,
"month_energy": 85200.00,
"estimated_cost": 68160.00,
"cabinet_count": 128,
"online_count": 125
}
柜子排行:
[
{"cabinet_id": 1, "abstract_id": "10-00000001", "today_energy": 320.5},
{"cabinet_id": 2, "abstract_id": "10-00000002", "today_energy": 285.0}
]
趋势(日):
[
{"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
质量约束
- 完成代码后执行
cargo check+tsc --noEmit,零报错零警告 - 分层拆分,单函数≤80行,命名语义化,完整注释
- 所有外部IO/网络请求异常捕获,禁止裸panic
- 分支逻辑全覆盖,不遗漏兜底分支
- 常量抽离,不使用废弃API
- Rust内存安全,React函数组件+Hooks