lex il y a 1 an
Parent
commit
0b15d6b852
2 fichiers modifiés avec 40 ajouts et 8 suppressions
  1. 26 3
      src/components/layout/modals/update-password.tsx
  2. 14 5
      src/views/home/index.tsx

+ 26 - 3
src/components/layout/modals/update-password.tsx

@@ -27,12 +27,25 @@ export default defineComponent({
       code: null
     });
 
+    const validatePass2 = (rule: any, value: any, callback: any): any => {
+      const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;
+      if (value === '') {
+        callback(new Error('请再次输入密码'));
+      } else if (value !== forms.password) {
+        callback(new Error('两次输入密码不一致'));
+      } else if (!reg.test(value)) {
+        callback(new Error('密码为6-20位数字和字母组合'));
+      } else {
+        callback();
+      }
+    };
+
     const gotoClassPage = () => {
       formsRef.value.validate(async (error: any) => {
         if (error) return;
 
         if (forms.password !== forms.rePassword) {
-          message.error('两次密码不一致');
+          message.error('两次输入密码不一致');
           return;
         }
 
@@ -109,11 +122,18 @@ export default defineComponent({
               {
                 required: true,
                 message: '请输入新密码'
+              },
+              {
+                pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/,
+                message: '密码为6-20位数字和字母组合',
+                trigger: 'blur'
               }
             ]}>
             <NInput
               v-model:value={forms.password}
               clearable
+              type="password"
+              show-password-on="click"
               placeholder={'请输入新密码'}
             />
           </NFormItem>
@@ -122,13 +142,16 @@ export default defineComponent({
             label="再次输入"
             rule={[
               {
-                required: true,
-                message: '再次输入新密码'
+                validator: validatePass2,
+                trigger: 'blur',
+                required: true
               }
             ]}>
             <NInput
               v-model:value={forms.rePassword}
               clearable
+              type="password"
+              show-password-on="click"
               placeholder={'再次输入新密码'}
             />
           </NFormItem>

+ 14 - 5
src/views/home/index.tsx

@@ -319,11 +319,11 @@ export default defineComponent({
       });
       getVersion();
 
-      if (!userStore.getUserInfo.account.updatePasswordFlag) {
-        showUpdatePassword.value = true;
-      } else {
-        forms.showGuide = true;
-      }
+      // if (!userStore.getUserInfo.account.updatePasswordFlag) {
+      showUpdatePassword.value = true;
+      // } else {
+      //   forms.showGuide = true;
+      // }
     });
 
     const formsRef = ref();
@@ -819,6 +819,15 @@ export default defineComponent({
               // 密码更新成功
               showUpdatePassword.value = true;
               forms.showGuide = true;
+
+              userStore.logout().then(() => {
+                // 移除标签页
+                router
+                  .replace({
+                    name: 'login'
+                  })
+                  .finally(() => location.reload());
+              });
             }}
           />
         </NModal>