mh-two-thousand-and-two
2024-04-16 d4211fd96865e58217d63efaf4d8f6609fb24ae6
src/pages/forgetPass/forgetPass.vue
@@ -34,11 +34,11 @@
                        获取验证码</view>
                  </view>
               </el-form-item>
               <el-form-item label="新密码" prop="pass">
                  <el-input v-model="resetDataPass.newPass"></el-input>
               <el-form-item label="新密码" prop="newPass">
                  <el-input type="password" v-model="resetDataPass.newPass"></el-input>
               </el-form-item>
               <el-form-item label="确认新密码" prop="checkPass">
                  <el-input v-model="resetDataPass.checkPass"></el-input>
                  <el-input type="password" v-model="resetDataPass.checkPass"></el-input>
               </el-form-item>
               <el-form-item class="btn">
                  <el-button class="font-family"
@@ -61,9 +61,19 @@
<script>
   import {
      getRestPassword,
      getverifyCode
   } from '@/api/index.js'
   import {
      encryptAES
   } from '@/utils/Crypto.js'
   import {
      nextTick
   } from "vue";
   import Footer1 from '@/components/footer/footer.vue'
   import {
      Message
   } from 'element-ui'
   export default {
      components: {
         Footer1
@@ -74,7 +84,7 @@
            if (value === '') {
               callback(new Error('请输入密码'));
            } else {
               if (this.registerData.checkPass !== '') {
               if (this.resetDataPass.checkPass !== '') {
                  this.$nextTick(() => {
                     this.$refs.formLogin.validateField('checkPass');
                  });
@@ -86,7 +96,7 @@
         var validatePass2 = (rule, value, callback) => {
            if (value === '') {
               callback(new Error('请再次输入密码'));
            } else if (value !== this.registerData.pass) {
            } else if (value !== this.resetDataPass.newPass) {
               callback(new Error('两次输入密码不一致!'));
            } else {
               callback();
@@ -108,14 +118,14 @@
                  message: '请输入登录账号',
                  trigger: 'blur'
               }],
               pass: [{
               newPass: [{
                     required: true,
                     message: '请输入密码',
                     trigger: 'blur'
                  },
                  {
                     min: 6,
                     max: 12,
                     max: 10,
                     message: '密码长度在 6 到 12 个字符',
                     trigger: 'blur'
                  },
@@ -130,43 +140,19 @@
               }],
               cellphoneORmailbox: [{
                     required: true,
                     message: '请输入邮箱地址',
                     message: '请输入手机号或邮箱',
                     trigger: 'blur'
                  },
                  {
                     type: 'email',
                     message: '请输入正确的邮箱地址',
                     trigger: ['blur', 'change']
                     validator: this.validateContact,
                     trigger: 'blur'
                  }
               ],
               verifyCode: [{
                     required: true,
                     message: '请输入验证码',
                     trigger: 'blur'
                  },
                  {
                     validator: (rule, value, callback) => this.validateVerificationCode(rule, value, callback),
                     trigger: 'blur'
                  }
               ]
            },
            // 登录注册框
            loginTrue: true,
            Rtop1: 0,
            value: 'sdfdsf',
            // 注册用户对应的数据
            registerData: {
               loginID: '',
               pass: '',
               checkPass: '',
               cellphoneORmailbox: '',
               verifyCode: ''
            },
            // 登录用户账号
            loginData: {
               // 账号
               loginID: '',
               pass: ''
                  required: true,
                  message: '请输入验证码',
                  trigger: 'blur'
               }]
            },
            // 重置密码
            resetDataPass: {
@@ -175,32 +161,6 @@
               newPass: "",
               checkPass: ""
            },
            // 修改密码
            amendDataPass: {
               loginID: '',
               originalPass: "",
               newPass: "",
               checkPass: ""
            },
            // 书籍数据
            listData: [{
                  name: '历代医家传记库',
                  id: 1,
               }, {
                  name: '世医医家库',
                  id: 2,
               }, {
                  name: '医学学术流派',
                  id: 3,
               }, {
                  name: '中国地域医谱',
                  id: 4,
               }, {
                  name: '中国医事制度',
                  id: 5,
               },
            ]
         }
      },
      onLoad() {
@@ -222,8 +182,14 @@
            })
         },
         // 获取验证码
         verifyCodeClick() {
         async verifyCodeClick() {
            console.log('获取验证码');
            let Obj = {
               communicateParam: this.resetDataPass.cellphoneORmailbox,
            }
            await getverifyCode(Obj).then(res => {
               console.log(res, '验证码获取成功');
            })
         },
         // 列表项跳转
         listDataClick(item) {
@@ -253,13 +219,16 @@
               })
            }
         },
         // 验证码校验
         validateVerificationCode(rule, value, callback) {
            console.log(value)
            if (value !== '123456') {
               callback(new Error('验证码错误'));
         // 手机号/或者邮箱
         validateContact(rule, value, callback) {
            const regPhone = /^1[0-9]{10}$/;
            const regEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
            console.log(value, regPhone.test(value), regEmail.test(value));
            if (regPhone.test(value) || regEmail.test(value)) {
               callback(); // 校验通过
            } else {
               callback();
               callback(new Error('请输入正确的手机号或邮箱')); // 校验失败
            }
         },
         getElementWidth() {
@@ -269,30 +238,31 @@
               console.log('Element width:', width);
            })
         },
         // 用户登录
         Login(formName) {
            console.log('用户登录的登录按钮');
            this.$refs[formName].validate((valid) => {
               if (valid) {
                  alert('submit!成功');
                  uni.navigateTo({
                     url: '/pages/Login/Login'
                  })
               } else {
                  console.log('error submit!!失败');
                  return false;
               }
            });
         },
         // 忘记密码
         Login2(formName) {
            console.log('忘记密码的登录按钮');
            this.$refs[formName].validate((valid) => {
            let Obj = {
               "communicateParam": this.resetDataPass.cellphoneORmailbox, //手机或邮箱
               "verifyCode": this.resetDataPass.verifyCode, //验证码
               "newPassword": encryptAES(this.resetDataPass.newPass) //新密码
            }
            console.log(Obj);
            this.$refs[formName].validate(async (valid) => {
               if (valid) {
                  alert('submit!成功');
                  uni.redirectTo({
                     url: '/pages/Login/Login'
                  await getRestPassword(Obj).then(res => {
                     console.log(res, '接口');
                     if (res.success) {
                        console.log('忘记密码的接口拿到数据了');
                        uni.navigateTo({
                           url: '/pages/Login/Login'
                        })
                     } else {
                        Message.error(res.errorText || '')
                     }
                  })
                  // alert('submit!成功');
                  // uni.redirectTo({
                  //    url: '/pages/Login/Login'
                  // })
               } else {
                  console.log('error submit!!失败');
                  return false;
@@ -408,127 +378,129 @@
      .asdf {
         margin-bottom: .1rem !important;
      }
      .LoginBg {
         margin: 0 !important;
         height: .3rem !important;
      }
      ::v-deep .el-card {
         top: 80% !important;
         padding: 0 !important;
      }
      ::v-deep .el-card__body {
         padding: .25rem .5rem !important;
      }
      ::v-deep .el-form {
         padding-left: .1rem !important;
      }
      ::v-deep .el-form-item__error {
         font-size: .13rem !important;
      }
      ::v-deep .el-input__inner {
         height: .35rem !important;
      }
      .hua {
         height: 5rem !important;
      }
      .LoginTop {
         margin-bottom: .25rem !important;
      }
      .yzm {
         top: 15% !important;
      }
      .fff {
         width: 2.4rem !important;
         height: 4rem !important;
      }
      .rrr {
         width: 2rem !important;
         height: 2.5rem !important;
      }
      .btn ::v-deep .el-button {
         margin-top: 0.2rem !important;
         /*       font-size: 0.2rem !important;
            width: 100%;
            padding: 0.12rem !important; */
      }
      .asdf {
         margin-bottom: .1rem !important;
      }
   }
   @media screen and (min-width: 1920px) and (max-width:2560px){
   @media screen and (min-width: 1920px) and (max-width:2560px) {
      .LoginBg {
         margin: 0 !important;
         height: .3rem !important;
      }
      ::v-deep .el-card {
         top: 80% !important;
         padding: 0 !important;
      }
      ::v-deep .el-card__body {
         padding: .25rem .5rem !important;
      }
      ::v-deep .el-form {
         padding-left: .1rem !important;
      }
      ::v-deep .el-form-item__error {
         font-size: .13rem !important;
      }
      ::v-deep .el-input__inner {
         height: .35rem !important;
      }
      .hua {
         height: 5rem !important;
      }
      .LoginTop {
         margin-bottom: .25rem !important;
      }
      .yzm {
         top: 15% !important;
      }
      .fff {
         width: 2.4rem !important;
         height: 4rem !important;
      }
      .rrr {
         width: 2rem !important;
         height: 2.5rem !important;
      }
      .btn ::v-deep .el-button {
         margin-top: 0.2rem !important;
         /*       font-size: 0.2rem !important;
            width: 100%;
            padding: 0.12rem !important; */
      }
      .asdf {
         margin-bottom: .1rem !important;
      }
   }
   .LoginBg {
      width: 1.2rem;
      height: .37rem;