From d13484c0f3a47374b445f91c4611419099437138 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 28 Feb 2026 11:08:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E6=9C=AC=E5=9C=B0toke?= =?UTF-8?q?n=E6=A3=80=E6=9F=A5=EF=BC=8C=E7=94=B1=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=8E=88=E6=9D=83=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 localStorage token 检查,避免与飞书免登并行执行 - 在飞书环境中始终尝试免登,由后端判断登录状态 - 解决'飞书应用配置错误'误导性提示 --- frontend/src/pages/login/index.tsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/frontend/src/pages/login/index.tsx b/frontend/src/pages/login/index.tsx index a69b66b..58026b9 100644 --- a/frontend/src/pages/login/index.tsx +++ b/frontend/src/pages/login/index.tsx @@ -21,22 +21,24 @@ export default function Login() { const [loading, setLoading] = useState(true) const [environment, setEnvironment] = useState<'feishu' | 'external' | null>(null) const [showQRCode, setShowQRCode] = useState(false) + const [shouldSkipAutoLogin, setShouldSkipAutoLogin] = useState(false) // 防止重复执行免登 // 检查登录状态 useEffect(() => { - const token = localStorage.getItem('token') const urlParams = new URLSearchParams(window.location.search) const redirect = urlParams.get('redirect') + const authCode = urlParams.get('auth_code') - if (token) { - if (redirect) { - window.location.href = redirect - } else { - navigate('/dashboard') - } + // 如果 URL 中有授权码,直接处理登录 + if (authCode) { + const companyParam = urlParams.get('company') + handleFeishuLogin(authCode, companyParam || undefined) return } + // 不检查本地 token,让后端处理 + // 继续执行环境检测和免登 + // 监听飞书登录成功事件 const handleFeishuLoginSuccess = ((e: any) => { const { user, token } = e.detail