- neuen Modus `jsSimulatedProd` eingeführt für realitätsnahe Simulation auf Basis echter Produktionsdaten - analoge Eingänge: analogInputsMockData.js eingebunden und dynamisch per Script geladen - digitale Eingänge: digitalInputsMockData.js eingebunden mit window-Variablen (z. B. win_de_state, win_de_label etc.) - fetchAnalogInputsService.ts und fetchDigitalInputsService.ts angepasst zur Modusprüfung und Script-Auswertung - getAnalogInputsHandler.ts und getDigitalInputsHandler.ts geben im jsSimulatedProd-Modus JavaScript-Dateien aus - .env.development setzt `NEXT_PUBLIC_CPL_MODE=jsSimulatedProd`
35 lines
1004 B
TypeScript
35 lines
1004 B
TypeScript
// /pages/api/cpl/getAnalogInputsHandler.ts
|
|
|
|
import { NextApiRequest, NextApiResponse } from "next";
|
|
import fs from "fs";
|
|
import path from "path";
|
|
|
|
export default function handler(req: NextApiRequest, res: NextApiResponse) {
|
|
const mode = process.env.NEXT_PUBLIC_CPL_MODE;
|
|
|
|
try {
|
|
if (mode === "json") {
|
|
const filePath = path.join(
|
|
process.cwd(),
|
|
"mocks/api/SERVICE/analogInputsMockData.json"
|
|
);
|
|
const content = fs.readFileSync(filePath, "utf-8");
|
|
const data = JSON.parse(content);
|
|
return res.status(200).json(data);
|
|
}
|
|
|
|
if (mode === "jsSimulatedProd") {
|
|
const analogInputsScript = fs.readFileSync(
|
|
"mocks/device-cgi-simulator/SERVICE/analogInputsMockData.js",
|
|
"utf-8"
|
|
);
|
|
res.setHeader("Content-Type", "application/javascript");
|
|
res.status(200).send(analogInputsScript);
|
|
return;
|
|
}
|
|
} catch (error) {
|
|
console.error(error);
|
|
res.status(500).json({ error: "Internal Server Error" });
|
|
}
|
|
}
|