shikeying
2023-04-17 fbc213a1ebf9bf9d41c778c16f50b81c05711fba
拼图校验完成。
1个文件已修改
72 ■■■■ 已修改文件
src/views/user/login.vue 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/user/login.vue
@@ -41,9 +41,8 @@
        <drag-verify @success="verifyTrue" ref="verify"/>
      </el-form-item>
      <el-form-item v-if="loginForm.verifyType==='jigsaw'">
<!--        <drag-verify @success="verifyTrue" ref="verify"/>-->
        <transition duration="1000" name="el-fade-in" v-if="verify">
          <jigsaw-verify v-if="loginForm.verifyType==='jigsaw'" :left="left" :top="top" @hide="verifyFalse" @success="handleLogin" />
          <jigsaw-verify :left="left" :top="top" @hide="verifyFalse" @success="handleLogin" />
        </transition>
      </el-form-item>
      <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
@@ -176,46 +175,47 @@
      this.loginForm.rememberMe = rememberMe === undefined ? this.loginForm.rememberMe : rememberMe
    },
    handleLogin(param) {
      // 拼图验证  没有返回param时候
      if(this.loginForm.verifyType==='jigsaw' && !param.uuid){
        this.verify = true
        return false
      }
      // 拼图验证  返回param时候
      if(this.loginForm.verifyType==='jigsaw' && param.uuid){
      if(this.loginForm.verifyType==='jigsaw' && param != null && param.uuid != null){
        // 拼图验证码时,调用方会传入code(用户验证码位置),uuid
        this.loginForm.code = param.x;
        this.loginForm.uuid = param.uuid;
        // this.verify = false;
      }
      this.$refs.loginForm.validate(valid => {
          if (valid) {
            if (this.loginForm.verifyType==='slide' && !this.verify) {
              this.$message.error('请先完成验证')
              this.loading = false
              return
            }
            this.loading = true;
            if (this.loginForm.rememberMe) {
              Cookies.set("username", this.loginForm.username, { expires: 30 });
              Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
              Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
            } else {
              Cookies.remove("username");
              Cookies.remove("password");
              Cookies.remove('rememberMe');
            }
            // console.log(this.loginForm);
            // console.log("-----------------------------");
            this.$store.dispatch("Login", this.loginForm).then(() => {
              this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
            }).catch(() => {
              this.loading = false;
              if (this.captchaEnabled && this.loginForm.verifyType==='code') {
                this.getCode();
              }
            });
        if (valid) {
          if (this.loginForm.verifyType==='slide' && !this.verify) {
            this.$message.error('请先完成验证')
            this.loading = false
            return
          }
        });
          if(this.loginForm.verifyType==='jigsaw' && this.loginForm.uuid == ''){
            // 弹出拼图验证码,2023-04-16
            this.verify = true;
            return;
          }
          this.loading = true;
          if (this.loginForm.rememberMe) {
            Cookies.set("username", this.loginForm.username, { expires: 30 });
            Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
            Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
          } else {
            Cookies.remove("username");
            Cookies.remove("password");
            Cookies.remove('rememberMe');
          }
          // console.log(this.loginForm);
          // console.log("-----------------------------");
          this.$store.dispatch("Login", this.loginForm).then(() => {
            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
          }).catch(() => {
            this.loading = false;
            if (this.captchaEnabled && this.loginForm.verifyType==='code') {
              this.getCode();
            }
          });
        }
      });
    }
  }
};