diff --git a/src/components/dialog/PasskeyDialog.vue b/src/components/dialog/PasskeyDialog.vue index 90c6c656..756d9bc5 100644 --- a/src/components/dialog/PasskeyDialog.vue +++ b/src/components/dialog/PasskeyDialog.vue @@ -6,6 +6,7 @@ import { useI18n } from 'vue-i18n' import { formatDateDifference } from '@core/utils/formatters' import api from '@/api' import type { ApiResponse, PassKey } from '@/api/types' +import { useGlobalSettingsStore } from '@/stores' interface Props { modelValue: boolean @@ -26,6 +27,7 @@ const emit = defineEmits(['update:modelValue', 'update:passkeyList', 'verifyPass const { t, locale } = useI18n() const display = useDisplay() const $toast = useToast() +const globalSettingsStore = useGlobalSettingsStore() // 内部状态 const show = computed({ @@ -45,6 +47,9 @@ const passkeyName = ref('') // PassKey challenge const passkeyChallenge = ref('') +const allowPasskeyWithoutOtp = computed(() => !!globalSettingsStore.get('PASSKEY_ALLOW_REGISTER_WITHOUT_OTP')) +const canRegisterPasskey = computed(() => props.isOtp || allowPasskeyWithoutOtp.value) + // 格式化日期 function formatDate(dateStr: string) { return new Date(dateStr).toLocaleDateString(locale.value) @@ -230,7 +235,7 @@ watch( - +
{{ t('profile.registerNewPasskey') }}

{{ t('profile.passkeyDescription') }}