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:
32
src/axios.js
32
src/axios.js
@@ -2,33 +2,11 @@ import axios from 'axios';
|
|||||||
import store from './store';
|
import store from './store';
|
||||||
import router from './router';
|
import router from './router';
|
||||||
|
|
||||||
// Basis-URL für das Backend ermitteln
|
// Einheitliche Basis-URL:
|
||||||
// Standard: gleiche Origin unter dem Pfad "/api"
|
// - immer relativ zur aktuellen Origin
|
||||||
let baseURL = '/api';
|
// - kein absoluter http/https-Host → verhindert Mixed-Content-Probleme
|
||||||
|
axios.defaults.baseURL = '/api';
|
||||||
// Nur in Entwicklungsumgebungen (localhost / torstens) eine explizite Backend-URL aus .env benutzen
|
console.log('Axios baseURL:', axios.defaults.baseURL);
|
||||||
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);
|
|
||||||
|
|
||||||
axios.interceptors.request.use(
|
axios.interceptors.request.use(
|
||||||
config => {
|
config => {
|
||||||
|
|||||||
Reference in New Issue
Block a user