From bbb6565e8a5989a2ba16c4f051c92659cd964dfa Mon Sep 17 00:00:00 2001 From: liuguocan <527956374@qq.com> Date: 星期二, 14 三月 2023 14:18:22 +0800 Subject: [PATCH] 登录配置校验 --- src/views/user/login.vue | 53 +++++++++++++++++++++++++++++------------------------ 1 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/views/user/login.vue b/src/views/user/login.vue index a093b95..497dfc6 100644 --- a/src/views/user/login.vue +++ b/src/views/user/login.vue @@ -23,19 +23,21 @@ <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> </el-input> </el-form-item> - <el-form-item> -<!-- <el-input--> -<!-- v-model="loginForm.code"--> -<!-- auto-complete="off"--> -<!-- placeholder="楠岃瘉鐮�"--> -<!-- style="width: 63%"--> -<!-- @keyup.enter.native="handleLogin"--> -<!-- >--> -<!-- <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />--> -<!-- </el-input>--> -<!-- <div class="login-code">--> -<!-- <img :src="codeUrl" @click="getCode" class="login-code-img"/>--> -<!-- </div>--> + <el-form-item v-if="loginForm.verifyType==='code' && captchaEnabled"> + <el-input + v-model="loginForm.code" + auto-complete="off" + placeholder="楠岃瘉鐮�" + style="width: 63%" + @keyup.enter.native="handleLogin" + > + <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> + </el-input> + <div class="login-code"> + <img :src="codeUrl" @click="getCode" class="login-code-img"/> + </div> + </el-form-item> + <el-form-item v-if="loginForm.verifyType==='slide'"> <drag-verify @success="verifyTrue" ref="verify"/> </el-form-item> <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox> @@ -63,6 +65,7 @@ </template> <script> +import { getCodeImg } from "@/api/login"; import dragVerify from './dragVerify/index.vue'// 婊戝姩楠岃瘉缁勪欢 import Cookies from "js-cookie"; import { encrypt, decrypt } from '@/utils/jsencrypt' @@ -73,12 +76,14 @@ }, data() { return { - verify:false, + verify:false, // 婊戝姩鏍¢獙 codeUrl: "", loginForm: { + verifyType: 'code',// 'code': 楠岃瘉鐮� 'slide':婊戝潡 'jigsaw':鎷煎浘 username: "supervisor", password: "123456", rememberMe: false, + code:'', uuid: "" }, loginRules: { @@ -107,7 +112,9 @@ } }, created() { - // this.getCode(); + if(this.loginForm.verifyType==='code'){ + this.getCode(); + } this.getCookie(); }, methods: { @@ -134,16 +141,14 @@ const username = Cookies.get("username"); const password = Cookies.get("password"); const rememberMe = Cookies.get('rememberMe') - this.loginForm = { - username: username === undefined ? this.loginForm.username : username, - password: password === undefined ? this.loginForm.password : decrypt(password), - rememberMe: rememberMe === undefined ? false : Boolean(rememberMe) - }; + this.loginForm.username = username === undefined ? this.loginForm.username : username + this.loginForm.password = password === undefined ? this.loginForm.password : password + this.loginForm.rememberMe = rememberMe === undefined ? this.loginForm.rememberMe : rememberMe }, handleLogin() { this.$refs.loginForm.validate(valid => { if (valid) { - if (!this.verify) { + if (this.loginForm.verifyType==='slide' && !this.verify) { this.$message.error('璇峰厛瀹屾垚楠岃瘉') this.loading = false return @@ -162,9 +167,9 @@ this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); }).catch(() => { this.loading = false; - // if (this.captchaEnabled) { - // this.getCode(); - // } + if (this.captchaEnabled && this.loginForm.verifyType==='code') { + this.getCode(); + } }); } }); -- Gitblit v1.9.1