From a951e53a3d35c67e9a97aca03558ab7721edcad3 Mon Sep 17 00:00:00 2001 From: china <527956374@qq.com> Date: 星期一, 17 四月 2023 11:25:06 +0800 Subject: [PATCH] 拼图滑块验证 --- src/views/user/login.vue | 53 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/views/user/login.vue b/src/views/user/login.vue index f36717b..6e8be39 100644 --- a/src/views/user/login.vue +++ b/src/views/user/login.vue @@ -42,8 +42,8 @@ </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 v-if="loginForm.verifyType==='jigsaw'" :left="left" :top="top" @hide="verifyFalse" @success="jigsawLogin" /> </transition> </el-form-item> <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox> @@ -86,8 +86,8 @@ return { verify:false, // 婊戝姩鏍¢獙 codeUrl: "", - left: null, // 鎷煎浘楠岃瘉鐮佷綅缃� - top: null, // 鎷煎浘楠岃瘉鐮佷綅缃� + left: '50%', // 鎷煎浘楠岃瘉鐮佷綅缃� + top: '220px', // 鎷煎浘楠岃瘉鐮佷綅缃� loginForm: { username: 'supervisor', password: '123456', @@ -177,19 +177,45 @@ }, handleLogin(param) { if(this.loginForm.verifyType==='jigsaw' && param != null){ - // console.log(param); - // console.log("鎷煎浘鎻愪氦鍙傛暟"); // 鎷煎浘楠岃瘉鐮佹椂锛岃皟鐢ㄦ柟浼氫紶鍏ode锛堢敤鎴烽獙璇佺爜浣嶇疆锛夛紝uuid this.loginForm.code = param.x; this.loginForm.uuid = param.uuid; + this.verify = true + }else{ + 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(); + } + }); + } + }); } + }, + jigsawLogin(){ 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 }); @@ -200,15 +226,10 @@ 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(); - } }); } }); -- Gitblit v1.9.1