refactor: loadWindowVariables final auf API-Handler in Development umgestellt

- Scripts in Dev-Umgebung werden jetzt über /api/cpl/* geladen
- Production lädt weiterhin Embedded-System JavaScript Dateien
- Einheitliches Handling für system.js, de.js, ae.js, kueData.js, opcua.js usw.
- Flexibles Konzept für zukünftige Erweiterungen
This commit is contained in:
Ismail Ali
2025-04-15 17:03:54 +02:00
parent ebe81ffd8b
commit 025470defb
12 changed files with 33 additions and 210 deletions

View File

@@ -8,60 +8,30 @@ interface CustomWindow extends Window {
// ✅ Hauptfunktion zum Laden von `window`-Variablen
export async function loadWindowVariables(): Promise<Record<string, any>> {
return new Promise((resolve, reject) => {
const requiredVars: string[] = [
"win_deviceName",
"win_mac1",
"win_ip",
"win_subnet",
"win_gateway",
"win_cplInternalTimestamp",
"win_ntp1",
"win_ntp2",
"win_ntp3",
"win_systemZeit",
"win_ntpTimezone",
"win_ntpActive",
"win_de_state",
"win_counter",
"win_flutter",
"win_kueOnline",
"win_kueID",
"win_kuePSTmMinus96V",
"win_kueAlarm1",
"win_kueAlarm2",
"win_kueIso",
"win_kueResidence",
"win_kueCableBreak",
"win_kueGroundFault",
"win_kueLimit1",
"win_kueLimit2Low",
"win_kueDelay1",
"win_kueLoopInterval",
"win_kueVersion",
"win_tdrAtten",
"win_tdrPulse",
"win_tdrSpeed",
"win_tdrAmp",
"win_tdrTrigger",
"win_tdrLocation",
"win_tdrActive",
"win_kueOverflow",
"win_tdrLast",
"win_appVersion",
"win_da_state",
"win_da_bezeichnung",
const requiredVars: string[] = ["win_deviceName"];
const isDev = window.location.hostname === "localhost";
// ✅ Skripte, die geladen werden müssen
const scripts: string[] = [
isDev ? "analogeEingaengeAPIHandler" : "ae.js",
isDev ? "digitaleEingaengeAPIHandler" : "de.js",
//isDev ? "digitalOutputsAPIHandler" : "da.js", // das wird Momentan nicht gebraucht
isDev ? "kabelueberwachungAPIHandler" : "kueData.js",
isDev ? "last20MessagesAPIHandler" : "start.js",
isDev ? "opcuaAPIHandler" : "opcua.js",
//isDev ? "slotDataAPIHandler" : "slotData.js", // das wird Momentan nicht gebraucht
isDev ? "systemAPIHandler" : "system.js",
//isDev ? "tdmDataAPIHandler" : "tdmData.js", // das wird Momentan nicht gebraucht
//isDev ? "tdrDataAPIHandler" : "tdrData.js", // das wird Momentan nicht gebraucht
];
const scripts: string[] = ["system.js", "kueData.js"];
// ✅ Erkenne Umgebung anhand von `window.location.hostname`
const isDev = window.location.hostname === "localhost";
const loadScript = (src: string): Promise<void> => {
return new Promise((resolve, reject) => {
const script = document.createElement("script");
script.src = isDev
? `/CPLmockData/SERVICE/${src}` // Entwicklungsumgebung
? `/api/cpl/${src}` // Entwicklungsumgebung
: `/CPL?/CPL/SERVICE/${src}`; // Produktionsumgebung
script.async = true;
script.onload = () => resolve();