docs+refactor: fetchGisStationsStatusDistrict Port-Logik vereinheitlicht

- zentrale Steuerung über .env.local (`NEXT_PUBLIC_API_PORT_MODE`)
- URL-Parameter m/u werden in idMap/idUser übersetzt
- Webservice-Aufruf korrekt über /GisStationsStatusDistrict aufgebaut
- Doku ergänzt: /docs/frontend/redux/api/fromWebService/fetchGisStationsStatusDistrict.md
- CHANGELOG.md auf v1.1.73 aktualisiert
This commit is contained in:
ISA
2025-05-16 13:48:08 +02:00
parent be6638f74c
commit 3d3184caf2
4 changed files with 102 additions and 5 deletions

View File

@@ -4,6 +4,22 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie
---
## [1.1.73] 2025-05-17
### Changed
- `fetchGisStationsStatusDistrict.js` vereinheitlicht:
- zentrale API-Port-Logik über `.env.local` (`NEXT_PUBLIC_API_PORT_MODE`)
- URL-Parameter `idMap` und `idUser` werden dynamisch aus `?m=...&u=...` extrahiert
- Webservice-Aufruf wird korrekt über `GisStationsStatusDistrict` aufgebaut
### Added
- Dokumentation ergänzt:
- `docs/frontend/redux/api/fromWebService/fetchGisStationsStatusDistrict.md`
---
## [1.1.72] 2025-05-17
### Changed

View File

@@ -1,2 +1,2 @@
// /config/appVersion
export const APP_VERSION = "1.1.73";
export const APP_VERSION = "1.1.74";

View File

@@ -0,0 +1,78 @@
# 🌐 fetchGisStationsStatusDistrict Gerätestatus nach Bezirken abrufen
## Zweck
Diese Funktion ruft die aktuellen Statusdaten aller Geräte eines bestimmten Kartenbezirks ab.
Sie basiert auf dem Webservice-Endpunkt `GisStationsStatusDistrict`.
---
## Webservice-Endpunkt
```
GisStationsStatusDistrict?idMap={idMap}&idUser={idUser}
```
---
## Portsteuerung über Umgebungsvariable
Da die Webservices in allen Umgebungen über Port 80 laufen,
wird der Zugriff über eine Umgebungsvariable in `.env.local` konfiguriert:
```env
NEXT_PUBLIC_API_PORT_MODE=dev
```
### Codebeispiel:
```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`;
```
---
## URL-Parameter
| Parameter | Beschreibung | Übergabe durch TALAS.web |
|-----------|--------------|---------------------------|
| `m` | Map-ID | Ja |
| `u` | User-ID | Ja |
```js
const params = new URLSearchParams(window.location.search);
const idMap = params.get("m");
const idUser = params.get("u");
```
---
## Beispiel
```
http://10.10.0.13/talas5/MessagesMap/mapTypeC.aspx?m=12&u=484
```
→ wird übersetzt zu:
```
http://10.10.0.13/talas5/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict?idMap=12&idUser=484
```
---
## Siehe auch
- `.env.local``NEXT_PUBLIC_API_PORT_MODE`
- `fetchGisStationsStaticDistrict.js`
- `fetchGisStationsMeasurements.js`
- `fetchGisSystemStatic.js`
---
📄 Pfad: `/docs/frontend/redux/api/fromWebService/fetchGisStationsStatusDistrict.md`

View File

@@ -1,20 +1,23 @@
// /redux/api/fromWebService/fetchGisStationsStatusDistrict.js
export const fetchGisStationsStatusDistrict = async () => {
const apiBaseUrl = `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`;
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`;
const params = new URLSearchParams(window.location.search);
const idMap = params.get("m");
const idUser = params.get("u");
console.log("🔍 fetchGisStationsStatusDistrict - URL:", `${apiBaseUrl}/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`);
const url = `${apiBaseUrl}/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`;
console.log("🔍 fetchGisStationsStatusDistrict - URL:", url);
const response = await fetch(`${apiBaseUrl}/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`);
const response = await fetch(url);
if (!response.ok) {
throw new Error("GisStationsStatusDistrict konnte nicht geladen werden");
}
const data = await response.json();
//console.log("✅ fetchGisStationsStatusDistrict - Daten:", data);
return data;
};