Refactor: Entfernen des Daemon WebSocket und Umstellung auf Socket.io für Event-Verarbeitung
Änderungen: - Der Daemon WebSocket wurde aus der Anwendung entfernt, um die Komplexität zu reduzieren und die Stabilität zu erhöhen. - Die Event-Verarbeitung in StatusBar.vue und BranchView.vue wurde aktualisiert, um Socket.io für die Registrierung und Verarbeitung von Live-Events zu verwenden. - Protokollausgaben wurden hinzugefügt, um den Empfang und die Verarbeitung von Events zu dokumentieren. Diese Anpassungen verbessern die Nachvollziehbarkeit der Event-Verarbeitung und vereinfachen die Codebasis.
This commit is contained in:
@@ -56,14 +56,25 @@ export default {
|
||||
},
|
||||
async mounted() {
|
||||
await this.fetchStatus();
|
||||
this.setupSocketEvents();
|
||||
|
||||
// Live-Socket-Events
|
||||
["falukantUpdateStatus", "stock_change", "familychanged"].forEach(eventName => {
|
||||
if (this.daemonSocket) {
|
||||
this.daemonSocket.addEventListener('message', (event) => {
|
||||
try {
|
||||
const data = JSON.parse(event.data);
|
||||
if (data.event === eventName) {
|
||||
this.handleEvent(data);
|
||||
}
|
||||
} catch (error) {
|
||||
// Ignore non-JSON messages like ping/pong
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
beforeUnmount() {
|
||||
if (this.socket) {
|
||||
this.socket.off("falukantUpdateStatus");
|
||||
this.socket.off("stock_change");
|
||||
this.socket.off("familychanged");
|
||||
}
|
||||
// Daemon WebSocket wird automatisch beim Logout geschlossen
|
||||
},
|
||||
methods: {
|
||||
async fetchStatus() {
|
||||
@@ -106,27 +117,6 @@ export default {
|
||||
console.error("Error fetching status:", error);
|
||||
}
|
||||
},
|
||||
// Daemon WebSocket deaktiviert - verwende Socket.io Events
|
||||
setupSocketEvents() {
|
||||
if (this.socket) {
|
||||
this.socket.on('falukantUpdateStatus', (data) => {
|
||||
console.log('📨 StatusBar: falukantUpdateStatus empfangen:', data);
|
||||
this.handleEvent({ event: 'falukantUpdateStatus', ...data });
|
||||
});
|
||||
this.socket.on('stock_change', (data) => {
|
||||
console.log('📨 StatusBar: stock_change empfangen:', data);
|
||||
this.handleEvent({ event: 'stock_change', ...data });
|
||||
});
|
||||
this.socket.on('familychanged', (data) => {
|
||||
console.log('📨 StatusBar: familychanged empfangen:', data);
|
||||
this.handleEvent({ event: 'familychanged', ...data });
|
||||
});
|
||||
console.log('✅ StatusBar: Socket.io Events registriert');
|
||||
} else {
|
||||
console.log('⚠️ StatusBar: Socket.io noch nicht verfügbar');
|
||||
setTimeout(() => this.setupSocketEvents(), 1000);
|
||||
}
|
||||
},
|
||||
handleEvent(eventData) {
|
||||
console.log('🔄 StatusBar: handleEvent aufgerufen mit:', eventData);
|
||||
console.log('🔄 StatusBar: Event-Typ:', eventData.event);
|
||||
|
||||
Reference in New Issue
Block a user