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
|
## [1.1.70] – 2025-05-17
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
// /config/appVersion
|
// /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
|
// /redux/api/fromWebService/fetchGisStationsStatic.js
|
||||||
|
|
||||||
const apiBaseUrl = `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`;
|
|
||||||
|
|
||||||
export const fetchGisStationsStatic = async () => {
|
export const fetchGisStationsStatic = async () => {
|
||||||
try {
|
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 params = new URLSearchParams(window.location.search);
|
||||||
const idMap = params.get("m");
|
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);
|
const url = `${apiBaseUrl}/GisStationsStatic?idMap=${idMap}`;
|
||||||
//console.log("📡 API Response Headers:", response.headers.get("content-type"));
|
console.log("🔍 fetchGisStationsStatic - URL:", url);
|
||||||
|
|
||||||
|
const response = await fetch(url);
|
||||||
|
|
||||||
const text = await response.text();
|
const text = await response.text();
|
||||||
console.log("📡 API Response Text von fetch:", 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")) {
|
if (!response.ok || !response.headers.get("content-type")?.includes("application/json")) {
|
||||||
throw new Error("❌ Fehler: Antwort ist kein gültiges JSON");
|
throw new Error("❌ Fehler: Antwort ist kein gültiges JSON");
|
||||||
|
|||||||
Reference in New Issue
Block a user