basUrl muss angepasst werden je nach IP des Talas für Station öffenen(Tab)

und Station in selbe fenster ffnen entfernt
This commit is contained in:
ISA
2024-06-18 10:37:17 +02:00
parent c585f05445
commit 3abb339d1e
4 changed files with 44 additions and 12 deletions

View File

@@ -5,4 +5,6 @@ DB_HOST=localhost
DB_USER=root
DB_PASSWORD="root#$"
DB_NAME=talas_v5
DB_PORT=3306
DB_PORT=3306
######################### Kontetmenü -> Station in tab öffnen
BASE_URL=http://10.10.0.13/talas5/devices/

View File

@@ -167,8 +167,27 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
const lineLayer = new L.LayerGroup();
const [gisSystemStaticLoaded, setGisSystemStaticLoaded] = useState(false);
const [baseUrl, setBaseUrl] = useState("");
useEffect(() => {
fetch("/api/get-talasIP")
.then((response) => response.json())
.then((data) => {
const ip = data.ip;
if (ip) {
// Erstellen Sie die Basis-URL mit der erhaltenen IP
const newBaseUrl = `http://${ip}/talas5/devices/`;
setBaseUrl(newBaseUrl);
console.log("Base URL set to:", newBaseUrl);
}
})
.catch((error) => {
console.error("Error fetching IP:", error);
// Hier können Sie einen Fallback einstellen, falls die IP-Abfrage fehlschlägt
setBaseUrl("http://default-ip/talas5/devices/");
});
}, []);
const baseUrl = "http://10.10.0.13/talas5/devices/"; // für Station öffnen in neuer tab und gleicher tab, im localhost gab es keine Probleme mit der Frame
//const baseUrl = "http://10.10.0.13/talas5/devices/"; // für Station öffnen in neuer tab und gleicher tab, im localhost gab es keine Probleme mit der Frame
//const baseUrl = "http://localhost/talas5/devices/";
const [isPoiTypLoaded, setIsPoiTypLoaded] = useState(false);
const [poiTypMap, setPoiTypMap] = useState(new Map());
@@ -980,15 +999,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
openInNewTab(e, clickedMarker);
},
},
{
text: "Station öffnen",
icon: "/img/screen_same.png",
//callback: (e) => openInSameWindow(e, marker),
callback: (e) => {
const clickedMarker = e.relatedTarget; // Zugriff auf den Marker, der das Event ausgelöst hat
openInSameWindow(e, clickedMarker);
},
},
"-", // Divider
{

20
pages/api/get-talasIP.js Normal file
View File

@@ -0,0 +1,20 @@
// pages/api/get-talasIP.js
export default function handler(req, res) {
// Der x-forwarded-for Header könnte mehrere IP-Adressen enthalten, getrennt durch Kommas
let clientIp =
req.headers["x-forwarded-for"]?.split(",").map((ip) => ip.trim())[0] ||
req.socket.remoteAddress;
// Entfernen möglicher IPv6 "mapped" IPv4 Adressen
if (clientIp?.includes("::ffff:")) {
clientIp = clientIp.split("::ffff:")[1];
}
// Nur IPv4 Adressen weitergeben, IPv6 Adressen ausschließen
if (clientIp && clientIp.includes(":")) {
clientIp = ""; // Dies setzt die IP auf leer, wenn es sich um eine IPv6-Adresse handelt
}
res.status(200).json({ ip: clientIp });
}

View File

@@ -17,7 +17,7 @@ export default function handler(req, res) {
IdModul: 3,
Na: "system",
Le: 4,
Co: "#FF00FF",
Co: "#018915",
Me: "Eingang DE05 kommend",
Feld: 3,
Icon: 0,