docs: Webservice fetchGisSystemStatic dokumentiert mit Portlogik und URL-Parameter
- .env-Variable NEXT_PUBLIC_API_PORT_MODE beschrieben - Beispielaufruf und URL-Mapping ergänzt - Pfadstruktur /docs/frontend/redux/api/... übernommen
This commit is contained in:
@@ -4,18 +4,12 @@ In diesem Verzeichnis befinden sich alle Webservice-Fetch-Funktionen für die Ko
|
||||
|
||||
---
|
||||
|
||||
## Aktueller Stand
|
||||
|
||||
Jede Funktion liest `idMap` und `idUser` **ausschließlich aus der URL**, wie sie von TALAS.web übergeben werden.
|
||||
|
||||
---
|
||||
|
||||
## Übergabe der Parameter über URL (`m`, `u`)
|
||||
|
||||
TALAS.web ruft die Kartenansicht in der Regel so auf:
|
||||
|
||||
```
|
||||
http://localhost:3000/?m=10&u=484
|
||||
http://[SERVER]:3000/?m=10&u=484
|
||||
```
|
||||
|
||||
Daraus ergeben sich folgende Zuweisungen:
|
||||
@@ -25,14 +19,12 @@ Daraus ergeben sich folgende Zuweisungen:
|
||||
| `m` | `idMap` | `const idMap = params.get("m")` |
|
||||
| `u` | `idUser` | `const idUser = params.get("u")` |
|
||||
|
||||
🔔 Achtung: Diese Kurzform (`m`, `u`) ist systembedingt durch TALAS.web vorgegeben und **soll nicht durch `idMap` oder `idUser` ersetzt werden**, da die Parameter sonst nicht erkannt werden.
|
||||
|
||||
### Beispiel:
|
||||
|
||||
```ts
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const idMap = params.get("m"); // statt "idMap"
|
||||
const idUser = params.get("u"); // statt "idUser"
|
||||
const idMap = params.get("m");
|
||||
const idUser = params.get("u");
|
||||
```
|
||||
|
||||
---
|
||||
@@ -49,11 +41,26 @@ Das wurde entfernt, um folgende Ziele zu erreichen:
|
||||
|
||||
- ❌ Keine fest eingetragenen Defaults im Browser sichtbar
|
||||
- ✅ Verbindlichkeit: TALAS.web übergibt die Werte immer korrekt via URL
|
||||
- 🔐 Sicherheit: Kein versehentliches Verwenden eines falschen Users (z. B. ID 484)
|
||||
- 🔐 Sicherheit: Kein versehentliches Verwenden eines falschen Users
|
||||
- 🔍 Fehler leichter erkennbar (Parameter nicht gefunden = echter Fehler)
|
||||
|
||||
---
|
||||
|
||||
## Hinweis zur Webservice-Konfiguration
|
||||
|
||||
Die Webservice-Basisadresse wird **nicht mehr über `.env.local` gesteuert**.
|
||||
|
||||
Stattdessen wird sie dynamisch im Client anhand des aktuellen Hostnamens bestimmt:
|
||||
|
||||
```js
|
||||
const baseUrl = `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`;
|
||||
```
|
||||
|
||||
➡ Dadurch ist kein Rebuild mehr nötig bei IP-Wechseln oder Serverumzügen.
|
||||
Die Build-Version kann auf jedem Server wiederverwendet werden.
|
||||
|
||||
---
|
||||
|
||||
## Optional: Validierung einbauen
|
||||
|
||||
Falls gewünscht, kann ein expliziter Fehler ausgelöst werden:
|
||||
@@ -80,12 +87,4 @@ Diese Änderung betrifft alle Funktionen in:
|
||||
|
||||
---
|
||||
|
||||
## Hinweis zur Konfiguration
|
||||
|
||||
Die Webservice-Basisadresse wird weiterhin über `.env.local` konfiguriert:
|
||||
|
||||
```env
|
||||
NEXT_PUBLIC_API_BASE_URL=http://10.10.0.13/talas5/ClientData/WebServiceMap.asmx
|
||||
```
|
||||
|
||||
Aber `idMap` und `idUser` werden **nicht** mehr über Umgebungsvariablen gesteuert.
|
||||
Diese Konvention stellt sicher, dass Webservices unabhängig von IP und Serverkonfiguration aufgerufen werden können.
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
# 🌐 fetchGisSystemStatic – Geräte-Systemdaten abrufen
|
||||
|
||||
## Zweck
|
||||
|
||||
Diese Funktion ruft die Gerätestatus-Übersicht für eine bestimmte Karte ab:
|
||||
|
||||
WebService-Endpunkt:
|
||||
|
||||
```
|
||||
GisSystemStatic?idMap={idMap}&idUser={idUser}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Besonderheit bei der URL
|
||||
|
||||
Die Webservices (z. B. `WebServiceMap.asmx`) laufen **immer auf Port 80**,
|
||||
egal ob im Entwicklungsmodus (`localhost`, `:3000`) oder auf dem Testserver (`10.10.0.13`).
|
||||
|
||||
Daher wird im Code explizit `:80` gesetzt – gesteuert über die Umgebungsvariable:
|
||||
|
||||
```env
|
||||
NEXT_PUBLIC_API_PORT_MODE=dev
|
||||
```
|
||||
|
||||
### Beispiel (aus dem Code):
|
||||
|
||||
```js
|
||||
const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;
|
||||
|
||||
const apiBaseUrl = mode === "dev" ? `${window.location.protocol}//${window.location.hostname}:80/talas5/ClientData/WebServiceMap.asmx` : `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Parameter
|
||||
|
||||
Die Funktion liest folgende URL-Parameter ein:
|
||||
|
||||
| URL-Parameter | Beschreibung | Übergabe durch TALAS.web |
|
||||
| ------------- | ------------ | ------------------------ |
|
||||
| `m` | Map-ID | Ja |
|
||||
| `u` | User-ID | Ja |
|
||||
|
||||
Diese werden aus der URL wie folgt gelesen:
|
||||
|
||||
```js
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const idMap = params.get("m");
|
||||
const idUser = params.get("u");
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Beispiel-Aufruf
|
||||
|
||||
TALAS-Aufruf:
|
||||
|
||||
```
|
||||
http://10.10.0.13/talas5/MessagesMap/mapTypeC.aspx?m=12&u=484
|
||||
```
|
||||
|
||||
wird im Webservice-Request zu:
|
||||
|
||||
```
|
||||
http://10.10.0.13/talas5/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=12&idUser=484
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- `.env.local` → `NEXT_PUBLIC_API_PORT_MODE`
|
||||
- `docs/fromWebService.md`
|
||||
- API-Datei: `/redux/api/fromWebService/fetchGisSystemStatic.js`
|
||||
- 📄 Pfad: `/docs/frontend/redux/api/fromWebService/fetchGisSystemStatic.md`
|
||||
Reference in New Issue
Block a user