From 4cf29de231ee3503c48e0c1d098dab795091ff46 Mon Sep 17 00:00:00 2001
From: DESKTOP-CVS3R96\我恁爹 <11>
Date: Sun, 06 Nov 2022 18:00:27 +0800
Subject: [PATCH] 11.6
---
src/page/login/login.vue | 275 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 238 insertions(+), 37 deletions(-)
diff --git a/src/page/login/login.vue b/src/page/login/login.vue
index e0cfe8b..e2e12da 100644
--- a/src/page/login/login.vue
+++ b/src/page/login/login.vue
@@ -1,38 +1,61 @@
<template>
<div class="login_page">
<headers :mess="loginWay" />
- <div class="img_mess">
+ <!-- <div class="img_mess">
<div class="logo_content animated fadeInRight">
<img :src="Logo" alt />
</div>
- </div>
+ </div> -->
<div class="logins_content">
<div class="login_title animated slideInDown">
- <span>{{ '邮箱登录' }}</span>
+ <span>{{ '手机号登录' }}</span>
</div>
<div class="login_forms">
<div class="top_forms">
- <div class="user_name">
+ <!-- <div class="user_name">
<input type="text" :placeholder="placeholder" v-model="userName" />
</div>
<div class="password">
<input type="password" placeholder="登录密码" v-model="userPassword" @input="handleInput()" />
- </div>
+ </div> -->
+ <el-input placeholder="请输入手机号" :size="medium" v-model="userName" clearable>
+ </el-input>
+ <el-input style="margin-top: 0.46rem;" show-password placeholder="登录密码" :size="medium" v-model="userPassword" @input="handleInput()">
+ </el-input>
</div>
- <div class="bottom_btns">
- <div class="top_btn" @click="loginIN" :class="btnClass ? 'on' : 'off'">
+ <div class="bottom_btns" :class="btnClass ? 'on' : 'off'" >
+ <div class="top_btn " @click="loginIN" :class="dengl ? 'animated pulse' : ''">
<span>{{ '安全登录' }}</span>
</div>
- <div class="mes">
- <span>{{ '没有账户?' }}</span>
- <span @click="$router.push('/NewRegister')" style="color: rgb(54,124,248);">{{ '注册>' }}</span>
+ <div class="mes" @click="getApp()">
+ <span>{{ '忘记密码?' }}</span>
</div>
</div>
</div>
</div>
+ <div class="login_bom">
+
+ <div class="line">
+ <div class="left_line"></div>
+ <div class="center_line">
+ <span>{{ '其他登录方式' }}</span>
+ </div>
+ <div class="right_line"></div>
+ </div>
+ <div class="imgDemo">
+ <div class="appImg" @click="getApp()"><img src="@/assets/img/apple.png"/></div>
+ <div class="appImg" @click="getApp()"><img src="@/assets/img/google.png"/></div>
+ <div class="appImg" @click="getApp()"><img src="@/assets/img/facebook.png"/></div>
+ </div>
+ <div class="myzh"><span class="mes">没有账户?</span><span @click="$router.push('/register')" class="mes" style="color: rgb(54,124,248);">{{ '注册' }}</span> </div>
+ </div>
+ <el-alert
+ v-show="alertShow"
+ :closable="closable"
+ :title="texts"
+ type="warning" center></el-alert>
</div>
</template>
-
<script>
import { Toast } from 'mint-ui'
import headers from "./components/header.vue";
@@ -49,82 +72,128 @@
Logo,
userPassword: "",
userName: "",
- btnClass: false
+ btnClass: false,
+ medium: "medium",
+ alertShow:false,
+ closable:false,
+ texts:"",
+ dengl:false,
+ loginBtn:false,
};
},
components: {
headers
},
methods: {
+ getApp(){
+ // Toast('您所在的地区暂未开通此服务')
+ //Toast 弹窗大小
+ this.texts="您所在的地区暂未开通此服务"
+ this.alertShow=true
+ setTimeout(()=>{
+ this.alertShow=false
+ },2000)
+ },
handleInput() {
+ console.log(this.userPassword !== "" && this.userName !== '');
if (this.userPassword !== "" && this.userName !== '') {
this.btnClass = true;
} else {
this.btnClass = false;
}
},
- async loginIN () {
+ async loginIN() {
+
+ this.dengl=true
+ setTimeout(()=>{
+ this.dengl=false
+ },1000)
+ if(this.loginBtn){
+ return;
+ }
+ this.loginBtn = true;
let opts = {
phone: this.userName,
userPwd: this.userPassword
}
-
let data = await api.login(opts)
if (data.status === 0) {
this.$store.state.userInfo.phone = this.userName
this.$store.state.userInfo.token = data.data.token
window.localStorage.clear()
- window.localStorage.setItem("USERTOKEN",data.data.token);
+ window.localStorage.setItem("USERTOKEN", data.data.token);
this.$router.push('/home')
+ this.loginBtn = false;
} else {
- Toast(data.msg)
+ this.texts=data.msg
+ this.alertShow=true
+ this.loginBtn = false;
+ setTimeout(()=>{
+ this.alertShow=false
+ },2000)
+ //Toast(data.msg)
}
},
},
- beforeDestroy() {},
- created() {}
+ beforeDestroy() { },
+ created() { }
};
</script>
<style scoped lang="less">
.login_page {
+ position: relative;
+ background-color: #fff !important;
width: 100%;
height: 100%;
overflow: hidden;
overflow-y: auto;
}
+
.logins_content {
+
width: 100%;
height: 9.7436rem;
margin-top: 0.4359rem;
- padding: 0 0.2564rem;
+ padding: 0 0.4564rem;
+
.login_title {
width: 100%;
height: 2.0513rem;
display: flex;
- justify-content: center;
+
align-items: center;
- font-size: 0.6923rem;
- color: #fff;
+ font-size: 0.7023rem;
+ color: #000;
+ font-weight: 600 !important;
+
+ >span {
+ font-weight: 600 !important;
+ }
}
+
.login_forms {
width: 100%;
- height: 7.9231rem;
+ height: auto;
+ margin-top: 0.35rem;
.top_forms {
width: 100%;
- height: 4.5128rem;
+ height: auto;
display: flex;
align-items: center;
flex-wrap: wrap;
+
.user_name,
.password {
width: 100%;
height: 35%;
- background: #1e1e1e;
+ background: rgb(246, 246, 247);
+ // background: #1e1e1e;
border-radius: 0.3564rem;
- > input {
+
+ >input {
width: 100%;
height: 100%;
padding-left: 0.3564rem;
@@ -132,29 +201,43 @@
}
}
}
+
+ /deep/.el-input__inner {
+ width: 100%;
+ height: 1.45rem !important;
+ background-color: rgb(246, 246, 247) !important;
+ // background: #1e1e1e;
+ border-radius: 0.3564rem;
+ font-size: 0.45rem !important;
+ }
+
.bottom_btns {
width: 100%;
height: 3.3333rem;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- margin-top: 0.5128rem;
+ margin-top: 0.8528rem;
+
.top_btn {
width: 100%;
- height: 40%;
+ height: 1.25rem;
border-radius: 0.3564rem;
- background: rgb(131, 174, 243);
+ background: rgb(154,197,250);
+ color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.5128rem;
+ margin-top: 0.75rem;
+ >span {
+ font-weight: 530 !important;
+ }
}
- .top_btn.on {
- background: rgb(0, 71, 187);
- }
+
+
+
.mes {
width: 100%;
- height: 40%;
+ height: 20%;
+ margin-top: 0.4rem;
display: flex;
justify-content: flex-end;
align-items: center;
@@ -163,19 +246,137 @@
}
}
}
+.login_bom{
+ position: absolute;
+ bottom: 2.6rem;
+ width: 100%;
+ height: 4rem;
+ padding: 0 2rem;
+}
+ .line{
+ //分割线
+ width: 100%;
+ height: 0.3846rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 0.3846rem;
+ .left_line{
+ width: 20%;
+ height: 0.01rem;
+ background: #e5e5e5;
+ }
+ .center_line{
+ width: 50%;
+ height: 0.01rem;
+ background: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ >span{
+ font-size: 0.3046rem;
+ color: #000;
+ background-color: #fff;
+
+ }
+ }
+ .right_line{
+ width: 20%;
+ height: 0.01rem;
+ background: #e5e5e5;
+ }
+
+ }
+ .myzh{
+ width: calc(100% - 4rem);
+ position: absolute;
+ bottom: 0.01rem;
+ text-align: center;
+ .mes {
+ width: 100%;
+ height: 40%;
+
+ font-size: 0.3846rem;
+ }
+ }
+ .imgDemo{
+ display: flex;
+ justify-content: space-between;
+ position: relative;
+ transform:translateY(50%);
+ }
+ .appImg{
+ width: 1.4rem;
+ height: 1.4rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: rgb(246,246,247);
+ border-radius: 100%;
+ }
+ .appImg img{
+ width: 0.8rem;
+ height: 0.8rem;
+ }
+
.img_mess {
width: 100%;
height: 4.0513rem;
display: flex;
justify-content: center;
align-items: center;
+
.logo_content {
width: 3rem;
height: 3.5769rem;
- > img {
+
+ >img {
width: 100%;
height: 100%;
}
}
}
+/deep/.el-alert{
+ width: 70%!important;
+ height: 1rem!important;
+ position: absolute!important;
+ top: 0!important;
+ bottom: 0!important;
+ left: 0!important;
+ right: 0!important;
+ margin: auto!important;
+ font-size: 0.3rem!important;
+}
+/deep/.el-alert__title{
+ font-size: 0.3rem!important;
+}
+/deep/.el-input__suffix{
+ width: 1rem!important;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+/deep/.el-input__suffix-inner{
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+}
+/deep/.el-input__icon{
+ width: 1rem!important;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.on .top_btn {
+ background: #2d8cf0!important;
+ }
+ /deep/.el-icon-circle-close::before{
+ font-size: 0.5rem!important;
+
+ }
+/deep/.el-input__clear{
+ font-size: 0.5rem!important;
+}
</style>
--
Gitblit v1.9.3