fix: Mock-Datenzugriff über API-Handler in Entwicklungsumgebung integriert
- fetchAnalogInputsHistoryService angepasst: nutzt /api/cpl/fetchAnalogInputsHistory bei NODE_ENV=development - Produktionsdaten weiterhin direkt vom CPL-Webserver über CGI-Endpunkte geladen - Chart- und Redux-Datenstrom jetzt vollständig stabil in Entwicklung und Produktion - Fehler beim direkten Zugriff auf Mock-Dateien in Pages Router Next.js behoben
This commit is contained in:
@@ -20,29 +20,24 @@ export async function fetchAnalogInputsHistoryService(): Promise<
|
||||
|
||||
const isDev = process.env.NODE_ENV === "development";
|
||||
|
||||
if (isDev) {
|
||||
// ⬇️ ENTWICKLUNG: über API-Handler
|
||||
const response = await fetch("/api/cpl/fetchAnalogInputsHistory");
|
||||
if (!response.ok) throw new Error("Fehler beim Laden der Mock-Daten");
|
||||
return await response.json();
|
||||
}
|
||||
|
||||
// ⬇️ PRODUKTION: direkt vom CPL-Webserver holen
|
||||
for (let i = 0; i < 8; i++) {
|
||||
const inputNumber = i + 1; // 1–8
|
||||
const sourceId = 99 + inputNumber; // 100–107 für AE1–AE8
|
||||
const inputNumber = i + 1;
|
||||
const sourceId = 99 + inputNumber;
|
||||
|
||||
try {
|
||||
let data: any[];
|
||||
|
||||
if (isDev) {
|
||||
// ⬇️ Lädt lokale Mock-Dateien (z. B. /api/cpl/fetchAnalogInputsHistory)
|
||||
const response = await fetch(
|
||||
`/apiMockData/analogInputsHistoryData/analogInput${inputNumber}.json`
|
||||
);
|
||||
if (!response.ok) throw new Error("Mock-Daten nicht verfügbar");
|
||||
data = await response.json();
|
||||
} else {
|
||||
// ⬇️ Holt Live-Daten über CPL-HTTP-Endpunkt
|
||||
const url = `${window.location.origin}/CPL?Service/empty.acp&DIA0=${fromDate};${toDate};${sourceId};1`;
|
||||
const response = await fetch(url);
|
||||
if (!response.ok)
|
||||
throw new Error(`Fehler bei AE${inputNumber}: ${response.status}`);
|
||||
data = await response.json();
|
||||
}
|
||||
|
||||
const url = `${window.location.origin}/CPL?Service/empty.acp&DIA0=${fromDate};${toDate};${sourceId};1`;
|
||||
const response = await fetch(url);
|
||||
if (!response.ok)
|
||||
throw new Error(`Fehler bei AE${inputNumber}: ${response.status}`);
|
||||
const data = await response.json();
|
||||
result[sourceId] = data;
|
||||
} catch (error) {
|
||||
console.error(`❌ Fehler beim Laden von AE${inputNumber}:`, error);
|
||||
|
||||
Reference in New Issue
Block a user