docs+refactor: fetchGisStationsStatic API-Aufruf vereinheitlicht
- fetchGisStationsStatic.js verwendet jetzt zentrale Port-Logik über .env.local (NEXT_PUBLIC_API_PORT_MODE) - Map-ID wird direkt aus der URL gelesen (?m=...) - Fehlerprüfung auf JSON-Antwort eingebaut - Doku erstellt: /docs/frontend/redux/api/fromWebService/fetchGisStationsStatic.md - CHANGELOG.md aktualisiert (v1.1.71)
This commit is contained in:
16
CHANGELOG.md
16
CHANGELOG.md
@@ -4,6 +4,22 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie
|
||||
|
||||
---
|
||||
|
||||
## [1.1.71] – 2025-05-17
|
||||
|
||||
### Changed
|
||||
|
||||
- `fetchGisStationsStatic.js` aktualisiert:
|
||||
- zentrale Steuerung der API-Port-Logik über `.env.local` → `NEXT_PUBLIC_API_PORT_MODE`
|
||||
- Map-ID (`idMap`) wird direkt aus der URL gelesen (`?m=...`)
|
||||
- Fehlerbehandlung und Content-Type-Prüfung eingebaut
|
||||
|
||||
### Added
|
||||
|
||||
- Dokumentation hinzugefügt:
|
||||
- `docs/frontend/redux/api/fromWebService/fetchGisStationsStatic.md`
|
||||
|
||||
---
|
||||
|
||||
## [1.1.70] – 2025-05-17
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// /config/appVersion
|
||||
export const APP_VERSION = "1.1.71";
|
||||
export const APP_VERSION = "1.1.72";
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
# 🌐 fetchGisStationsStatic – Standortdaten der Karte abrufen
|
||||
|
||||
## Zweck
|
||||
|
||||
Diese Funktion ruft die statischen Standortinformationen aller Geräte für eine bestimmte Karte ab.
|
||||
Sie nutzt den Webservice-Endpunkt `GisStationsStatic`.
|
||||
|
||||
---
|
||||
|
||||
## Webservice-Endpunkt
|
||||
|
||||
```
|
||||
GisStationsStatic?idMap={idMap}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Besonderheit: Port-Steuerung über Umgebungsvariable
|
||||
|
||||
Die Webservices laufen immer auf Port 80 – auch in der Entwicklungsumgebung.
|
||||
|
||||
Die Funktion erkennt dies anhand der Umgebungsvariable in `.env.local`:
|
||||
|
||||
```env
|
||||
NEXT_PUBLIC_API_PORT_MODE=dev
|
||||
```
|
||||
|
||||
### Codeauszug:
|
||||
|
||||
```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
|
||||
|
||||
| URL-Parameter | Beschreibung | Übergabe durch TALAS.web |
|
||||
|---------------|--------------|---------------------------|
|
||||
| `m` | Map-ID | Ja |
|
||||
|
||||
Die Map-ID wird aus der URL gelesen:
|
||||
|
||||
```js
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const idMap = params.get("m");
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Beispiel
|
||||
|
||||
```
|
||||
http://10.10.0.13/talas5/MessagesMap/mapTypeC.aspx?m=12&u=484
|
||||
```
|
||||
|
||||
→ wird zu:
|
||||
|
||||
```
|
||||
http://10.10.0.13/talas5/ClientData/WebServiceMap.asmx/GisStationsStatic?idMap=12
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- `.env.local` → `NEXT_PUBLIC_API_PORT_MODE`
|
||||
- `fetchGisSystemStatic.md`
|
||||
- `fetchGisStationsMeasurements.md`
|
||||
|
||||
---
|
||||
|
||||
📄 Pfad: `/docs/frontend/redux/api/fromWebService/fetchGisStationsStatic.md`
|
||||
@@ -1,20 +1,21 @@
|
||||
// /redux/api/fromWebService/fetchGisStationsStatic.js
|
||||
|
||||
const apiBaseUrl = `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`;
|
||||
|
||||
export const fetchGisStationsStatic = async () => {
|
||||
try {
|
||||
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");
|
||||
const response = await fetch(`${apiBaseUrl}/GisStationsStatic?idMap=${idMap}`);
|
||||
|
||||
//console.log("📡 API Response Status:", response.status);
|
||||
//console.log("📡 API Response Headers:", response.headers.get("content-type"));
|
||||
const url = `${apiBaseUrl}/GisStationsStatic?idMap=${idMap}`;
|
||||
console.log("🔍 fetchGisStationsStatic - URL:", url);
|
||||
|
||||
const response = await fetch(url);
|
||||
|
||||
const text = await response.text();
|
||||
console.log("📡 API Response Text von fetch:", text);
|
||||
console.log("📡 API Response response von fetch:", response);
|
||||
|
||||
if (!response.ok || !response.headers.get("content-type")?.includes("application/json")) {
|
||||
throw new Error("❌ Fehler: Antwort ist kein gültiges JSON");
|
||||
|
||||
Reference in New Issue
Block a user