Fix: Umstellung auf Socket.io für alle Views und Verbesserung der Event-Registrierung
Änderung: - Alle Views wurden aktualisiert, um den Daemon WebSocket zu deaktivieren und stattdessen Socket.io für die Event-Registrierung zu verwenden. - Eine neue Methode `setupSocketEvents` wurde hinzugefügt, um die Socket.io-Events zu registrieren und Protokollausgaben für den Status der Registrierung bereitzustellen. - Die Logik zur Handhabung von WebSocket-Events wurde vereinfacht und verbessert, um die Stabilität und Nachvollziehbarkeit zu erhöhen. Diese Anpassung sorgt für eine konsistentere Handhabung von WebSocket-Events und verbessert die Benutzererfahrung durch zuverlässigere Datenaktualisierungen.
This commit is contained in:
@@ -62,7 +62,7 @@
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState(['daemonSocket', 'falukantData']),
|
||||
...mapState(['socket', 'falukantData']),
|
||||
gender() {
|
||||
return this.current.charactersWithNobleTitle[0]?.gender || 'male';
|
||||
},
|
||||
@@ -72,12 +72,23 @@
|
||||
},
|
||||
async mounted() {
|
||||
await this.loadNobility();
|
||||
if (this.daemonSocket) this.daemonSocket.addEventListener('message', this.handleDaemonMessage);
|
||||
this.setupSocketEvents();
|
||||
},
|
||||
beforeUnmount() {
|
||||
if (this.daemonSocket) this.daemonSocket.removeEventListener('message', this.handleDaemonMessage);
|
||||
if (this.socket) {
|
||||
this.socket.off('falukantUpdateStatus', this.loadNobility);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
setupSocketEvents() {
|
||||
if (this.socket) {
|
||||
this.socket.on('falukantUpdateStatus', this.loadNobility);
|
||||
console.log('✅ NobilityView: Socket.io Events registriert');
|
||||
} else {
|
||||
console.log('⚠️ NobilityView: Socket.io noch nicht verfügbar');
|
||||
setTimeout(() => this.setupSocketEvents(), 1000);
|
||||
}
|
||||
},
|
||||
async loadNobility() {
|
||||
try {
|
||||
const { data } = await apiClient.get('/api/falukant/nobility');
|
||||
|
||||
Reference in New Issue
Block a user