shikeying
2023-04-17 f556fddfbbcf2e5ac0748baf668e2704ca35557c
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">
          <jigsaw-verify v-if="loginForm.verifyType==='jigsaw'" :left="left" :top="top" @hide="verifyFalse" @success="handleLogin" />
        <transition duration="1000" name="el-fade-in" v-if="verify">
          <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>
@@ -86,8 +85,8 @@
    return {
      verify:false,  // 滑动校验
      codeUrl: "",
      left: null,    // 拼图验证码位置
      top: null,     // 拼图验证码位置
      left: '50%',    // 拼图验证码位置
      top: '220px',     // 拼图验证码位置
      loginForm: {
        username: 'supervisor',
        password: '123456',
@@ -156,6 +155,7 @@
        // 拼图方式,看需要啥参数,暂未实现
        console.log('jigsaw...');
        this.loginForm.code = 'jigsaw'; // 填充code默认值,否则验证不通过。2023-04-06
        this.loginForm.uuid = '';       // 清空验证码,为下次重新验证准备。2023-04-16
      } else if(this.loginForm.verifyType==='slide' || this.loginForm.verifyType==='sms'){
        // 不需要验证码,但仍需要请求接口获取uuid
@@ -176,11 +176,11 @@
      this.loginForm.rememberMe = rememberMe === undefined ? this.loginForm.rememberMe : rememberMe
    },
    handleLogin(param) {
      // console.log(param);
      if(param != null){
      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) {
@@ -189,6 +189,12 @@
            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 });
@@ -205,7 +211,9 @@
            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
          }).catch(() => {
            this.loading = false;
            if (this.captchaEnabled && this.loginForm.verifyType==='code') {
            if (this.captchaEnabled) {
              // if(this.loginForm.verifyType==='code'){
              // }
              this.getCode();
            }
          });