From 5344e300e4cc99e714296ff2ea1acacbae26193f Mon Sep 17 00:00:00 2001 From: Baobhan Sith <80159437+Heavrnl@users.noreply.github.com> Date: Mon, 28 Apr 2025 23:17:47 +0800 Subject: [PATCH] Update RemoteDesktopModal.vue --- .../frontend/src/components/RemoteDesktopModal.vue | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/frontend/src/components/RemoteDesktopModal.vue b/packages/frontend/src/components/RemoteDesktopModal.vue index 7c32065..71a8f7f 100644 --- a/packages/frontend/src/components/RemoteDesktopModal.vue +++ b/packages/frontend/src/components/RemoteDesktopModal.vue @@ -103,10 +103,17 @@ const connectRdp = async () => { console.warn(`[RDP 模态框] 移除了末尾多余的 '?'`); } console.log(`[RDP 模态框] 准备连接到隧道: ${tunnelUrl}`); // 记录准备使用的 URL - // 再次强制清理,确保最终传递给库的 URL 没有末尾 '?' - const finalTunnelUrl = tunnelUrl.endsWith('?') ? tunnelUrl.slice(0, -1) : tunnelUrl; + // 再次强制清理,确保最终传递给库的 URL 没有末尾 '?' 或 '%3F' + let finalTunnelUrl = tunnelUrl; + if (finalTunnelUrl.endsWith('?')) { + finalTunnelUrl = finalTunnelUrl.slice(0, -1); + console.warn(`[RDP 模态框] 移除了末尾多余的 '?'`); + } else if (finalTunnelUrl.endsWith('%3F') || finalTunnelUrl.endsWith('%3f')) { + finalTunnelUrl = finalTunnelUrl.slice(0, -3); // 移除 '%3F' (3个字符) + console.warn(`[RDP 模态框] 移除了末尾多余的 '%3F'`); + } if (finalTunnelUrl !== tunnelUrl) { - console.warn(`[RDP 模态框] 清理后的隧道 URL: ${finalTunnelUrl}`); + console.log(`[RDP 模态框] 清理后的最终隧道 URL: ${finalTunnelUrl}`); } // @ts-ignore const tunnel = new Guacamole.WebSocketTunnel(finalTunnelUrl); // 使用清理后的 URL