From 50df8495c73b200ba5cebbd59fc1a61f0c8536eb Mon Sep 17 00:00:00 2001 From: wangys <3401275564@qq.com> Date: Sat, 27 Dec 2025 17:57:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E7=BB=93=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/public/ChatRoom/ChatRoomView.vue | 2 +- .../public/JitsiMeeting/JitsiMeetingView.vue | 48 ++++++++++++------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/urbanLifelineWeb/packages/workcase/src/views/public/ChatRoom/ChatRoomView.vue b/urbanLifelineWeb/packages/workcase/src/views/public/ChatRoom/ChatRoomView.vue index cb1b2690..96699d69 100644 --- a/urbanLifelineWeb/packages/workcase/src/views/public/ChatRoom/ChatRoomView.vue +++ b/urbanLifelineWeb/packages/workcase/src/views/public/ChatRoom/ChatRoomView.vue @@ -185,7 +185,7 @@ import { Client } from '@stomp/stompjs' // WebSocket配置 (通过Nginx代理访问网关,再到workcase服务) // SockJS URL (http://) const getWsUrl = () => { - const token = localStorage.getItem('token') || '' + const token = JSON.parse(localStorage.getItem('token')).value || '' const protocol = window.location.protocol const host = window.location.host return `${protocol}//${host}/api/urban-lifeline/workcase/ws/chat-sockjs?token=${encodeURIComponent(token)}` diff --git a/urbanLifelineWeb/packages/workcase/src/views/public/JitsiMeeting/JitsiMeetingView.vue b/urbanLifelineWeb/packages/workcase/src/views/public/JitsiMeeting/JitsiMeetingView.vue index 21a8fce4..435290d6 100644 --- a/urbanLifelineWeb/packages/workcase/src/views/public/JitsiMeeting/JitsiMeetingView.vue +++ b/urbanLifelineWeb/packages/workcase/src/views/public/JitsiMeeting/JitsiMeetingView.vue @@ -235,25 +235,41 @@ const joinMeeting = async () => { } } -// 处理离开会议(不结束) -const handleLeaveMeeting = () => { - console.log('[JitsiMeetingView] 处理离开会议,返回聊天室:', roomId.value) +// 处理离开会议(更新会议结束时间) +const handleLeaveMeeting = async () => { + // 强制更新: 修改时间 2025-12-27 09:45 + console.log('[JitsiMeetingView] 处理离开会议,meetingId:', meetingId.value, 'roomId:', roomId.value) - // 清理 Jitsi API - if (jitsiApi) { - jitsiApi.dispose() - jitsiApi = null - } + try { + // 调用后端接口更新会议结束时间 + if (meetingId.value) { + console.log('[JitsiMeetingView] 调用结束会议API,更新结束时间') + const result = await workcaseChatAPI.endVideoMeeting(meetingId.value) + if (result.success) { + console.log('[JitsiMeetingView] 会议结束时间已更新:', result.data) + } else { + console.warn('[JitsiMeetingView] 更新会议结束时间失败:', result.message) + } + } + } catch (err) { + console.error('[JitsiMeetingView] 更新会议结束时间异常:', err) + } finally { + // 清理 Jitsi API + if (jitsiApi) { + jitsiApi.dispose() + jitsiApi = null + } - // 如果有roomId,返回到对应的聊天室 - if (roomId.value) { - router.push(`/chatRoom?roomId=${roomId.value}`) - } else { - // 没有roomId,尝试返回上一页或关闭窗口 - if (window.history.length > 1) { - router.back() + // 如果有roomId,返回到对应的聊天室 + if (roomId.value) { + router.push(`/chatRoom?roomId=${roomId.value}`) } else { - window.close() + // 没有roomId,尝试返回上一页或关闭窗口 + if (window.history.length > 1) { + router.back() + } else { + window.close() + } } } }