- GET /manage: neue Übersichtsseite mit Bulma-Karten für screen_user mit ≥2 Screens
- handleScreenUserRedirect leitet bei ≥2 Screens auf /manage statt auf ersten Screen
- On-Demand-Screenshot-Flow via MQTT:
- Backend publiziert signage/screen/{slug}/screenshot-request beim Seitenaufruf
- Player-Agent empfängt Topic, ruft TakeAndSendOnce() auf
- Player POST /api/v1/player/screenshot → Backend speichert in ScreenshotStore (RAM)
- GET /api/v1/screens/{screenId}/screenshot liefert gespeichertes Bild (authOnly)
- ScreenshotStore: In-Memory, thread-safe, kein Persistenz-Overhead
- JS-Retry nach 4s in Templates (Screenshot braucht 1-3s für MQTT-Roundtrip)
- manageTmpl zeigt Screenshot-Thumbnail beim Einzelscreen-Aufruf
- Doku: neue Endpoints, MQTT-Topics, Screenshot-Flow in SERVER-KONZEPT.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| cmd/agent | ||
| internal | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| README.md | ||
Agent
Lokaler Dienst auf dem Signage-Geraet.
Aufgaben
- periodischer HTTP-Statusreport an den Server
- optionaler MQTT-Heartbeat (wird uebersprungen wenn kein Broker konfiguriert)
- lokale Player-UI unter
http://127.0.0.1:8090/player - JSON-Statusendpunkt unter
http://127.0.0.1:8090/api/now-playing
Unterstruktur
cmd/agent/– Startpunktinternal/app/– Initialisierung und Laufzeitinternal/config/– Konfiguration (Env + JSON-Datei)internal/mqttheartbeat/– MQTT-Publisherinternal/playerserver/– lokaler HTTP-Server fuer Kiosk-UI