Ver Fonte

fix: 修复验证码登录发送逻辑,未校验手机号或发送失败仍开始倒计时的问题 (#7616)

Mr. Xie há 3 meses atrás
pai
commit
7e0978c764

+ 4 - 0
apps/web-ele/src/views/_core/authentication/code-login.vue

@@ -40,6 +40,10 @@ const formSchema = computed((): VbenFormSchema[] => {
           return text;
         },
         placeholder: $t('authentication.code'),
+        handleSendCode: async () => {
+          console.warn('发送验证码前校验等逻辑');
+          throw new Error('手机号校验失败');
+        },
       },
       fieldName: 'code',
       label: $t('authentication.code'),

+ 1 - 1
packages/@core/ui-kit/shadcn-ui/src/components/pin-input/input.vue

@@ -59,9 +59,9 @@ function handleComplete(e: string[]) {
 async function handleSend(e: Event) {
   try {
     e?.preventDefault();
+    await handleSendCode();
     countdown.value = maxTime;
     startCountdown();
-    await handleSendCode();
   } catch (error) {
     console.error('Failed to send code:', error);
     // Consider emitting an error event or showing a notification