From e77dcdd3d4e5272c5a40ebbe4c4f12839ff9cf5e Mon Sep 17 00:00:00 2001 From: PKC278 <52959804+PKC278@users.noreply.github.com> Date: Tue, 23 Dec 2025 13:53:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(passkey):=20=E6=B7=BB=E5=8A=A0PassKey?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=B9=B6=E4=BC=98=E5=8C=96=E5=8F=8C=E9=87=8D?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=99=BB=E5=BD=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/en-US.ts | 31 ++- src/locales/zh-CN.ts | 31 ++- src/locales/zh-TW.ts | 31 ++- src/pages/login.vue | 406 +++++++++++++++++++++++++++-- src/views/user/UserProfileView.vue | 400 +++++++++++++++++++++++++--- 5 files changed, 827 insertions(+), 72 deletions(-) diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index f8550b56..25553b82 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -2560,9 +2560,38 @@ export default { vocechatUser: 'VoceChat User', synologychatUser: 'SynologyChat User', doubanUser: 'Douban User', - twoFactorAuthentication: 'Two-Factor Authentication', + setupAuthenticator: 'Setup Authenticator', + authenticatorManagement: 'Authenticator Management', + authenticatorEnabled: 'You have enabled authenticator two-factor authentication', + clearAuthenticatorTip: 'To set up a new authenticator, please clear the current configuration first.', + clearAuthenticator: 'Clear Authenticator', enableTwoFactor: 'Enable Two-Factor Authentication', disableTwoFactor: 'Disable Two-Factor Authentication', + setupMfa: 'Setup Two-Factor Authentication', + enableMfa: 'Enable Two-Factor Authentication', + useAuthenticator: 'Use Authenticator', + usePasskey: 'Use Passkey', + enabled: 'Enabled', + keysCount: '{count} keys', + passkeyManagement: 'Passkey Management', + registerNewPasskey: 'Register New Passkey', + passkeyDescription: 'Passkeys allow you to sign in quickly and securely without a password.', + passkeyName: 'Passkey Name', + passkeyNamePlaceholder: 'e.g.: iPhone, Windows Hello', + registerPasskey: 'Register Passkey', + registeredPasskeys: 'Registered Passkeys', + createdAt: 'Created At', + noPasskeys: 'You have not registered any passkeys yet', + passkeyNameRequired: 'Please enter a passkey name', + passkeyRegisterSuccess: 'Passkey registered successfully', + passkeyRegisterFailed: 'Registration failed', + passkeyRegisterCancelled: 'Registration cancelled', + passkeyDeleteSuccess: 'Passkey deleted', + passkeyDeleteFailed: 'Delete failed', + passkeyDomainWarning: 'The availability of PassKeys is closely related to the {domain}. In a public network environment, please make sure to configure the correct access domain name in "Basic Settings". Domain changes or configuration errors will cause the PassKey to be unusable.', + otpRequiredForPasskey: 'For security reasons, you must first enable {otp} before you can register a PassKey. This is to ensure that you can still log in to your account via OTP code if the PassKey becomes invalid due to domain configuration changes.', + accessDomain: 'access domain name', + otpAuthenticator: 'OTP Authenticator', otpGenerateFailed: 'Failed to get OTP URI: {message}!', otpDisableSuccess: 'Two-factor authentication disabled successfully!', otpDisableFailed: 'Failed to disable OTP: {message}!', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 670049a6..5ddbbf57 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -2529,9 +2529,38 @@ export default { vocechatUser: 'VoceChat用户', synologychatUser: 'SynologyChat用户', doubanUser: '豆瓣用户', - twoFactorAuthentication: '登录双重验证', + setupAuthenticator: '设置身份验证器', + authenticatorManagement: '身份验证器管理', + authenticatorEnabled: '您已启用身份验证器双重验证', + clearAuthenticatorTip: '如需设置新的身份验证器,请先清除当前配置。', + clearAuthenticator: '清除身份验证器', enableTwoFactor: '开启双重验证', disableTwoFactor: '关闭双重验证', + setupMfa: '设置双重验证', + enableMfa: '开启双重验证', + useAuthenticator: '使用身份验证器', + usePasskey: '使用通行密钥', + enabled: '已启用', + keysCount: '{count} 个密钥', + passkeyManagement: '通行密钥管理', + registerNewPasskey: '注册新通行密钥', + passkeyDescription: '通行密钥可以让您无需密码即可快速安全地登录。', + passkeyName: '通行密钥名称', + passkeyNamePlaceholder: '例如:iPhone、Windows Hello', + registerPasskey: '注册通行密钥', + registeredPasskeys: '已注册的通行密钥', + createdAt: '创建时间', + noPasskeys: '您还没有注册任何通行密钥', + passkeyNameRequired: '请输入通行密钥名称', + passkeyRegisterSuccess: '通行密钥注册成功', + passkeyRegisterFailed: '注册失败', + passkeyRegisterCancelled: '注册被取消', + passkeyDeleteSuccess: '通行密钥已删除', + passkeyDeleteFailed: '删除失败', + passkeyDomainWarning: '通行密钥(PassKey)的可用性与 {domain} 紧密相关。在公网环境下,请务必在“基础设置”中配置正确的访问域名。域名变更或配置错误将导致通行密钥无法使用。', + otpRequiredForPasskey: '为了安全起见,您必须先启用 {otp} 验证码,然后才能注册通行密钥。这是为了防止在域名配置变动导致 PassKey 失效时,您仍能通过 OTP 码登录账户。', + accessDomain: '访问域名', + otpAuthenticator: 'OTP 身份验证器', otpGenerateFailed: '获取otp uri失败:{message}!', otpDisableSuccess: '关闭登录双重验证成功!', otpDisableFailed: '关闭otp失败:{message}!', diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index 90cdfb70..efe3c3e4 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -2515,9 +2515,38 @@ export default { vocechatUser: 'VoceChat用戶', synologychatUser: 'SynologyChat用戶', doubanUser: '豆瓣用戶', - twoFactorAuthentication: '登錄雙重驗證', + setupAuthenticator: '設置身份驗證器', + authenticatorManagement: '身份驗證器管理', + authenticatorEnabled: '您已啟用身份驗證器雙重驗證', + clearAuthenticatorTip: '如需設置新的身份驗證器,請先清除當前配置。', + clearAuthenticator: '清除身份驗證器', enableTwoFactor: '開啟雙重驗證', disableTwoFactor: '關閉雙重驗證', + setupMfa: '設置雙重驗證', + enableMfa: '開啟雙重驗證', + useAuthenticator: '使用身份驗證器', + usePasskey: '使用通行密鑰', + enabled: '已啟用', + keysCount: '{count} 個密鑰', + passkeyManagement: '通行密鑰管理', + registerNewPasskey: '註冊新通行密鑰', + passkeyDescription: '通行密鑰可以讓您無需密碼即可快速安全地登入。', + passkeyName: '通行密鑰名稱', + passkeyNamePlaceholder: '例如:iPhone、Windows Hello', + registerPasskey: '註冊通行密鑰', + registeredPasskeys: '已註冊的通行密鑰', + createdAt: '建立時間', + noPasskeys: '您還沒有註冊任何通行密鑰', + passkeyNameRequired: '請輸入通行密鑰名稱', + passkeyRegisterSuccess: '通行密鑰註冊成功', + passkeyRegisterFailed: '註冊失敗', + passkeyRegisterCancelled: '註冊被取消', + passkeyDeleteSuccess: '通行密鑰已刪除', + passkeyDeleteFailed: '刪除失敗', + passkeyDomainWarning: '通行密鑰(PassKey)的可用性與 {domain} 緊密相關。在公網環境下,請務必在「基本設定」中配置正確的訪問域名。域名變更或配置錯誤將導致通行密鑰無法使用。', + otpRequiredForPasskey: '為了安全起見,您必須先啟用 {otp} 驗證碼,然後才能註冊通行密鑰。這是為了防止在網域配置變動導致 PassKey 失效時,您仍能通過 OTP 碼登入帳戶。', + accessDomain: '訪問域名', + otpAuthenticator: 'OTP 身份驗證器', otpGenerateFailed: '獲取otp uri失敗:{message}!', otpDisableSuccess: '關閉登錄雙重驗證成功!', otpDisableFailed: '關閉otp失敗:{message}!', diff --git a/src/pages/login.vue b/src/pages/login.vue index cba49a81..2b6a459b 100644 --- a/src/pages/login.vue +++ b/src/pages/login.vue @@ -1,5 +1,4 @@