From 4de052a45e3b18f4bb3316079f5d4bcaae04e30b Mon Sep 17 00:00:00 2001 From: heimawl <1785969728@qq.com> Date: 星期五, 02 六月 2023 10:40:40 +0800 Subject: [PATCH] 吴龙分支初始提交 --- src/views/login.vue | 108 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 70 insertions(+), 38 deletions(-) diff --git a/ruoyi-ui/src/views/login.vue b/src/views/login.vue similarity index 67% rename from ruoyi-ui/src/views/login.vue rename to src/views/login.vue index 7e54a6c..6402807 100644 --- a/ruoyi-ui/src/views/login.vue +++ b/src/views/login.vue @@ -1,6 +1,11 @@ <template> <div class="login"> - <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> + <el-form + ref="loginForm" + :model="loginForm" + :rules="loginRules" + class="login-form" + > <h3 class="title">鏅烘収闅忚绠$悊绯荤粺</h3> <el-form-item prop="username"> <el-input @@ -9,7 +14,11 @@ auto-complete="off" placeholder="璐﹀彿" > - <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> + <svg-icon + slot="prefix" + icon-class="user" + class="el-input__icon input-icon" + /> </el-input> </el-form-item> <el-form-item prop="password"> @@ -20,7 +29,11 @@ placeholder="瀵嗙爜" @keyup.enter.native="handleLogin" > - <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> + <svg-icon + slot="prefix" + icon-class="password" + class="el-input__icon input-icon" + /> </el-input> </el-form-item> <el-form-item prop="code" v-if="captchaEnabled"> @@ -31,26 +44,36 @@ style="width: 63%" @keyup.enter.native="handleLogin" > - <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> + <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"/> + <img :src="codeUrl" @click="getCode" class="login-code-img" /> </div> </el-form-item> - <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox> - <el-form-item style="width:100%;"> + <el-checkbox + v-model="loginForm.rememberMe" + style="margin: 0px 0px 25px 0px" + >璁颁綇瀵嗙爜</el-checkbox + > + <el-form-item style="width: 100%"> <el-button :loading="loading" size="medium" type="primary" - style="width:100%;" + style="width: 100%" @click.native.prevent="handleLogin" > <span v-if="!loading">鐧� 褰�</span> <span v-else>鐧� 褰� 涓�...</span> </el-button> - <div style="float: right;" v-if="register"> - <router-link class="link-type" :to="'/register'">绔嬪嵆娉ㄥ唽1</router-link> + <div style="float: right" v-if="register"> + <router-link class="link-type" :to="'/register'" + >绔嬪嵆娉ㄥ唽1</router-link + > </div> </el-form-item> </el-form> @@ -64,7 +87,7 @@ <script> import { getCodeImg } from "@/api/login"; import Cookies from "js-cookie"; -import { encrypt, decrypt } from '@/utils/jsencrypt' +import { encrypt, decrypt } from "@/utils/jsencrypt"; export default { name: "Login", @@ -76,32 +99,32 @@ password: "admin123", rememberMe: false, code: "", - uuid: "" + uuid: "", }, loginRules: { username: [ - { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" } + { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }, ], password: [ - { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" } + { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" }, ], - code: [{ required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }] + code: [{ required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }], }, loading: false, // 楠岃瘉鐮佸紑鍏� captchaEnabled: true, // 娉ㄥ唽寮�鍏� register: false, - redirect: undefined + redirect: undefined, }; }, watch: { $route: { - handler: function(route) { + handler: function (route) { this.redirect = route.query && route.query.redirect; }, - immediate: true - } + immediate: true, + }, }, created() { this.getCode(); @@ -109,8 +132,9 @@ }, methods: { getCode() { - getCodeImg().then(res => { - this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled; + getCodeImg().then((res) => { + this.captchaEnabled = + res.captchaEnabled === undefined ? true : res.captchaEnabled; if (this.captchaEnabled) { this.codeUrl = "data:image/gif;base64," + res.img; this.loginForm.uuid = res.uuid; @@ -120,38 +144,46 @@ getCookie() { const username = Cookies.get("username"); const password = Cookies.get("password"); - const rememberMe = Cookies.get('rememberMe') + 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) + password: + password === undefined ? this.loginForm.password : decrypt(password), + rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), }; }, handleLogin() { - this.$refs.loginForm.validate(valid => { + this.$refs.loginForm.validate((valid) => { if (valid) { 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 }); + 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'); + Cookies.remove("rememberMe"); } - this.$store.dispatch("Login", this.loginForm).then(() => { - this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); - }).catch(() => { - this.loading = false; - if (this.captchaEnabled) { - this.getCode(); - } - }); + this.$store + .dispatch("Login", this.loginForm) + .then(() => { + this.$router.push({ path: this.redirect || "/" }).catch(() => {}); + }) + .catch(() => { + this.loading = false; + if (this.captchaEnabled) { + this.getCode(); + } + }); } }); - } - } + }, + }, }; </script> -- Gitblit v1.9.3