Files
aida_front/src/views/LoginPage.vue

909 lines
26 KiB
Vue
Raw Normal View History

2023-01-06 16:00:15 +08:00
<template>
<div class="login_page">
<div class="page_content">
<img
class="login_logo"
src="@/assets/images/loginPage/aida_Logo_login.png"
/>
<!-- 账号密码和邮箱登录 start-->
<div class="login_content" v-if="isLogin === 1">
2023-07-26 15:54:34 +08:00
<div class="login_content_left">
<div class="login_type_list">
<div
:class="[
'login_type_item','username_login_item',
'login_active',
]"
>
Log on to AiDA
</div>
</div>
<!-- 账号密码登录 start -->
<!-- v-show="loginType == 'username'" -->
<div >
<div class="login_form_content" :state="emailStap">
<div class="login_form_title">Name</div>
<input
class="login_form_input"
placeholder="Enter your username"
v-model="username"
/>
<div class="login_form_title marign_top30">
<div>Password</div>
<!-- <div class="tip_content" @click="changeIsLogin(2)">
Forgot password
</div> -->
</div>
<div class="password_input_block">
<input
class="login_form_input"
:type="passwordType"
placeholder="Enter your password"
v-model="password"
@keydown.enter="submitPerLogin()"
/>
<div class="icon iconfont icon-yanjing_yincang_o password_show_icon" @click="changePasswordType()"></div>
</div>
<div class="login_form_title marign_top30">Email</div>
<input
class="login_form_input"
placeholder="Enter your email address"
v-model="email"
2023-11-03 11:16:42 +08:00
@keydown.enter="submitPerLogin()"
2023-07-26 15:54:34 +08:00
/>
<!-- 邮箱登录 start -->
<div class="login_form_email" :class="{active:emailStap===2}">
<!-- <div v-show="loginType == 'email'" class="login_form_email"> -->
<!-- <div v-show="emailStap === 1" class="forget_password_content">
<div class="forget_password_content_block" @click="changeLoginType('username')">
2023-12-15 11:10:32 +08:00
<span class="icon iconfont fi-br-arrow-left"></span
2023-07-26 15:54:34 +08:00
><span class="forget_password_content_title"
>Log on to AiDA</span
>
</div>
<div class="login_form_content">
<div class="login_form_title">Email</div>
<input
class="login_form_input"
placeholder="Enter your email address"
v-model="email"
@keydown.enter="emailNextStepFun()"
/>
</div>
<div
class="login_submit_button marign_top40"
@click="emailNextStepFun()"
>
Sign In
</div>
</div> -->
<div v-show="emailStap === 2" class="email_last_step">
<div class="email_last_step_block" >
<span class="email_last_step_content"
>Verify with one-time verification code</span
>
<i class="fi fi-br-cross email_last_step_block_icon" @click="emailLastStepFun()"></i>
</div>
<div class="email_last_step_bottom">
<div class="email_last_step_des">
<div class="sent_email_content">
Sent to {{ email }}
</div>
<div class="tip_content">
<span v-show="time">{{ time }}s</span>
<span v-show="!time" @click="emailNextStepFun()"
>Resend</span
>
</div>
</div>
<VerificationCodeInput
:ct="emailCode"
@sendCaptcha="submitEmailLogin($event)"
></VerificationCodeInput>
<div class="email_last_step_des">
<div class="sent_email_content email_tip_content">
Please check the junk box if you haven't received verification code
</div>
</div>
</div>
</div>
</div>
</div>
<div class="login_form_title marign_top30">
2023-11-03 11:16:42 +08:00
<label :class="{active:emailStap == 2}">
<input :state="emailStap" type="checkbox" v-model="checked">
<span>I agree to all Term, Privacy Policy and Fees</span>
</label>
2023-07-26 15:54:34 +08:00
</div>
<div
class="login_submit_button marign_top40" :state="emailStap"
@click="submitPerLogin()"
>
Sign In
</div>
<div class="login_text" >
<div class="forget_password_text" @click="changeIsLogin(2)">Forgot your password</div>
</div>
</div>
<!-- 账号密码登录 end -->
</div>
2023-01-06 16:00:15 +08:00
<!-- 邮箱登录 end -->
2023-09-25 10:09:00 +08:00
<div class="login_content_right">
2023-10-11 17:34:14 +08:00
<img
src="@/assets/images/loginPage/aida_logo_centent.jpg"
/>
<!-- <img src="https://www.aida.com.hk/download/aida_V2_images/image/login-right-image.jpg" alt=""> -->
2023-09-25 10:09:00 +08:00
</div>
2023-01-06 16:00:15 +08:00
</div>
<!-- 忘记密码 start -->
<div class="forget_password_content" v-else>
<div class="forget_password_content_block" @click="forgetPasswordLastStepFun()">
2023-12-15 11:10:32 +08:00
<!-- <span class="icon iconfont fi-br-arrow-left"></span
> -->
<i class="fi fi-br-arrow-left"></i>
<span class="forget_password_content_title"
2023-01-06 16:00:15 +08:00
>Retrieve password</span
>
</div>
<div v-show="frogetPasswordStep === 1">
<div class="forget_passored_form_content">
<div class="forget_passored_form_title">Email</div>
<input
class="forget_passored_form_input"
placeholder="Enter your email"
v-model="forgetPasswordEmail"
@keydown.enter="forgetPasswordNextStepFun()"
/>
</div>
<div
class="forget_submit_button marign_top40"
@click="forgetPasswordNextStepFun()"
>
Next step
</div>
</div>
<div v-show="frogetPasswordStep === 2">
<div class="forget_verif_code_des">Verification Code</div>
<div class="email_last_step_des">
<div class="sent_email_content">
Sent to {{ forgetPasswordEmail }}
</div>
<div class="tip_content">
<span v-show="time">{{ time }}s</span>
<span
v-show="!time"
@click="forgetPasswordNextStepFun()"
>Resend</span
>
</div>
</div>
<VerificationCodeInput
:ct="emailCode"
@sendCaptcha="submitPasswordCode($event)"
></VerificationCodeInput>
</div>
<div v-show="frogetPasswordStep === 3">
<div class="forget_passored_form_content">
<div class="forget_passored_form_title">Password</div>
<input
class="forget_passored_form_input"
placeholder="Enter a new password"
v-model="newPassword"
@keydown.enter="submitResetPassword()"
/>
</div>
<div
class="forget_submit_button marign_top40"
@click="submitResetPassword()"
>
Submit
</div>
</div>
</div>
<!-- 忘记密码 end -->
</div>
<div class="login_footer">
<div class="login_footer_item"><div class="login_footer_item_text">©2022 CodeCreate</div></div>
<div class="login_footer_item">
<div class="login_footer_item_text footer_item_text_pointer" @click="turnToWindow('https://code-create.com.hk/aida-terms-and-conditions/')">Terms&Conditions</div>
<div class="login_footer_line"></div>
<div class="login_footer_item_text footer_item_text_pointer" @click="turnToWindow('https://code-create.com.hk/aida-subscription-agreement/')">Privacy Policy</div>
</div>
</div>
</div>
</template>
<script lang="ts">
2023-07-26 15:54:34 +08:00
import { defineComponent,ref ,onMounted} from "vue";
2023-01-06 16:00:15 +08:00
import { Https } from "@/tool/https";
import { isEmail } from "@/tool/util";
import { setCookie } from "@/tool/cookie";
import { message } from "ant-design-vue";
import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue";
2023-11-09 16:55:20 +08:00
import { useI18n } from "vue-i18n";
2023-01-06 16:00:15 +08:00
const md5 = require("md5");
export default defineComponent({
components: {
VerificationCodeInput,
},
setup(){
2023-07-26 15:54:34 +08:00
let timer:any = 0;
2023-11-09 16:55:20 +08:00
const {locale} = useI18n()
2023-07-26 15:54:34 +08:00
2023-01-06 16:00:15 +08:00
return{
2023-11-09 16:55:20 +08:00
timer,
locale
2023-01-06 16:00:15 +08:00
}
},
2023-07-26 15:54:34 +08:00
2023-01-06 16:00:15 +08:00
data() {
return {
2023-07-26 15:54:34 +08:00
checked:false,
2023-01-06 16:00:15 +08:00
isLogin: 1, //是否为登录 1-登录, 2-忘记密码
loginType: "username",
emailStap: 1, // 邮箱登录步骤
emailCode: ["", "", "", "", "", ""], //邮箱验证码
emailNextStep: true,
username: "",
password: "",
email: "", //邮箱登录邮箱
frogetPasswordStep: 1, //忘记密码的步骤
forgetPasswordEmail: "",
forgetEmailCode: ["", "", "", "", "", ""], //忘记密码的邮箱验证码
forgetEmailValue: "", //忘记密码的邮箱验证码保存值
newPassword: "", //新密码
isCheckRobot: false,
time: 60, //60秒倒计时
passwordType:'password',
userId:'',
2023-09-12 10:11:27 +08:00
loginTime:true
2023-01-06 16:00:15 +08:00
};
},
methods: {
changeLoginType(type: string) {
this.loginType = type;
},
//是否忘记密码页面
changeIsLogin(isLogin: number) {
if (isLogin === 1) {
//登录
this.forgetPasswordEmail = "";
this.frogetPasswordStep = 1;
this.forgetEmailCode = ["", "", "", "", "", ""];
this.emailStap = 1;
this.clearTimer();
} else {
this.username = "";
this.password = "";
}
this.isLogin = isLogin;
},
//邮箱登录的下一步
emailNextStepFun() {
if (!isEmail(this.email)) {
2023-11-16 17:23:17 +08:00
message.info("The email format is incorrect");
2023-01-06 16:00:15 +08:00
return;
}
let data = {
email: this.email,
operationType: "LOGIN",
};
Https.axiosPost(Https.httpUrls.accountSendEmail, data).then(
(rv: any) => {
if (rv) {
this.emailStap = 2;
this.time = 60;
this.emailCode = ["", "", "", "", "", ""]
this.createTimer();
}
}
);
},
//邮箱登录的上一步
emailLastStepFun() {
this.emailStap = 1;
2023-07-26 15:54:34 +08:00
this.username = "",
this.password = "",
2023-01-06 16:00:15 +08:00
this.email = "";
2023-07-26 15:54:34 +08:00
this.checked=false,
this.loginType = "username",
2023-01-06 16:00:15 +08:00
(this.emailCode = ["", "", "", "", "", ""]), this.clearTimer();
},
//忘记密码的下一步
forgetPasswordNextStepFun() {
if (!isEmail(this.forgetPasswordEmail)) {
2023-11-16 17:23:17 +08:00
message.info("The email format is incorrect");
2023-01-06 16:00:15 +08:00
return;
}
let data = {
email: this.forgetPasswordEmail,
operationType: "FORGET_PWD",
};
Https.axiosPost(Https.httpUrls.accountSendEmail, data).then(
(rv: any) => {
if (rv) {
this.frogetPasswordStep = 2;
(this.forgetEmailCode = ["", "", "", "", "", ""]),
this.createTimer();
}
}
);
},
//忘记密码的上一步
forgetPasswordLastStepFun() {
if (this.frogetPasswordStep === 1) {
this.changeIsLogin(1);
} else {
this.frogetPasswordStep = this.frogetPasswordStep - 1;
this.forgetPasswordEmail = "";
(this.forgetEmailCode = ["", "", "", "", "", ""]),
this.clearTimer();
}
},
//忘记密码填写完邮箱验证码进行下一步
submitPasswordCode(emailVerifyCode: any) {
2023-12-22 15:42:41 +08:00
// console.log(123123);
let data = {
email: this.forgetPasswordEmail,
emailVerifyCode: emailVerifyCode,
password: '',
verifyEmail:true,
};
Https.axiosPost(Https.httpUrls.accountResetPwd, data).then(
(rv: any) => {
if (rv) {
this.forgetEmailValue = emailVerifyCode;
this.frogetPasswordStep = 3;
this.clearTimer();
}
}
);
2023-01-06 16:00:15 +08:00
},
//改变勾选是否是机器人
checkRobot() {
this.isCheckRobot = !this.isCheckRobot;
},
//提交账号密码预先登录
submitPerLogin() {
2023-07-26 15:54:34 +08:00
//输入账号密码
if(this.emailStap>=2){
return;
}else{
2023-11-03 11:16:42 +08:00
if (!this.username || !this.password) {
2023-11-16 17:23:17 +08:00
message.info("Please enter your account number or password");
2023-11-03 11:16:42 +08:00
return;
}
//输入邮箱
if (!this.email) {
2023-11-16 17:23:17 +08:00
message.info("Please enter your email address");
2023-11-03 11:16:42 +08:00
return;
}
//判断邮箱格式是否正确
if (!isEmail(this.email)) {
2023-11-16 17:23:17 +08:00
message.info("The email format is incorrect");
2023-11-03 11:16:42 +08:00
return;
}
//判断是否同意隐私政策
if (!this.checked) {
2023-11-16 17:23:17 +08:00
message.info("Agree to all terms, privacy fees and policies");
2023-11-03 11:16:42 +08:00
return;
}
let data = {
password: md5(this.password + "abc"),
userName: this.username,
email: this.email,
operationType:"LOGIN",
ip:"",
};
// this.loginType = 'email'
if(this.loginTime){
this.loginTime = false
Https.axiosPost(Https.httpUrls.preLogin, data).then(
(rv: any) => {
// if (rv) {
// this.loginType = 'email'
// }
2023-12-19 16:36:48 +08:00
this.emailStap = 2;
2023-11-03 11:16:42 +08:00
if (rv) {
this.userId = rv.userId
this.loginType = 'email'
this.time = 60;
this.emailCode = ["", "", "", "", "", ""]
this.createTimer();
}
}
).catch(res=>{
this.emailStap = 1;
2023-11-20 09:47:10 +08:00
});
2023-11-03 11:16:42 +08:00
setTimeout(() => {
this.loginTime = true
}, 2000);
}
2023-08-05 12:52:56 +08:00
2023-07-26 15:54:34 +08:00
}
2023-01-06 16:00:15 +08:00
},
changePasswordType(){
this.passwordType = this.passwordType === 'password' ? 'text' : 'password'
},
//邮箱登录提交
submitEmailLogin(emailVerifyCode: any) {
let data = {
email: this.email,
emailVerifyCode: emailVerifyCode,
loginType: "EMAIL",
userId:this.userId
};
Https.axiosPost(Https.httpUrls.accountLogin, data).then(
(rv: any) => {
if (rv) {
this.createTimer();
2023-11-30 10:54:22 +08:00
let isTest = rv.isTrial == 1?true:false
let isBeginner = rv.isBeginner == 1?true:false
2023-01-06 16:00:15 +08:00
let token = rv.token;
setCookie("token", token);
2023-11-16 09:44:53 +08:00
setCookie("isTest", isTest);
2023-12-14 12:03:13 +08:00
setCookie("isBeginner", isBeginner);
2024-01-05 14:12:03 +08:00
setCookie("isBeginnerNum", 0);//从第一步开始,机器人开始的话就是从第二部开始
2023-01-06 16:00:15 +08:00
setCookie("userInfo", JSON.stringify(rv));
this.turnToHomePage();
sessionStorage.setItem('isTimeOne', JSON.stringify(false));//是否需要公告 提示 弹窗
let randomNum:any = Math.floor(Math.random() * 9000000000000000) + 1000000000000000;
sessionStorage.setItem('sessionId', randomNum);
2023-01-06 16:00:15 +08:00
}
}
2023-11-20 09:47:10 +08:00
).catch(res=>{
});
2023-01-06 16:00:15 +08:00
},
//修改密码提交
submitResetPassword() {
let data = {
email: this.forgetPasswordEmail,
emailVerifyCode: this.forgetEmailValue,
password: md5(this.newPassword + "abc"),
2023-12-22 15:42:41 +08:00
verifyEmail:false,
2023-01-06 16:00:15 +08:00
};
Https.axiosPost(Https.httpUrls.accountResetPwd, data).then(
(rv: any) => {
if (rv) {
message.success("Changing the password successfully");
this.changeIsLogin(1);
}
}
);
},
//创建定时器
createTimer() {
this.timer = setInterval(() => {
this.time--;
if (!this.time) {
clearInterval(this.timer);
}
}, 1000);
},
//清除定时器
clearTimer() {
this.time = 60;
if (this.timer) {
clearInterval(this.timer);
}
},
//跳转到首页
turnToHomePage() {
2023-11-09 16:55:20 +08:00
this.getLang()
2023-01-06 16:00:15 +08:00
this.$router.push("/home");
},
2023-11-09 16:55:20 +08:00
//获取当前语言
getLang(){
2023-11-13 17:33:41 +08:00
let data ={}
2023-11-09 16:55:20 +08:00
Https.axiosPost(Https.httpUrls.getUserLanguage, data).then(
(rv: any) => {
if (rv) {
this.locale = rv
}
}
);
},
2023-01-06 16:00:15 +08:00
turnToWindow(url: any) {
window.open(url);
},
},
});
</script>
<style lang="less" scoped>
.login_page {
width: 100%;
height: 100%;
.page_content {
// position: relative;
.login_logo {
position: absolute;
left: 4rem;
top: 2.5rem;
width: 11rem;
}
.login_content {
2023-07-26 15:54:34 +08:00
2023-01-06 16:00:15 +08:00
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
2023-07-26 15:54:34 +08:00
// width: 60rem;
2024-01-10 09:34:32 +08:00
width: 150rem;
2023-01-06 16:00:15 +08:00
background: #FFFFFF;
2023-07-26 15:54:34 +08:00
// box-shadow: -0.3rem 2rem 5.9rem 0px rgba(200,200,200,0.3);
2023-01-06 16:00:15 +08:00
border-radius: 1rem;
padding: 3rem 6rem 6.5rem;
box-sizing: border-box;
2023-07-26 15:54:34 +08:00
display: flex;
justify-content: space-between;
align-items: center;
.login_content_left{
2023-09-25 10:09:00 +08:00
width: 40%;
2023-07-26 15:54:34 +08:00
.login_form_email{
position: absolute;
left: 0;
width: 100%;
height: 100%;
top: 0;
background: #fff;
transform: scale(0);
transition: .3s all;
border: 2px solid;
border-radius: 20px;
.email_last_step{
width: 100%;
height: 100%;
#app{
height: auto;
}
}
}
.active{
transform: scale(1);
}
}
.login_content_right{
width: 40%;
img{
width: 100%;
}
}
2023-01-06 16:00:15 +08:00
.login_type_list {
width: 100%;
display: flex;
.login_type_item {
text-align: center;
2024-01-09 17:24:01 +08:00
font-size: calc(3.6*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #D7D7D7;
cursor: pointer;
2024-01-09 17:24:01 +08:00
height: 3rem;
line-height: 3rem;
2023-01-06 16:00:15 +08:00
&.login_active {
color: #030303;
}
}
}
2023-07-26 15:54:34 +08:00
.login_form_title {
2024-01-09 17:24:01 +08:00
font-size: calc(1.6*.8rem);
2023-07-26 15:54:34 +08:00
// color: #666666;
font-weight: 900;
color: #000;
2023-01-06 16:00:15 +08:00
display: flex;
justify-content: space-between;
box-sizing: border-box;
2023-07-26 15:54:34 +08:00
label{
display: flex;
span{
2024-01-09 17:24:01 +08:00
font-size: calc(1.6*.8rem);
2023-07-26 15:54:34 +08:00
margin-left: 10px;
font-weight: normal;
}
2023-11-03 11:16:42 +08:00
&.active{
pointer-events:none;
input{
pointer-events:none;
}
}
2023-07-26 15:54:34 +08:00
}
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
.login_form_content {
margin-top: 4rem;
position: relative;
&[state="2"]{
>*{
opacity: 0;
}
.login_form_email{
opacity: 1;
}
}
2023-01-06 16:00:15 +08:00
.password_input_block{
position: relative;
.password_show_icon{
position: absolute;
2024-01-09 17:24:01 +08:00
font-size: calc(2.4*.8rem);
2023-01-06 16:00:15 +08:00
right: 2rem;
top:1.7rem;
cursor: pointer;
}
}
.login_form_input {
width: 100%;
2024-01-09 17:07:09 +08:00
height: 4rem;
2023-01-06 16:00:15 +08:00
margin-top: 1rem;
border: 0.1rem solid #DFDFDF;
border-radius: 2.5rem;
padding-left: 2.1rem;
2024-01-09 17:24:01 +08:00
line-height: 4rem;
font-size: calc(1.4*.8rem);
2023-01-06 16:00:15 +08:00
box-sizing: border-box;
outline: none;
&::placeholder {
color: #a5b0c2;
}
}
}
.email_last_step {
2023-07-26 15:54:34 +08:00
// margin-top: 4rem;
.email_last_step_bottom{
padding: 0 40px;
}
2023-01-06 16:00:15 +08:00
.email_last_step_block{
2023-07-26 15:54:34 +08:00
padding: 10px;
border-bottom: 2px solid;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
.email_last_step_content {
margin-left: 1rem;
2024-01-09 17:24:01 +08:00
font-size: calc(2.2*.8rem);
2023-07-26 15:54:34 +08:00
font-weight: bold;
color: #030303;
}
.email_last_step_block_icon{
cursor: pointer;
margin-right: 1rem;
height: 20px;
}
2023-01-06 16:00:15 +08:00
}
2023-12-15 11:10:32 +08:00
.fi-br-arrow-left {
2024-01-09 17:24:01 +08:00
font-size: calc(2.5*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #030303;
2023-12-15 11:10:32 +08:00
transform: translateY(1rem);
display: inline-block;
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
2023-01-06 16:00:15 +08:00
}
.login_submit_button {
2024-01-09 17:07:09 +08:00
height: 4rem;
2023-07-26 15:54:34 +08:00
background: #000;
2023-01-06 16:00:15 +08:00
border-radius: 2.5rem;
2024-01-09 17:07:09 +08:00
line-height: 4rem;
2023-01-06 16:00:15 +08:00
text-align: center;
2024-01-09 17:24:01 +08:00
font-size: calc(1.8*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: 500;
color: #ffffff;
cursor: pointer;
2023-07-26 15:54:34 +08:00
&[state="2"]{
cursor: not-allowed;
}
2023-01-06 16:00:15 +08:00
}
.login_text {
2024-01-09 17:24:01 +08:00
font-size: calc(1.6*.8rem);
2023-01-06 16:00:15 +08:00
margin-top: 4rem;
color: #151515;
display: flex;
justify-content: flex-end;
.forget_password_text{
cursor: pointer;
}
}
}
.forget_password_content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 60rem;
background: #FFFFFF;
box-shadow: -0.3rem 2rem 5.9rem 0px rgba(200,200,200,0.3);
border-radius: 1rem;
padding: 3rem 6rem 6.5rem;
box-sizing: border-box;
.forget_password_content_block{
cursor: pointer;
}
2023-12-15 11:10:32 +08:00
.fi-br-arrow-left {
2024-01-09 17:24:01 +08:00
font-size: calc(3.8*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #030303;
2023-12-15 11:10:32 +08:00
transform: translateY(1rem);
display: inline-block;
2023-01-06 16:00:15 +08:00
}
.forget_password_content_title {
2024-01-09 17:24:01 +08:00
font-size: calc(3.2*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #030303;
margin-left: 2rem;
}
.forget_passored_form_content {
margin-top: 3.5rem;
.forget_passored_form_title {
2024-01-09 17:24:01 +08:00
font-size: calc(2.4*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #030303;
display: flex;
justify-content: space-between;
box-sizing: border-box;
}
.forget_passored_form_input {
width: 100%;
2024-01-09 17:24:01 +08:00
height: 4rem;
2023-01-06 16:00:15 +08:00
margin-top: 1rem;
border: 0.1rem solid #DFDFDF;
border-radius: 2.5rem;
padding-left: 2.1rem;
2024-01-09 17:24:01 +08:00
line-height: 4rem;
font-size: calc(1.4*.8rem);
2023-01-06 16:00:15 +08:00
box-sizing: border-box;
outline: none;
&::placeholder {
color: #a5b0c2;
}
}
}
.forget_verif_code_des {
2024-01-09 17:24:01 +08:00
font-size: calc(2.4*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #030303;
margin-top: 3.5rem;
}
.forget_submit_button {
2024-01-09 17:24:01 +08:00
height: 4rem;
2023-07-26 15:54:34 +08:00
background: #000;
2023-01-06 16:00:15 +08:00
border-radius: 2.5rem;
2024-01-09 17:24:01 +08:00
line-height: 4rem;
2023-01-06 16:00:15 +08:00
text-align: center;
2024-01-09 17:24:01 +08:00
font-size: calc(1.8*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: 500;
color: #ffffff;
cursor: pointer;
}
}
}
.login_footer{
position: absolute;
display: flex;
align-items: center;
justify-content: space-between;
left: 0;
bottom: 3.5rem;
width: 100%;
padding: 0 4rem;
.login_footer_item{
display: flex;
align-items: center;
.login_footer_item_text{
2024-01-09 17:24:01 +08:00
font-size: calc(1.3*.8rem);
2023-01-06 16:00:15 +08:00
color: #151515;
}
.footer_item_text_pointer{
cursor: pointer;
}
.login_footer_line{
width: 0.1rem;
height: 2rem;
margin: 0 2rem;
background: #B9B9B9;
}
}
}
.marign_top20 {
2024-01-09 17:24:01 +08:00
margin-top: 1rem;
2023-01-06 16:00:15 +08:00
}
.marign_top22 {
2024-01-09 17:24:01 +08:00
margin-top: 1.2rem;
2023-01-06 16:00:15 +08:00
}
.marign_top30 {
2024-01-10 09:34:32 +08:00
margin-top: 3rem;
2023-01-06 16:00:15 +08:00
}
.marign_top40 {
2024-01-10 09:34:32 +08:00
margin-top: 4rem;
2023-01-06 16:00:15 +08:00
}
.tip_content {
2024-01-09 17:24:01 +08:00
font-size: calc(1.3*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #343579;
cursor: pointer;
}
.email_last_step_des {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 4rem;
margin-bottom: 2rem;
.sent_email_content {
2024-01-09 17:24:01 +08:00
font-size: calc(1.8*.8rem);
2023-01-06 16:00:15 +08:00
font-weight: bold;
color: #a5b0c2;
}
.email_tip_content{
2024-01-09 17:24:01 +08:00
font-size: calc(1.4*.8rem);
2023-01-06 16:00:15 +08:00
color: #030303;
}
}
}
</style>