From b2264d834b2eb6e788e362776aa102fbe6c82d37 Mon Sep 17 00:00:00 2001 From: Professional Date: Thu, 22 May 2025 00:37:45 +0700 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D1=80=D0=B5=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/server.js | 13 +++++++++++++ src/views/ChatView.vue | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/backend/server.js b/backend/server.js index 42d3246..75f8969 100644 --- a/backend/server.js +++ b/backend/server.js @@ -34,6 +34,9 @@ const io = new Server(server, { // <--- Инициализация socket.io } }); +// Сделать экземпляр io доступным в запросах +app.set('io', io); + // Подключение к базе данных - проверяем, что импортировали функцию if (typeof connectDBModule === 'function') { try { @@ -95,6 +98,16 @@ io.on("connection", (socket) => { return activeUsers.find(u => u.userId === userId); }; + socket.on("joinConversationRoom", (roomId) => { + socket.join(roomId); + console.log(`[Socket.IO] User ${socket.id} joined room ${roomId}`); + }); + + socket.on("leaveConversationRoom", (roomId) => { + socket.leave(roomId); + console.log(`[Socket.IO] User ${socket.id} left room ${roomId}`); + }); + // Отправка сообщения socket.on("sendMessage", async ({ senderId, receiverId, text, clientConversationId }) => { // Добавлен clientConversationId, async console.log(`"[Socket.IO] Получено сообщение от ${senderId} для ${receiverId}: "${text}" (попытка для диалога: ${clientConversationId})"`); diff --git a/src/views/ChatView.vue b/src/views/ChatView.vue index 273a839..636daf3 100644 --- a/src/views/ChatView.vue +++ b/src/views/ChatView.vue @@ -33,7 +33,7 @@

{{ item.data.text }}

{{ formatMessageTimestamp(item.data.createdAt) }} - (изменено) + (изменено) (отправка...)