From 289948f53b5e0b00a656d60c08efbff0eb05fa90 Mon Sep 17 00:00:00 2001
From: dcc <dcc@163.com>
Date: Thu, 16 May 2024 15:37:05 +0800
Subject: [PATCH] 提款更改
---
src/page/login/login.vue | 399 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 325 insertions(+), 74 deletions(-)
diff --git a/src/page/login/login.vue b/src/page/login/login.vue
index e0cfe8b..e99e719 100644
--- a/src/page/login/login.vue
+++ b/src/page/login/login.vue
@@ -1,129 +1,242 @@
<template>
<div class="login_page">
- <headers :mess="loginWay" />
- <div class="img_mess">
- <div class="logo_content animated fadeInRight">
- <img :src="Logo" alt />
- </div>
+ <headers />
+ <div class="login_title animated slideInDown">
+ <span>{{ $t("登錄賬號") }}</span>
</div>
<div class="logins_content">
- <div class="login_title animated slideInDown">
- <span>{{ '邮箱登录' }}</span>
- </div>
<div class="login_forms">
<div class="top_forms">
- <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>
+ <el-input
+ :placeholder="$t('hj9')"
+ :size="medium"
+ v-model="userName"
+ clearable
+ >
+ </el-input>
+ <el-input
+ style="margin-top: 0.46rem"
+ show-password
+ :placeholder="$t('hj10')"
+ :size="medium"
+ v-model="userPassword"
+ @input="handleInput()"
+ >
+ </el-input>
</div>
<div class="bottom_btns">
- <div class="top_btn" @click="loginIN" :class="btnClass ? 'on' : 'off'">
- <span>{{ '安全登录' }}</span>
- </div>
- <div class="mes">
- <span>{{ '没有账户?' }}</span>
- <span @click="$router.push('/NewRegister')" style="color: rgb(54,124,248);">{{ '注册>' }}</span>
+ <van-button
+ type="info"
+ :disabled="!btnClass"
+ class="butn"
+ @click="loginIN"
+ >{{ $t("立即登录") }}</van-button
+ >
+ <div class="password-operate" data-v-8cc76a7b="">
+ <div class="forget" data-v-8cc76a7b="" @click="getApp()">
+ {{ $t("hj12") }}
+ </div>
+ <div class="remember" data-v-8cc76a7b="">
+ <van-checkbox @change="checkboxChange" v-model="checked">{{
+ $t("記住帳戶密碼")
+ }}</van-checkbox>
+ </div>
</div>
</div>
+ </div>
+
+ <div class="register" data-v-8cc76a7b="">
+ {{ $t("還沒賬號?")
+ }}<span
+ @click="$router.push('/register')"
+ data-v-8cc76a7b=""
+ style="color: rgb(5, 106, 239)"
+ >{{ $t("免費註冊") }}</span
+ >
</div>
</div>
</div>
</template>
-
<script>
-import { Toast } from 'mint-ui'
import headers from "./components/header.vue";
-import Logo from "@/assets/img/LOGO2.png";
-import * as api from '@/axios/api';
+import * as api from "@/axios/api";
+import { Notify } from "vant";
+import { mapActions, mapMutations } from "vuex";
export default {
name: "newLogin",
data() {
return {
- loginWay: "手机号登录",
+ checked: false,
+ loginWay: this.$t("hj8"),
currentLoginMode: "email",
- placeholder: "电子邮箱",
- Logo,
+ placeholder: this.$t("hj16"),
userPassword: "",
userName: "",
- btnClass: false
+ btnClass: false,
+ medium: "medium",
};
},
components: {
- headers
+ headers,
},
+ mounted() {
+ const ret = window.localStorage.getItem("login_admin");
+ this.checked = window.localStorage.getItem("login_checked") === "true";
+ if (ret && this.checked) {
+ this.userPassword = JSON.parse(ret).userPassword;
+ this.userName = JSON.parse(ret).phone;
+ this.btnClass = true;
+ }
+ },
+
methods: {
+ ...mapActions(["setUseInfo"]),
+ ...mapMutations(["undataToken"]),
+ checkboxChange(e) {
+ window.localStorage.setItem("login_checked", e);
+ },
+ getApp() {
+ // Toast('您所在的地区暂未开通此服务')
+ //Toast 弹窗大小
+ Notify({ type: "warning", message: this.$t("hj17") });
+ },
handleInput() {
- if (this.userPassword !== "" && this.userName !== '') {
+ if (this.userPassword !== "" && this.userName !== "") {
this.btnClass = true;
} else {
this.btnClass = false;
}
},
- async loginIN () {
+ async loginIN() {
let opts = {
phone: this.userName,
- userPwd: this.userPassword
- }
+ userPwd: this.userPassword,
+ };
+ let data = await api.login(opts);
- 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
+ this.setUseInfo();
+ if (this.checked) {
+ window.localStorage.setItem(
+ "login_admin",
+ JSON.stringify({
+ phone: this.userName,
+ userPassword: this.userPassword,
+ })
+ );
+ } else {
+ window.localStorage.setItem("login_admin", "");
+ }
+ this.$store.state.userInfo.phone = this.userName;
+ this.$store.state.userInfo.token = data.data.token;
+ this.undataToken(data.data.token);
+ window.localStorage.setItem("USERTOKEN", data.data.token);
+ Notify({ type: "success", message: this.$t("hj36") });
- window.localStorage.clear()
- window.localStorage.setItem("USERTOKEN",data.data.token);
- this.$router.push('/home')
+ setTimeout(() => {
+ this.$router.push("/home");
+ }, 1000);
} else {
- Toast(data.msg)
+ Notify({ type: "warning", message: data.msg });
}
-
+ if (navigator.vibrate) {
+ // 支持
+ navigator.vibrate([55]);
+ }
},
},
beforeDestroy() {},
- created() {}
+ created() {},
};
</script>
<style scoped lang="less">
-.login_page {
- width: 100%;
- height: 100%;
- overflow: hidden;
- overflow-y: auto;
+.password-operate {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 0.53333rem;
+ .forget {
+ font-style: normal;
+ font-weight: 400;
+ font-size: 0.37333rem;
+ line-height: 0.53333rem;
+ color: #8c9fad;
+ }
}
+
+.register {
+ font-style: normal;
+ font-weight: 400;
+ font-size: 0.37333rem;
+ color: #8c9fad;
+ margin: 0 auto;
+ padding: 0.34667rem 0.4rem;
+ span {
+ color: rgb(5, 106, 239);
+ }
+}
+.login_title {
+ font-family: "DINPro", serif;
+ font-style: normal;
+ font-weight: 500;
+ font-size: 0.48rem;
+ line-height: 0.66667rem;
+ color: #14181f;
+ margin-left: 0.53333rem;
+}
+/deep/ .van-checkbox__label {
+ font-style: normal;
+ font-weight: 400;
+ font-size: 0.37333rem;
+ line-height: 0.53333rem;
+ color: #8c9fad;
+}
+/deep/ .van-button__text {
+ font-size: 24px;
+ font-family: "DINPro";
+}
+.login_page {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+}
+
.logins_content {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
width: 100%;
height: 9.7436rem;
margin-top: 0.4359rem;
- padding: 0 0.2564rem;
- .login_title {
- width: 100%;
- height: 2.0513rem;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 0.6923rem;
- color: #fff;
- }
+ background: #fff;
+ // padding: 0 0.4564rem;
+
.login_forms {
width: 100%;
- height: 7.9231rem;
+
+ border-top-left-radius: 0.26667rem;
+ border-top-right-radius: 0.26667rem;
+ padding: 0.34667rem 0.4rem;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+
.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;
+ height: 50px;
+ background: rgb(246, 246, 247);
+ // background: #1e1e1e;
border-radius: 0.3564rem;
+
> input {
width: 100%;
height: 100%;
@@ -132,29 +245,49 @@
}
}
}
+
+ /deep/.el-input__inner {
+ width: 100%;
+ height: 70px;
+ background-color: rgb(246, 246, 247) !important;
+ // background: #1e1e1e;
+ border-radius: 8px;
+ font-size: 0.45rem !important;
+ border: none;
+ }
+
.bottom_btns {
width: 100%;
height: 3.3333rem;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- margin-top: 0.5128rem;
- .top_btn {
+ // margin-top: 0.8528rem;
+ .butn {
width: 100%;
- height: 40%;
- border-radius: 0.3564rem;
- background: rgb(131, 174, 243);
+ margin-top: 40px;
+ height: 60px;
+ border-radius: 8px;
+ }
+ .top_btn {
+ border: none;
+ width: 100%;
+ height: 1.25rem;
+ border-radius: 8px;
+ background: #0066ed;
+ 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%;
+ // width: 100%;
+ height: 20%;
+ margin-top: 0.4rem;
display: flex;
justify-content: flex-end;
align-items: center;
@@ -163,19 +296,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;
+ display: flex;
+ align-items: 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 {
width: 100%;
height: 100%;
}
}
}
+
+/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