shaogen1995 1 рік тому
батько
коміт
1d9c42102b

Різницю між файлами не показано, бо вона завелика
+ 33427 - 0
packages/admin/package-lock.json


+ 6 - 1
packages/admin/src/views/layout/index.vue

@@ -120,7 +120,8 @@ export default {
         oldPassword: [{ required: true, message: '不能为空', trigger: 'blur' }],
         newPassword: [
           { required: true, message: '不能为空', trigger: 'blur' },
-          { max: 15, message: '不能超过15个字', trigger: 'blur' }
+          { min: 8, message: '最短8个字符', trigger: 'blur' },
+          { max: 30, message: '不能超过30个字', trigger: 'blur' }
         ]
       },
       userInfo: {},
@@ -160,6 +161,10 @@ export default {
     async btnOk () {
       await this.$refs.ruleForm.validate()
       try {
+        const regex = /^(?=.*[A-Za-z])(?=.*\d)|(?=.*[A-Za-z])(?=.*[!@#$%^&*])|(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/
+        const flagPass = regex.test(this.form.newPassword)
+
+        if (!flagPass) return this.$message.warning('密码要求由数字、字母或特殊字符中2种方式组成')
         const data = {
           oldPassword: encodeStr(Base64.encode(this.form.oldPassword)),
           newPassword: encodeStr(Base64.encode(this.form.newPassword))

+ 9 - 1
packages/admin/src/views/login.vue

@@ -53,7 +53,7 @@ export default {
       },
       rules: {
         userName: [{ required: true, message: '不能为空', trigger: 'blur' }],
-        passWord: [{ required: true, message: '不能为空', trigger: 'blur' }]
+        passWord: [{ required: true, message: '不能为空', trigger: 'blur' }, { min: 8, message: '最短8个字符', trigger: 'blur' }]
       }
     }
   },
@@ -66,6 +66,14 @@ export default {
     async login () {
       try {
         await this.$refs.ruleForm.validate()
+
+        const regex = /^(?=.*[A-Za-z])(?=.*\d)|(?=.*[A-Za-z])(?=.*[!@#$%^&*])|(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/
+        // const flagName = regex.test(this.ruleForm.userName)
+        const flagPass = regex.test(this.ruleForm.passWord)
+        // 都为true才能下一步
+        // if (!flagName) return this.$message.warning('账号要求由数字、字母或特殊字符中2种方式组成')
+        if (!flagPass) return this.$message.warning('密码要求由数字、字母或特殊字符中2种方式组成')
+
         const data = {
           userName: this.ruleForm.userName,
           passWord: encodeStr(Base64.encode(this.ruleForm.passWord))