- Neue Datei `docs/frontend/components/MapComponent.md` hinzugefügt - Erklärung zur Verwendung von ?m=...&u=... im Frontend - Klarstellung, dass Webservices idMap/idUser erwarten - MapComponent angepasst für URL-Parameter 'm' und 'u'
61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
# 🗺️ MapComponent – Webservice-Parameter
|
||
|
||
## 🔄 URL-Parameter vom Aufrufer (z. B. TALAS.web)
|
||
|
||
Die Anwendung wird mit Kurzparametern aufgerufen:
|
||
|
||
```
|
||
http://[SERVER]:3000/?m=12&u=484
|
||
```
|
||
|
||
| Parameter | Bedeutung |
|
||
| --------- | -------------------------- |
|
||
| `m` | Map-ID (intern: `idMap`) |
|
||
| `u` | User-ID (intern: `idUser`) |
|
||
|
||
Diese Parameter werden im Code wie folgt gelesen:
|
||
|
||
```js
|
||
const params = new URLSearchParams(window.location.search);
|
||
const idMap = params.get("m");
|
||
const idUser = params.get("u");
|
||
```
|
||
|
||
---
|
||
|
||
## 🔁 Webservice-Proxy intern
|
||
|
||
Die Next.js API-Routen übernehmen die Umwandlung zu den Webservices:
|
||
|
||
```js
|
||
// Beispiel: /pages/api/gisSystemStatic.js
|
||
const targetUrl = `http://.../WebServiceMap.asmx/GisSystemStatic?idMap=${idMap}&idUser=${idUser}`;
|
||
```
|
||
|
||
➡ Die Konvertierung `m → idMap` und `u → idUser` erfolgt **nur im Backend (API-Routen)**
|
||
|
||
---
|
||
|
||
## 🧠 Hinweis für Entwickler
|
||
|
||
- `m` und `u` **immer** aus der URL im Client lesen
|
||
- Niemals `idMap` oder `idUser` direkt im Frontend erwarten
|
||
- Alle Webservice-Zugriffe im Frontend laufen über interne API-Routen `/api/...`
|
||
- Beispiel-Aufruf:
|
||
```js
|
||
fetch(`/api/gisSystemStatic?m=${idMap}&u=${idUser}`);
|
||
```
|
||
|
||
---
|
||
|
||
## 🌐 Beispiele aus der Praxis
|
||
|
||
| Umgebung | URL-Aufruf-Beispiel |
|
||
| --------------------- | ------------------------------------------------------------- |
|
||
| Entwicklungs-PC | http://10.10.0.70:3000/?m=12&u=484 |
|
||
| Test-Server via TALAS | http://10.10.0.13/talas5/MessagesMap/mapTypeC.aspx?m=12&u=484 |
|
||
|
||
---
|
||
|
||
Diese Konvention ist essenziell für einheitliche Übergabe und Backend-Kompatibilität.
|