| | |
| | | <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> |
| | |
| | | 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(); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }; |