Add API.md and split html and css
This commit is contained in:
109
API.md
Normal file
109
API.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# API- und Routenbeschreibung für das AquaMaster-Projekt
|
||||
|
||||
Diese Datei beschreibt alle HTTP-Routen (API und statische Seiten) für das AquaMaster-Projekt. Sie dient als Referenz für Frontend-Entwickler.
|
||||
|
||||
---
|
||||
|
||||
## Statische Seiten
|
||||
|
||||
| Route | Methode | Beschreibung | Antwort (Content-Type) |
|
||||
|-----------------|---------|-------------------------------------|------------------------|
|
||||
| `/` | GET | Hauptseite (Timer) | HTML |
|
||||
| `/settings` | GET | Einstellungen-Seite | HTML |
|
||||
| `/about` | GET | Info-/About-Seite | HTML |
|
||||
| `/` (static) | GET | Statische Dateien (CSS, Bilder, JS) | entspr. MIME-Type |
|
||||
|
||||
---
|
||||
|
||||
## API-Routen
|
||||
|
||||
### Timer & Daten
|
||||
|
||||
| Route | Methode | Beschreibung | Body/Parameter | Antwort (Content-Type) |
|
||||
|-------------------|---------|-------------------------------------|------------------------|--------------------------------|
|
||||
| `/api/data` | GET | Aktuelle Timerdaten und Status | – | JSON |
|
||||
|
||||
**Beispiel-Response:**
|
||||
```json
|
||||
{
|
||||
"time1": 12.34,
|
||||
"status1": "running",
|
||||
"time2": 0,
|
||||
"status2": "ready",
|
||||
"best1": 10.12,
|
||||
"best2": 9.87,
|
||||
"learningMode": false,
|
||||
"learningButton": "Start Bahn 1"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Bestzeiten
|
||||
|
||||
| Route | Methode | Beschreibung | Body/Parameter | Antwort (Content-Type) |
|
||||
|----------------------|---------|-------------------------------------|------------------------|--------------------------------|
|
||||
| `/api/reset-best` | POST | Setzt Bestzeiten zurück | – | `{ "success": true }` |
|
||||
|
||||
---
|
||||
|
||||
### Button-Lernmodus
|
||||
|
||||
| Route | Methode | Beschreibung | Body/Parameter | Antwort (Content-Type) |
|
||||
|--------------------------|---------|-------------------------------------|------------------------|--------------------------------|
|
||||
| `/api/start-learning` | POST | Startet Lernmodus | – | `{ "success": true }` |
|
||||
| `/api/stop-learning` | POST | Beendet Lernmodus | – | `{ "success": true }` |
|
||||
| `/api/learn/status` | GET | Status des Lernmodus | – | `{ "active": true, "step": 1 }`|
|
||||
| `/api/unlearn-button` | POST | Löscht alle Button-Zuordnungen | – | `{ "success": true }` |
|
||||
| `/api/buttons/status` | GET | Status der Button-Zuordnung | – | JSON (siehe unten) |
|
||||
|
||||
**Beispiel-Response für `/api/buttons/status`:**
|
||||
```json
|
||||
{
|
||||
"lane1Start": true,
|
||||
"lane1Stop": false,
|
||||
"lane2Start": true,
|
||||
"lane2Stop": false
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Einstellungen
|
||||
|
||||
| Route | Methode | Beschreibung | Body/Parameter | Antwort (Content-Type) |
|
||||
|------------------------|---------|-------------------------------------|------------------------|--------------------------------|
|
||||
| `/api/set-max-time` | POST | Setzt max. Laufzeit & max. Anzeigezeit | `maxTime` (Sekunden, optional), `maxTimeDisplay` (Sekunden, optional) als Form-Parameter | `{ "success": true }` oder `{ "success": false }` |
|
||||
| `/api/get-settings` | GET | Liefert aktuelle Einstellungen | – | `{ "maxTime": 300, "maxTimeDisplay": 20 }` |
|
||||
|
||||
---
|
||||
|
||||
### Systeminfo
|
||||
|
||||
| Route | Methode | Beschreibung | Antwort (Content-Type) |
|
||||
|-------------------|---------|-------------------------------------|--------------------------------|
|
||||
| `/api/info` | GET | Systeminfos (IP, MAC, Speicher, Lizenz, verbundene Buttons) | JSON (siehe unten) |
|
||||
|
||||
**Beispiel-Response:**
|
||||
```json
|
||||
{
|
||||
"ip": "192.168.4.1",
|
||||
"channel": 1,
|
||||
"mac": "AA:BB:CC:DD:EE:FF",
|
||||
"freeMemory": 123456,
|
||||
"connectedButtons": 3,
|
||||
"valid": "Ja",
|
||||
"tier": 1
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Hinweise
|
||||
|
||||
- **Alle API-Routen liefern JSON zurück.**
|
||||
- **POST-Requests erwarten ggf. Form-Parameter (kein JSON-Body).**
|
||||
- **Statische Seiten und Assets werden direkt ausgeliefert.**
|
||||
- **Kein Authentifizierungsverfahren implementiert.**
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user