Files
zpark-ems/frontend/public/devices/heat_meter.svg
Du Wenbo d3f47d664c feat: customer frontend, Sungrow collector fixes, real data (v1.2.0)
- Add frontend/ at root (no Three.js, no Charging, green #52c41a theme)
- Fix Sungrow collector: add curPage/size params, unit conversion
- Fix station-level dedup to prevent double-counting
- Add shared token cache for API rate limit protection
- Add .githooks/pre-commit, CLAUDE.md, .gitignore
- Update docker-compose.override.yml frontend -> ./frontend
- Pin bcrypt in requirements.txt
- Add BUYOFF_RESULTS_2026-04-05.md (39/43 pass)
- Data accuracy: 0.0% diff vs iSolarCloud

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 23:43:24 +08:00

30 lines
2.0 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" width="400" height="300" viewBox="0 0 400 300">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#2d1b1b;stop-opacity:1" />
<stop offset="100%" style="stop-color:#1a0f0f;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="400" height="300" fill="url(#bg)" rx="12"/>
<!-- Meter body -->
<rect x="120" y="50" width="160" height="140" rx="10" fill="#f3f4f6" stroke="#d1d5db" stroke-width="2"/>
<!-- Screen -->
<rect x="138" y="65" width="124" height="50" rx="4" fill="#1f2937"/>
<text x="200" y="92" text-anchor="middle" fill="#ef4444" font-family="monospace" font-size="20" font-weight="bold">256.8</text>
<text x="255" y="92" fill="#ef4444" font-family="monospace" font-size="10">GJ</text>
<text x="145" y="78" fill="#9ca3af" font-family="monospace" font-size="9">累计热量</text>
<!-- Flow rate -->
<text x="200" y="135" text-anchor="middle" fill="#6b7280" font-family="Arial" font-size="11">流量: 2.4 m³/h</text>
<text x="200" y="150" text-anchor="middle" fill="#6b7280" font-family="Arial" font-size="11">温差: 8.2°C</text>
<!-- Pipes -->
<rect x="70" y="155" width="55" height="16" rx="8" fill="#ef4444" opacity="0.7"/>
<rect x="275" y="155" width="55" height="16" rx="8" fill="#3b82f6" opacity="0.7"/>
<text x="97" y="166" text-anchor="middle" fill="white" font-size="9" font-family="Arial">供水</text>
<text x="302" y="166" text-anchor="middle" fill="white" font-size="9" font-family="Arial">回水</text>
<!-- Flow arrows in pipes -->
<text x="80" y="166" fill="white" font-size="10"></text>
<text x="315" y="166" fill="white" font-size="10"></text>
<!-- Label -->
<text x="200" y="238" text-anchor="middle" fill="#f87171" font-family="Arial, sans-serif" font-size="20" font-weight="bold">热量表</text>
<text x="200" y="258" text-anchor="middle" fill="#6b7280" font-family="Arial, sans-serif" font-size="12">Ultrasonic Heat Meter</text>
</svg>