refactor+docs: fetchGisStatusStations.js URL-Handling vereinheitlicht (v1.1.78)
- entfernt: NEXT_PUBLIC_SERVER_URL aus fetchGisStatusStations.js - ersetzt durch dynamischen URL-Aufbau via NEXT_PUBLIC_API_PORT_MODE - neue Doku erstellt: docs/frontend/services/api/fetchGisStatusStations.md - CHANGELOG.md aktualisiert (v1.1.78)
This commit is contained in:
@@ -7,7 +7,6 @@ DB_NAME=talas_v5
|
||||
DB_PORT=3306
|
||||
|
||||
# Public Settings (Client braucht IP/Domain) , Variablen mit dem Präfix "NEXT_PUBLIC" ist in Browser sichtbar
|
||||
NEXT_PUBLIC_SERVER_URL="http://192.168.10.33"
|
||||
NEXT_PUBLIC_ENABLE_GEOCODER=true
|
||||
NEXT_PUBLIC_USE_MOCK_API=false
|
||||
NEXT_PUBLIC_DEBUG_LOG=true
|
||||
|
||||
16
CHANGELOG.md
16
CHANGELOG.md
@@ -4,6 +4,22 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie
|
||||
|
||||
---
|
||||
|
||||
## [1.1.78] – 2025-05-17
|
||||
|
||||
### Changed
|
||||
|
||||
- `fetchGisStatusStations.js`:
|
||||
- feste URL-Variable `NEXT_PUBLIC_SERVER_URL` entfernt
|
||||
- stattdessen dynamische URL-Berechnung per `NEXT_PUBLIC_API_PORT_MODE`
|
||||
- Zugriff auf Webservice `GisStationsStatusDistrict` funktioniert jetzt ohne `.env.local`
|
||||
|
||||
### Added
|
||||
|
||||
- Dokumentation ergänzt:
|
||||
- `docs/frontend/services/api/fetchGisStatusStations.md`
|
||||
|
||||
---
|
||||
|
||||
## [1.1.77] – 2025-05-17
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// /config/appVersion
|
||||
export const APP_VERSION = "1.1.78";
|
||||
export const APP_VERSION = "1.1.79";
|
||||
|
||||
84
docs/frontend/services/api/fetchGisStatusStations.md
Normal file
84
docs/frontend/services/api/fetchGisStatusStations.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# 🛰️ fetchGisStatusStations – Geräte-Statusdaten abrufen
|
||||
|
||||
## Zweck
|
||||
|
||||
Diese Funktion ruft den aktuellen Status aller Stationen (Geräte) für eine bestimmte Karte ab.
|
||||
Sie basiert auf dem Webservice `GisStationsStatusDistrict`.
|
||||
|
||||
---
|
||||
|
||||
## Webservice-Endpunkt
|
||||
|
||||
```
|
||||
GET /talas5/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict?idMap={idMap}&idUser={idUser}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dynamische URL-Erzeugung
|
||||
|
||||
Die Funktion nutzt **keine feste URL** aus `.env.local`, sondern erkennt die Umgebung anhand von:
|
||||
|
||||
```env
|
||||
NEXT_PUBLIC_API_PORT_MODE=dev
|
||||
```
|
||||
|
||||
### Beispiel aus dem Code:
|
||||
|
||||
```js
|
||||
const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;
|
||||
|
||||
const SERVER_URL =
|
||||
mode === "dev"
|
||||
? \`\${window.location.protocol}//\${window.location.hostname}:80\`
|
||||
: \`\${window.location.origin}\`;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Parameter
|
||||
|
||||
| Name | Typ | Beschreibung |
|
||||
|----------|--------|--------------------------|
|
||||
| `idMap` | string | Karten-ID |
|
||||
| `idUser` | string | Benutzer-ID |
|
||||
|
||||
---
|
||||
|
||||
## Verwendung
|
||||
|
||||
Die Funktion nutzt `fetchWithTimeout` mit einem Timeout von 5000 ms.
|
||||
|
||||
```js
|
||||
fetchWithTimeout(
|
||||
\`\${SERVER_URL}/talas5/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict?idMap=\${idMap}&idUser=\${idUser}\`,
|
||||
{ method: "GET", headers: { Connection: "close" } },
|
||||
5000
|
||||
)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fehlerbehandlung
|
||||
|
||||
Bei HTTP-Fehlern oder Zeitüberschreitung wird ein Fehler geloggt und erneut geworfen.
|
||||
|
||||
```js
|
||||
if (!response.ok) throw new Error(...);
|
||||
.catch((error) => {
|
||||
console.error(...);
|
||||
throw error;
|
||||
});
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- `.env.local` → `NEXT_PUBLIC_API_PORT_MODE`
|
||||
- `fetchWithTimeout.js`
|
||||
- `GisStationsStaticDistrict`, `GisSystemStatic`
|
||||
|
||||
---
|
||||
|
||||
📄 Pfad: `/docs/frontend/services/api/fetchGisStatusStations.md`
|
||||
@@ -1,7 +1,11 @@
|
||||
// /services/api/fetchGisStatusStations.js
|
||||
import fetchWithTimeout from "./fetchWithTimeout";
|
||||
|
||||
export const fetchGisStatusStations = async (idMap, idUser) => {
|
||||
const SERVER_URL = process.env.NEXT_PUBLIC_SERVER_URL;
|
||||
const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;
|
||||
|
||||
const SERVER_URL = mode === "dev" ? `${window.location.protocol}//${window.location.hostname}:80` : `${window.location.origin}`;
|
||||
|
||||
return fetchWithTimeout(
|
||||
`${SERVER_URL}/talas5/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`,
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user