Browse Source

fix: improve the lock-screen password validation logic (#4324)

* fix: after entering the password correctly, the verification still shows' failed ', resulting in the inability to enter the system

* chore: update

---------

Co-authored-by: zyy <532612154@qq.com>
pull/4326/head
Li Kui 2 weeks ago
committed by GitHub
parent
commit
2b65e935c1
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 26
      packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue

26
packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue

@ -1,5 +1,5 @@
<script setup lang="ts">
import { computed, reactive, ref, watchEffect } from 'vue';
import { computed, reactive, ref } from 'vue';
import { LockKeyhole } from '@vben/icons';
import { $t, useI18n } from '@vben/locales';
@ -36,7 +36,6 @@ const minute = useDateFormat(now, 'mm');
const date = useDateFormat(now, 'YYYY-MM-DD dddd', { locales: locale.value });
const showUnlockForm = ref(false);
const validPass = ref(true);
const { lockScreenPassword } = storeToRefs(lockStore);
const formState = reactive({
@ -44,15 +43,14 @@ const formState = reactive({
submitted: false,
});
const passwordStatus = computed(() => {
if (formState.submitted && !formState.password) {
return 'error';
}
const validPass = computed(
() => lockScreenPassword?.value === formState.password,
);
const passwordStatus = computed(() => {
if (formState.submitted && !validPass.value) {
return 'error';
}
return 'default';
});
@ -62,21 +60,13 @@ const errorTip = computed(() => {
: $t('widgets.lockScreen.errorPasswordTip');
});
watchEffect(() => {
if (!formState.password) {
validPass.value = true;
}
});
function handleSubmit() {
formState.submitted = true;
if (passwordStatus.value !== 'default') {
return;
}
if (lockScreenPassword?.value !== formState.password) {
validPass.value = false;
if (!validPass.value) {
return;
}
lockStore.unlockScreen();
}

Loading…
Cancel
Save