From d76ee80ecccaef3f12947fe4dc5e51e4009c54a3 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 26 Feb 2026 11:30:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E9=A3=9E=E4=B9=A6=20S?= =?UTF-8?q?DK=20=E5=85=A8=E5=B1=80=E5=8F=98=E9=87=8F=E5=90=8D=E4=B8=BA=20Q?= =?UTF-8?q?RLogin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SDK 的全局变量是 window.QRLogin 而不是 window.QR Co-Authored-By: Claude Opus 4.6 --- frontend/src/pages/login/QRCodeLogin.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/login/QRCodeLogin.tsx b/frontend/src/pages/login/QRCodeLogin.tsx index 28fbdb3..164b4e6 100644 --- a/frontend/src/pages/login/QRCodeLogin.tsx +++ b/frontend/src/pages/login/QRCodeLogin.tsx @@ -7,7 +7,7 @@ import styles from './QRCodeLogin.module.css' // 声明飞书 QR SDK 类型 declare global { interface Window { - QR?: (config: { + QRLogin?: (config: { id: string goto: string width?: string @@ -63,13 +63,13 @@ export default function QRCodeLogin({ visible, onClose }: QRCodeLoginProps) { await new Promise(resolve => setTimeout(resolve, 100)) // 检查飞书 QR SDK 是否已加载 - if (!window.QR) { + if (!window.QRLogin) { console.warn('⚠️ Feishu QR SDK not loaded, trying to wait...') // 再等待一段时间 await new Promise(resolve => setTimeout(resolve, 500)) } - console.log('🔍 window.QR:', !!window.QR) + console.log('🔍 window.QRLogin:', !!window.QRLogin) // 生成登录会话 const response = await fetch('/api/v1/auth/qrcode-login', { @@ -87,14 +87,14 @@ export default function QRCodeLogin({ visible, onClose }: QRCodeLoginProps) { sessionIdRef.current = result.data.session_id // 检查飞书 QR SDK 是否已加载(在 index.html 中引入) - if (window.QR) { + if (window.QRLogin) { console.log('✅ Using Feishu QR SDK') // 使用飞书官方 QR SDK if (qrContainerRef.current) { qrContainerRef.current.innerHTML = '' } - qrObjRef.current = window.QR({ + qrObjRef.current = window.QRLogin({ id: 'feishu-qrcode-container', goto: authUrl, width: '200',