Bladeren bron

feat(login): add login validate for form

gemercheung 4 jaren geleden
bovenliggende
commit
87dab96bf3
3 gewijzigde bestanden met toevoegingen van 17 en 0 verwijderingen
  1. 3 0
      src/locales/lang/en/sys.ts
  2. 3 0
      src/locales/lang/zh-CN/sys.ts
  3. 11 0
      src/views/sys/login/LoginForm.vue

+ 3 - 0
src/locales/lang/en/sys.ts

@@ -100,5 +100,8 @@ export default {
     email: 'Email',
     smsCode: 'SMS code',
     mobile: 'Mobile',
+
+    loginDragValidate: 'Login need a dragging Validation',
+    loginAgain: 'Need login again',
   },
 };

+ 3 - 0
src/locales/lang/zh-CN/sys.ts

@@ -94,5 +94,8 @@ export default {
     email: '邮箱',
     smsCode: '短信验证码',
     mobile: '手机号码',
+
+    loginDragValidate: '登录需要拖拽验证',
+    loginAgain: '请再次操作',
   },
 };

+ 11 - 0
src/views/sys/login/LoginForm.vue

@@ -129,6 +129,7 @@
   const formRef = ref();
   const loading = ref(false);
   const rememberMe = ref(false);
+  const isDragValidate = ref(false);
 
   const formData = reactive({
     account: 'admin',
@@ -143,11 +144,20 @@
 
   function handleSuccess() {
     console.log('11');
+    isDragValidate.value = true;
   }
 
   async function handleLogin() {
     const data = await validForm();
     if (!data) return;
+    if (!isDragValidate.value) {
+      notification.info({
+        message: t('sys.login.loginDragValidate'),
+        description: `${t('sys.login.loginAgain')}`,
+        duration: 3,
+      });
+      return;
+    }
     try {
       loading.value = true;
       const userInfo = await userStore.login({
@@ -155,6 +165,7 @@
         username: data.account,
         mode: 'none', //不要默认的错误提示
       });
+
       if (userInfo) {
         notification.success({
           message: t('sys.login.loginSuccessTitle'),