邮箱登录

dev
Shen jia feng 2024-04-12 14:39:10 +08:00
parent 7bc96b0b41
commit 105d9361ff
3 changed files with 43 additions and 15 deletions

View File

@ -1,7 +1,8 @@
import request from '@/utils/request'
// 登录方法
export function login(username, password, code, uuid) {
// export function login(username, password, code, uuid) {
export function login(email, password, code, uuid) {
return request({
url: '/auth/login',
headers: {
@ -9,7 +10,8 @@ export function login(username, password, code, uuid) {
repeatSubmit: false
},
method: 'post',
data: {username, password, code, uuid}
// data: {username, password, code, uuid}
data: {email, password, code, uuid}
})
}

View File

@ -38,12 +38,14 @@ const user = {
actions: {
// 登录
Login({commit}, userInfo) {
const username = userInfo.username.trim()
// const username = userInfo.username.trim()
const email = userInfo.email.trim()
const password = userInfo.password
const code = userInfo.code
const uuid = userInfo.uuid
return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => {
// login(username, password, code, uuid).then(res => {
login(email, password, code, uuid).then(res => {
let data = res.data
setToken(data.access_token)
commit('SET_TOKEN', data.access_token)

View File

@ -2,16 +2,32 @@
<div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">若依后台管理系统</h3>
<el-form-item prop="username">
<!-- <el-form-item prop="username">-->
<!-- <el-input-->
<!-- v-model="loginForm.username"-->
<!-- auto-complete="off"-->
<!-- placeholder="账号"-->
<!-- type="text"-->
<!-- >-->
<!-- <svg-icon slot="prefix" class="el-input__icon input-icon" icon-class="user"/>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- 邮箱***-->
<el-form-item prop="email">
<el-input
v-model="loginForm.username"
v-model="loginForm.email"
auto-complete="off"
placeholder="账号"
placeholder="请输入邮箱"
type="text"
>
<svg-icon slot="prefix" class="el-input__icon input-icon" icon-class="user"/>
<svg-icon slot="prefix" class="el-input__icon input-icon" icon-class="email"/>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input
v-model="loginForm.password"
@ -72,15 +88,19 @@ export default {
return {
codeUrl: "",
loginForm: {
username: "admin",
// username: "admin",
email: "ry@163.com",
password: "admin123",
rememberMe: false,
code: "",
uuid: ""
},
loginRules: {
username: [
{required: true, trigger: "blur", message: "请输入您的账号"}
// username: [
// {required: true, trigger: "blur", message: ""}
// ],
email: [
{required: true, trigger: "blur", message: "请输入您的邮箱"}
],
password: [
{required: true, trigger: "blur", message: "请输入您的密码"}
@ -118,11 +138,13 @@ export default {
});
},
getCookie() {
const username = Cookies.get("username");
// const username = Cookies.get("username");
const email = Cookies.get("email");
const password = Cookies.get("password");
const rememberMe = Cookies.get('rememberMe')
this.loginForm = {
username: username === undefined ? this.loginForm.username : username,
// username: username === undefined ? this.loginForm.username : username,
email: email === undefined ? this.loginForm.email : email,
password: password === undefined ? this.loginForm.password : decrypt(password),
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
};
@ -132,11 +154,13 @@ export default {
if (valid) {
this.loading = true;
if (this.loginForm.rememberMe) {
Cookies.set("username", this.loginForm.username, {expires: 30});
// Cookies.set("username", this.loginForm.username, {expires: 30});
Cookies.set("email", this.loginForm.email, {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("username");
Cookies.remove("email");
Cookies.remove("password");
Cookies.remove('rememberMe');
}