Files
nodeMap/config/config.js
2025-03-05 17:47:28 +01:00

77 lines
3.3 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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;
// 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);
// 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 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);
idMap = url.searchParams.get("m");
idUser = url.searchParams.get("u");
console.log(`4- Parameter 'idMap' : ${idMap}`);
console.log(`5- Parameter 'idUser': ${idUser}`);
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}`;
console.log("🌐 Echt-Mode aktiv: Daten werden von der API geholt.");
}
}
// Export der Variablen und URLs
export {
mapVersion,
standardSideMenu,
fullSideMenu,
serverURL,
windowHeight,
url_string,
url,
idMap,
idUser,
mapGisStationsStaticDistrictUrl,
mapGisStationsStatusDistrictUrl,
mapGisStationsMeasurementsUrl,
mapGisSystemStaticUrl,
mapDataIconUrl,
webserviceGisLinesStatusUrl,
isMockMode,
};