Füge eine Überprüfung hinzu, um endlose Wiederholungen beim Laden von Menü-Daten zu verhindern: Implementiere eine Flagge, die sicherstellt, dass die Menü-Daten nur einmal geladen werden, bevor die Routen generiert werden.

This commit is contained in:
Torsten Schulz (local)
2025-11-22 22:47:51 +01:00
parent 79f2ca8382
commit 45190ed7a5

View File

@@ -2,33 +2,11 @@ import axios from 'axios';
import store from './store';
import router from './router';
// Basis-URL für das Backend ermitteln
// Standard: gleiche Origin unter dem Pfad "/api"
let baseURL = '/api';
// Nur in Entwicklungsumgebungen (localhost / torstens) eine explizite Backend-URL aus .env benutzen
if (typeof window !== 'undefined') {
const hostname = window.location.hostname;
const isDevHost =
hostname === 'localhost' ||
hostname === '127.0.0.1' ||
hostname === '::1' ||
hostname === 'torstens';
if (isDevHost && process.env.VUE_APP_BACKEND_URL) {
baseURL = process.env.VUE_APP_BACKEND_URL;
}
// Mixed-Content vermeiden: wenn die Seite über HTTPS läuft,
// aber die Konfiguration "http://" verwendet, auf "https://" umschalten.
const isHttps = window.location.protocol === 'https:';
if (isHttps && baseURL.startsWith('http://')) {
baseURL = baseURL.replace(/^http:/, 'https:');
}
}
axios.defaults.baseURL = baseURL;
console.log('Axios baseURL:', baseURL);
// Einheitliche Basis-URL:
// - immer relativ zur aktuellen Origin
// - kein absoluter http/https-Host → verhindert Mixed-Content-Probleme
axios.defaults.baseURL = '/api';
console.log('Axios baseURL:', axios.defaults.baseURL);
axios.interceptors.request.use(
config => {