From 8bb39ef89422b62bd1ca4ab6321c6e28a6e53ae3 Mon Sep 17 00:00:00 2001 From: qian Date: Tue, 16 Jun 2026 21:53:55 +0800 Subject: [PATCH] =?UTF-8?q?improve(user):=E6=B7=BB=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=BC=BA=E5=BA=A6=E6=8C=87=E7=A4=BA=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/PasswordStrengthMeter.vue | 52 +++++++++++++++++++ .../src/views/auth/ForgotPasswordPage.vue | 2 + web/tenant/src/views/auth/RegisterPage.vue | 2 + 3 files changed, 56 insertions(+) create mode 100644 web/tenant/src/components/common/PasswordStrengthMeter.vue diff --git a/web/tenant/src/components/common/PasswordStrengthMeter.vue b/web/tenant/src/components/common/PasswordStrengthMeter.vue new file mode 100644 index 0000000..36684f7 --- /dev/null +++ b/web/tenant/src/components/common/PasswordStrengthMeter.vue @@ -0,0 +1,52 @@ + + + diff --git a/web/tenant/src/views/auth/ForgotPasswordPage.vue b/web/tenant/src/views/auth/ForgotPasswordPage.vue index 9dd7741..50d2951 100644 --- a/web/tenant/src/views/auth/ForgotPasswordPage.vue +++ b/web/tenant/src/views/auth/ForgotPasswordPage.vue @@ -4,6 +4,7 @@ import { useRouter } from 'vue-router' import AuthLayout from '@/components/layout/AuthLayout.vue' import Icon from '@/components/common/Icon.vue' import SlideCaptcha from '@/components/common/SlideCaptcha.vue' +import PasswordStrengthMeter from '@/components/common/PasswordStrengthMeter.vue' import request, { extractApiError } from '@/utils/request' const router = useRouter() @@ -243,6 +244,7 @@ function goBack() { class="input" :class="{ 'input-error': errors.newPassword }" /> +

{{ errors.newPassword }}

diff --git a/web/tenant/src/views/auth/RegisterPage.vue b/web/tenant/src/views/auth/RegisterPage.vue index 1cd5b93..b25d781 100644 --- a/web/tenant/src/views/auth/RegisterPage.vue +++ b/web/tenant/src/views/auth/RegisterPage.vue @@ -8,6 +8,7 @@ import SlideCaptcha from '@/components/common/SlideCaptcha.vue' import Turnstile from '@/components/common/Turnstile.vue' import Icon from '@/components/common/Icon.vue' import AgreementViewModal from '@/components/common/AgreementViewModal.vue' +import PasswordStrengthMeter from '@/components/common/PasswordStrengthMeter.vue' import request from '@/utils/request' import { extractApiError } from '@/utils/request' @@ -403,6 +404,7 @@ async function handleRegister() { class="input" :class="{ 'input-error': userErrors.password }" /> +

{{ userErrors.password }}