Daten von Mock bekommen

This commit is contained in:
Ismail Ali
2025-03-05 17:47:28 +01:00
parent 82001a4beb
commit 4c5ef0e33e
22 changed files with 1009 additions and 345 deletions

View File

@@ -1,58 +1,63 @@
// /config/config.js
// Datei: /config/config.js
import * as urls from "../config/urls.js";
// Definieren der grundlegenden Umgebungseinstellungen und Konfigurationen der Karte
const mapVersion = "0.5.3";
const standardSideMenu = true;
const fullSideMenu = false;
const serverURL = process.env.NEXT_PUBLIC_SERVER_URL;
if (!serverURL) {
// Server-URL aus Umgebungsvariable holen (nur bei echter API benötigt)
const serverURL = process.env.NEXT_PUBLIC_SERVER_URL || "";
if (!serverURL && !isMockMode()) {
throw new Error("Die Umgebungsvariable NEXT_PUBLIC_SERVER_URL ist nicht gesetzt!");
}
console.log("%c 1- serverURL in config:", "color: #006400;", serverURL);
// Mock-Switch direkt in der config.js
// true = Mock-Daten verwenden
// false = Echte Daten von Webservice
const USE_MOCK_API = true; // <--- Hier nicht mit "export" direkt, sondern erst unten im Export
// Initialisieren von Variablen, die später im Browserkontext gesetzt werden
let windowHeight, url_string, url, idMap, idUser;
let mapGisStationsStaticDistrictUrl, mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl, mapDataIconUrl, webserviceGisLinesStatusUrl;
// Prüfen, ob das Code im Browser ausgeführt wird
// Prüfen, ob Mock-Modus aktiv ist
function isMockMode() {
return process.env.NEXT_PUBLIC_USE_MOCK_API === "true";
}
// URL-Setup - dynamisch abhängig von Mock oder Echtbetrieb
if (typeof window !== "undefined") {
windowHeight = window.innerHeight;
url_string = window.location.href;
url = new URL(url_string);
console.log("%c 2- URL in config:", "color: #006400; font-size: 16px; background-color: #f0f0f0;", url);
console.log("%c 3- URL origin in config:", "color: #006400;", url.origin);
idMap = url.searchParams.get("m");
idUser = url.searchParams.get("u");
console.log(`4- Parameter 'idMap' : ${idMap}`);
console.log(`5- Parameter 'idUser': ${idUser}`);
if (!USE_MOCK_API) {
if (isMockMode()) {
// Mock-Daten direkt aus public/mockData
mapGisStationsStaticDistrictUrl = "/mockData/gisStationsStaticDistrictMock.json";
mapGisStationsStatusDistrictUrl = "/mockData/gisStationsStatusDistrictMock.json";
mapGisStationsMeasurementsUrl = "/mockData/gisStationsMeasurementsMock.json";
mapGisSystemStaticUrl = "/mockData/gisSystemStaticMock.json";
mapDataIconUrl = "/mockData/deviceNameByIdMock.json";
webserviceGisLinesStatusUrl = "/mockData/gisStationsStatusMock.json";
console.log("📡 Mock-Mode aktiv: Daten werden aus /public/mockData geladen.");
} else {
// Echte URLs zur Webservice-API
mapGisStationsStaticDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStaticDistrict?idMap=${idMap}&idUser=${idUser}`;
mapGisStationsStatusDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`;
mapGisStationsMeasurementsUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsMeasurements?idMap=${idMap}`;
mapGisSystemStaticUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic?idMap=${idMap}&idUser=${idUser}`;
mapDataIconUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GetIconsStatic`;
webserviceGisLinesStatusUrl = `${serverURL}/talas5/ClientData/WebServiceMap.asmx/GisLinesStatus?idMap=${idMap}`;
} else {
mapGisStationsStaticDistrictUrl = "/services/mockApi/fetchGisStationsStaticDistrict.js";
mapGisStationsStatusDistrictUrl = "/services/mockApi/fetchGisStationsStatusDistrict.js";
mapGisStationsMeasurementsUrl = "/services/mockApi/fetchGisStationsMeasurements.js";
mapGisSystemStaticUrl = "/services/mockApi/fetchGisSystemStatic.js";
// mapDataIconUrl = "/services/mockApi/fetchGisDataIcon.js"; // noch nicht vorhanden
// webserviceGisLinesStatusUrl = "/services/mockApi/"; // noch nicht vorhanden
console.log("🌐 Echt-Mode aktiv: Daten werden von der API geholt.");
}
}
// Export der definierten Variablen und URLs
// Export der Variablen und URLs
export {
mapVersion,
standardSideMenu,
fullSideMenu,
serverURL,
@@ -67,5 +72,5 @@ export {
mapGisSystemStaticUrl,
mapDataIconUrl,
webserviceGisLinesStatusUrl,
USE_MOCK_API, // Hier exportieren wir den Mock-Switch
isMockMode,
};