Files
zpark-ems/core/backend/app/api/router.py
Du Wenbo 93af4bc16b feat: solar KPIs, version display, feature flags (v1.4.0)
New dashboard KPI cards:
- Performance Ratio (PR) with color thresholds
- Equivalent Utilization Hours
- Daily Revenue (¥)
- Self-Consumption Rate

Version display for field engineers:
- Login page footer: "v1.4.0 | Core: v1.4.0"
- Sidebar footer: version when expanded
- System Settings: full version breakdown

Backend (core sync):
- GET /api/v1/version (no auth) — reads VERSIONS.json
- GET /api/v1/kpi/solar — PR, revenue, equiv hours calculations
- Dashboard energy_today fallback from raw energy_data
- PV device filter includes sungrow_inverter type

Feature flags:
- Sidebar hides disabled features (charging, bigscreen_3d)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:37:09 +08:00

31 lines
1.4 KiB
Python

from fastapi import APIRouter
from app.api.v1 import auth, users, devices, energy, monitoring, alarms, reports, carbon, dashboard, collectors, websocket, audit, settings, charging, quota, cost, maintenance, management, prediction, energy_strategy, weather, ai_ops, branding, version, kpi
api_router = APIRouter(prefix="/api/v1")
api_router.include_router(auth.router)
api_router.include_router(users.router)
api_router.include_router(devices.router)
api_router.include_router(energy.router)
api_router.include_router(monitoring.router)
api_router.include_router(alarms.router)
api_router.include_router(reports.router)
api_router.include_router(carbon.router)
api_router.include_router(dashboard.router)
api_router.include_router(collectors.router)
api_router.include_router(websocket.router)
api_router.include_router(audit.router)
api_router.include_router(settings.router)
api_router.include_router(charging.router)
api_router.include_router(quota.router)
api_router.include_router(cost.router)
api_router.include_router(maintenance.router)
api_router.include_router(management.router)
api_router.include_router(prediction.router)
api_router.include_router(energy_strategy.router)
api_router.include_router(weather.router)
api_router.include_router(ai_ops.router)
api_router.include_router(branding.router)
api_router.include_router(version.router)
api_router.include_router(kpi.router)