From de47491ded1bd4f4746b2832225bfeed58c83f05 Mon Sep 17 00:00:00 2001 From: PKC278 <52959804+PKC278@users.noreply.github.com> Date: Mon, 12 Jan 2026 10:14:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(login):=20=E4=BF=AE=E5=A4=8DPassKey?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/login.vue | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/pages/login.vue b/src/pages/login.vue index e3187f44..0f31d23e 100644 --- a/src/pages/login.vue +++ b/src/pages/login.vue @@ -192,12 +192,14 @@ async function handlePassKeyAuth( const { isConditional = false } = authOptions errorMessage.value = '' - // 检查浏览器环境 (仅手动触发时提示) - if (!isConditional && !window.PublicKeyCredential) { - if (!window.isSecureContext) { - errorMessage.value = t('login.passkeySecureContextRequired') - } else { - errorMessage.value = t('login.passkeyNotSupported') + // 检查浏览器环境 + if (!window.PublicKeyCredential) { + if (!isConditional) { + if (!window.isSecureContext) { + errorMessage.value = t('login.passkeySecureContextRequired') + } else { + errorMessage.value = t('login.passkeyNotSupported') + } } return } @@ -253,6 +255,10 @@ async function handlePassKeyAuth( // 设置错误信息 if (error.name === 'NotAllowedError') { errorMessage.value = t('login.passkeyAuthCanceled') + } else if (error.name === 'NotSupportedError') { + errorMessage.value = t('login.passkeyNotSupported') + } else if (error.message?.includes('start failed')) { + errorMessage.value = t('login.passkeyLoginStartFailed') } else { errorMessage.value = t('login.authFailure') }