Просмотр исходного кода

增加登录天数90天消息提示

shaogen1995 11 месяцев назад
Родитель
Сommit
7334d3ede0
3 измененных файлов с 36 добавлено и 4 удалено
  1. 11 0
      packages/admin/package-lock.json
  2. 1 0
      packages/admin/package.json
  3. 24 4
      packages/admin/src/views/login.vue

+ 11 - 0
packages/admin/package-lock.json

@@ -11,6 +11,7 @@
         "axios": "^0.24.0",
         "Base64": "^1.1.0",
         "core-js": "^3.6.5",
+        "dayjs": "^1.11.13",
         "echarts": "^5.3.2",
         "element-ui": "^2.15.6",
         "js-base64": "^3.7.2",
@@ -5748,6 +5749,11 @@
       "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
       "dev": true
     },
+    "node_modules/dayjs": {
+      "version": "1.11.13",
+      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
+      "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
+    },
     "node_modules/de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
@@ -23157,6 +23163,11 @@
       "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
       "dev": true
     },
+    "dayjs": {
+      "version": "1.11.13",
+      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
+      "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
+    },
     "de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",

+ 1 - 0
packages/admin/package.json

@@ -11,6 +11,7 @@
     "axios": "^0.24.0",
     "Base64": "^1.1.0",
     "core-js": "^3.6.5",
+    "dayjs": "^1.11.13",
     "echarts": "^5.3.2",
     "element-ui": "^2.15.6",
     "js-base64": "^3.7.2",

+ 24 - 4
packages/admin/src/views/login.vue

@@ -41,6 +41,7 @@
 import { encodeStr } from '../utils/pass'
 import { Base64 } from 'js-base64'
 import { userLogin } from '@/apis/login'
+import dayjs from 'dayjs'
 export default {
   name: 'login',
   components: {},
@@ -53,7 +54,10 @@ export default {
       },
       rules: {
         userName: [{ required: true, message: '不能为空', trigger: 'blur' }],
-        passWord: [{ required: true, message: '不能为空', trigger: 'blur' }, { min: 8, message: '最短8个字符', trigger: 'blur' }]
+        passWord: [
+          { required: true, message: '不能为空', trigger: 'blur' },
+          { min: 8, message: '最短8个字符', trigger: 'blur' }
+        ]
       }
     }
   },
@@ -67,12 +71,17 @@ export default {
       try {
         await this.$refs.ruleForm.validate()
 
-        const regex = /^(?=.*[A-Za-z])(?=.*\d)|(?=.*[A-Za-z])(?=.*[!@#$%^&*])|(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/
+        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种方式组成')
+        if (!flagPass) {
+          return this.$message.warning(
+            '密码要求由数字、字母或特殊字符中2种方式组成'
+          )
+        }
 
         const data = {
           userName: this.ruleForm.userName,
@@ -80,6 +89,17 @@ export default {
         }
         const res = await userLogin(data)
         if (res.code === 0) {
+          // 检查有效天数
+          // 2020-04-13 08:57:41
+          const txt = '密码超过90天数未修改,请尽快修改密码'
+          const timeCkeck = res.data.user.updatePwdTime
+          // const timeCkeck = '2025-01-10 08:57:41'
+
+          const time = dayjs().diff(dayjs(timeCkeck), 'day')
+          if (time <= 10) alert(txt)
+
+          if (!timeCkeck) alert(txt)
+
           localStorage.setItem('JMYZU_token', res.data.token)
           localStorage.setItem('JMYZU_userInfo', JSON.stringify(res.data.user))
           this.$router.push('/layout/tab1')
@@ -103,7 +123,7 @@ export default {
   activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
 }
 </script>
-<style lang='less' scoped>
+<style lang="less" scoped>
 .login {
   width: 100vw;
   height: 100vh;