Files
aida_front/src/component/HomePage/Header.vue

656 lines
19 KiB
Vue
Raw Normal View History

2023-01-06 16:00:15 +08:00
<template>
2023-10-11 17:34:14 +08:00
<div class="header_max">
2023-01-06 16:00:15 +08:00
<header class="header_component">
<div class="header_right_content">
2023-09-25 10:09:00 +08:00
<div class="header_user_icon"></div>
<!-- <div class="header_icon icon iconfont icon-touxiang3"></div> -->
2023-01-06 16:00:15 +08:00
<div class="header_user_content">
2023-10-30 17:26:36 +08:00
<div class="username"><span>/</span> {{$t('Header.hello')}}@{{ userInfo?.userName }}</div>
2023-10-11 17:34:14 +08:00
<div
2023-07-26 15:54:34 +08:00
:class="[
'icon',
'iconfont',
'icon-xiala',
isShowOperate ? 'icon_rotate' : '',
]"
@click.stop="changeShowOperateContent()"
2023-10-11 17:34:14 +08:00
></div>
2023-01-06 16:00:15 +08:00
</div>
</div>
2023-07-26 15:54:34 +08:00
<nav class="header_nav_content">
<div
:class="[
'nav_item',
$route.name === 'home' ? 'select_nav' : '',
]"
@click="turnToPage('home')"
>
2023-10-30 17:26:36 +08:00
{{$t('Header.HOME')}}
2023-07-26 15:54:34 +08:00
</div>
<div
:class="[
'nav_item',
$route.name === 'library' ? 'select_nav' : '',
]"
@click="turnToPage('library')"
>
2023-10-30 17:26:36 +08:00
{{$t('Header.LIBRARY')}}
2023-07-26 15:54:34 +08:00
</div>
<div
:class="[
'nav_item',
$route.name === 'history' ? 'select_nav' : '',
]"
@click="turnToPage('history')"
>
2023-10-30 17:26:36 +08:00
{{$t('Header.HISTORY')}}
2023-07-26 15:54:34 +08:00
</div>
</nav>
<div class="header_right">
<img
class="header_logo"
@click="turnToNewPage('https://www.aidlab.hk/en/')"
src="@/assets/images/loginPage/aida_logo.png"
/>
<Habit></Habit>
</div>
2023-01-06 16:00:15 +08:00
</header>
2023-10-11 17:34:14 +08:00
<nav class="select_block" v-show="isShowOperate">
2023-11-01 09:30:52 +08:00
<!-- <div class="select_item" @click="showBindEmailModal()">
2023-10-30 17:26:36 +08:00
<span class="icon iconfont icon-youxiang"></span><span class="select_item_des">{{$t('Header.bindEmail')}}</span>
2023-11-01 09:30:52 +08:00
</div> -->
2023-11-02 11:00:38 +08:00
<div class="select_item" @click.stop="isLanguage = !isLanguage">
<span class="icon iconfont icon-yuyan"></span>
<span class="select_item_des">{{$t('Header.language')}}</span>
</div>
2023-10-11 17:34:14 +08:00
<div class="select_item" @click="logout()">
<span class="icon iconfont icon-tuichu"></span
2023-10-30 17:26:36 +08:00
><span class="select_item_des">{{$t('Header.logOff')}}</span>
2023-10-11 17:34:14 +08:00
</div>
2023-11-02 11:00:38 +08:00
2023-10-11 17:34:14 +08:00
</nav>
2023-11-02 11:00:38 +08:00
<ul class="select_block select_list" v-show="isLanguage && isShowOperate">
<li class="select_item" v-for="item in language" @click="setLocale(item.value)">
<span class="select_item_des">{{ item.name }}</span>
</li>
</ul>
2023-07-26 15:54:34 +08:00
<a-modal
class="modal_component"
v-model:visible="bindEmailVisible"
:footer="null"
2023-01-06 16:00:15 +08:00
title="Mailbox binding"
width="56rem"
:maskClosable="false"
:centered="true"
>
<template #closeIcon v-if="!isHaveBindEmail && bindEmailStep === 1">
2023-10-30 17:26:36 +08:00
<div class="skip_content">{{$t('Header.skip')}}</div>
2023-01-06 16:00:15 +08:00
</template>
<div class="bind_email_content" v-if="isHaveBindEmail">
2023-10-30 17:26:36 +08:00
<div class="bind_email_tip">{{$t('Header.emailContent')}}</div>
2023-07-26 15:54:34 +08:00
<div class="bind_email">{{ userInfo.email }}</div>
2023-01-06 16:00:15 +08:00
</div>
2023-07-26 15:54:34 +08:00
<div class="bind_email_content" v-else>
2023-01-06 16:00:15 +08:00
<!-- 绑定邮箱第一步 start -->
<div v-show="bindEmailStep === 1">
<div class="bind_email_form_content">
2023-10-30 17:26:36 +08:00
<div class="bind_email_form_title">{{$t('Header.Email')}}</div>
2023-07-26 15:54:34 +08:00
<input
class="bind_email_form_input"
placeholder="Enter a new email"
v-model="email"
@keydown.enter="emailNextStepFun()"
/>
</div>
<div
class="bind_email_submit_button"
@click="emailNextStepFun()"
>
2023-10-30 17:26:36 +08:00
{{$t('Header.NextStep')}}
2023-01-06 16:00:15 +08:00
</div>
</div>
<!-- 绑定邮箱第一步 end -->
<!-- 绑定邮箱第二步 start -->
<div v-show="bindEmailStep === 2">
<div @click="emailLastStepFun()">
2023-07-26 15:54:34 +08:00
<span class="icon iconfont icon--shangyibu"></span
><span class="email_last_step_content"
2023-10-30 17:26:36 +08:00
>{{$t('Header.verification')}}</span
2023-07-26 15:54:34 +08:00
>
2023-01-06 16:00:15 +08:00
</div>
<div class="email_last_step_des">
2023-07-26 15:54:34 +08:00
<div class="sent_email_content">
2023-10-30 17:26:36 +08:00
{{$t('Header.SentTo')}} {{ email }}
2023-07-26 15:54:34 +08:00
</div>
2023-01-06 16:00:15 +08:00
<div class="tip_content">
2023-07-26 15:54:34 +08:00
<span v-show="time">{{ time }}s</span>
<span v-show="!time" @click="emailNextStepFun()"
2023-10-30 17:26:36 +08:00
>{{$t('Header.Resend')}}Resend</span
2023-07-26 15:54:34 +08:00
>
2023-01-06 16:00:15 +08:00
</div>
</div>
2023-07-26 15:54:34 +08:00
<VerificationCodeInput
:ct="emailCode"
@sendCaptcha="submitBindEmail($event)"
></VerificationCodeInput>
2023-01-06 16:00:15 +08:00
</div>
<!-- 绑定邮箱第一步 end -->
</div>
</a-modal>
</div>
</template>
<script >
2023-07-26 15:54:34 +08:00
import { defineComponent, createVNode } from "vue";
import { isEmail } from "@/tool/util";
import { setCookie, getCookie, WriteCookie } from "@/tool/cookie";
import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue";
import Habit from "@/component/Detail/habit.vue";
2023-01-06 16:00:15 +08:00
import { Https } from "@/tool/https";
2023-07-26 15:54:34 +08:00
import { Modal, message } from "ant-design-vue";
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
2023-10-30 17:26:36 +08:00
import { useI18n } from "vue-i18n";
2023-01-06 16:00:15 +08:00
export default defineComponent({
2023-07-26 15:54:34 +08:00
components: {
VerificationCodeInput,
Habit,
},
2023-10-30 17:26:36 +08:00
setup(){
const {t} = useI18n()
2023-11-01 09:30:52 +08:00
const {locale} = useI18n()
2023-10-30 17:26:36 +08:00
return {
2023-11-01 09:30:52 +08:00
t,
locale
2023-10-30 17:26:36 +08:00
}
},
2023-07-26 15:54:34 +08:00
data() {
return {
isShowOperate: false,
bindEmailVisible: false,
isHaveBindEmail: false,
bindEmailStep: 1,
email: "",
emailCode: ["", "", "", "", "", ""], //邮箱验证码
time: 60, //60秒倒计时
2023-01-06 16:00:15 +08:00
timer: 0,
2023-07-26 15:54:34 +08:00
userInfo: {},
timerOperate: null,
numTime: 30,
timerSec: null,
modalWarning: null,
2023-11-02 11:00:38 +08:00
isLanguage: false,
language:[
{name:'English',value:'en'},
{name:'中文',value:'cn'},
{name:'한국인',value:'kr'},
{name:'にほんご',value:'ja'},
{name:'Русский',value:'ru'},
{name:'Français',value:'fr'},
{name:'แบบไทย',value:'th'},
{name:'Tiếng Việt',value:'vn'},
2023-11-03 11:16:42 +08:00
{name:'Italiano',value:'it'},
2023-11-02 11:00:38 +08:00
]
2023-07-26 15:54:34 +08:00
};
2023-01-06 16:00:15 +08:00
},
2023-07-26 15:54:34 +08:00
mounted() {
this.userInfo = JSON.parse(getCookie("userInfo"));
if (!this.userInfo) {
this.$router.replace("/login");
} else {
this.accountIsLogin(this.userInfo);
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
this.isHaveBindEmail = this.userInfo?.email ? true : false;
2023-01-06 16:00:15 +08:00
2023-07-26 15:54:34 +08:00
this.operateClick();
document.addEventListener("click", this.operateClick);
2023-01-06 16:00:15 +08:00
},
2023-07-26 15:54:34 +08:00
methods: {
turnToNewPage(url) {
window.open(url);
2023-01-06 16:00:15 +08:00
},
2023-07-26 15:54:34 +08:00
turnToPage(name) {
let noRefresh = name === "home" ? true : false;
this.$router.push({ name: name, params: { noRefresh: noRefresh } });
2023-01-06 16:00:15 +08:00
},
//点击下拉图标出现操作
2023-07-26 15:54:34 +08:00
changeShowOperateContent() {
this.isShowOperate = !this.isShowOperate;
document.addEventListener(
"click",
this.closeShowOperateContent,
false
);
2023-01-06 16:00:15 +08:00
},
//关闭下拉图标
2023-07-26 15:54:34 +08:00
closeShowOperateContent() {
this.isShowOperate = false;
2023-11-02 11:00:38 +08:00
this.isLanguage = false
2023-07-26 15:54:34 +08:00
document.removeEventListener("click", this.closeShowOperateContent);
2023-01-06 16:00:15 +08:00
},
//打开绑定邮箱弹窗
2023-07-26 15:54:34 +08:00
showBindEmailModal() {
this.bindEmailVisible = true;
2023-01-06 16:00:15 +08:00
},
2023-07-26 15:54:34 +08:00
emailNextStepFun() {
if (!isEmail(this.email)) {
2023-10-30 17:26:36 +08:00
message.warning(this.t('Header.jsContent1'));
2023-07-26 15:54:34 +08:00
return;
2023-01-06 16:00:15 +08:00
}
let data = {
2023-07-26 15:54:34 +08:00
email: this.email,
2023-01-06 16:00:15 +08:00
operationType: "BIND_MAILBOX",
2023-07-26 15:54:34 +08:00
};
const hide = message.loading("loading", 0);
Https.axiosPost(Https.httpUrls.accountSendEmail, data)
.then((rv) => {
if (rv) {
this.bindEmailStep = 2;
(this.emailCode = ["", "", "", "", "", ""]),
this.createTimer();
hide();
2023-10-30 17:26:36 +08:00
message.success(this.t('Header.jsContent2'));
2023-07-26 15:54:34 +08:00
}
})
.catch((res) => {
hide();
});
2023-01-06 16:00:15 +08:00
},
//绑定邮箱的上一步
2023-07-26 15:54:34 +08:00
emailLastStepFun() {
this.bindEmailStep = 1;
this.email = "";
(this.emailCode = ["", "", "", "", "", ""]), this.clearTimer();
2023-01-06 16:00:15 +08:00
},
//创建定时器
2023-07-26 15:54:34 +08:00
createTimer() {
this.timer = setInterval(() => {
this.time--;
if (!this.time) {
clearInterval(this.timer);
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
}, 1000);
2023-01-06 16:00:15 +08:00
},
//清除定时器
2023-07-26 15:54:34 +08:00
clearTimer() {
this.time = 60;
if (this.timer) {
clearInterval(this.timer);
2023-01-06 16:00:15 +08:00
}
},
//登出
2023-07-26 15:54:34 +08:00
logout() {
2023-01-06 16:00:15 +08:00
let data = {
2023-07-26 15:54:34 +08:00
userId: this.userInfo.userId,
};
Https.axiosPost(Https.httpUrls.accountLogout, data).then((rv) => {
this.$router.replace("/login");
WriteCookie("token");
});
2023-01-06 16:00:15 +08:00
},
//绑定邮箱
2023-07-26 15:54:34 +08:00
submitBindEmail(emailVerifyCode) {
let data = {
userEmail: this.email,
2023-01-06 16:00:15 +08:00
userId: this.userInfo.userId,
2023-07-26 15:54:34 +08:00
emailVerifyCode: emailVerifyCode,
};
Https.axiosPost(Https.httpUrls.accountBindEmail, data).then(
(rv) => {
if (rv) {
this.userInfo.email = this.email;
setCookie("userInfo", JSON.stringify(this.userInfo));
(this.bindEmailVisible = false),
(this.bindEmailStep = 1);
this.clearTimer();
this.emailCode = ["", "", "", "", "", ""];
}
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
);
2023-01-06 16:00:15 +08:00
},
//判断是否登录
2023-07-26 15:54:34 +08:00
accountIsLogin(userInfo) {
let data = {
userId: userInfo.userId,
};
Https.axiosPost(Https.httpUrls.accountIsLogin, data).then((rv) => {
if (!rv) {
this.$router.replace("/login");
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
});
2023-01-06 16:00:15 +08:00
},
//点击重置判断是否长时间五操作
2023-07-26 15:54:34 +08:00
operateClick() {
if (this.timer) {
clearTimeout(this.timer);
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
let _this = this;
let timeNum = 1000 * 60 * 120;
this.timer = setTimeout(() => {
this.modalWarning = Modal.warning({
title: () =>
2023-10-30 17:26:36 +08:00
this.t('Header.jsContent3',{numTime:_this.numTime}),
2023-01-06 16:00:15 +08:00
icon: createVNode(ExclamationCircleOutlined),
2023-07-26 15:54:34 +08:00
okText: "Ok",
2023-01-06 16:00:15 +08:00
onOk() {
2023-07-26 15:54:34 +08:00
_this.numTime = 30;
clearInterval(_this.timerSec);
},
2023-01-06 16:00:15 +08:00
});
2023-07-26 15:54:34 +08:00
_this.numCounter();
}, timeNum);
2023-01-06 16:00:15 +08:00
},
2023-07-26 15:54:34 +08:00
numCounter() {
this.timerSec = setInterval(() => {
if (this.numTime > 0) {
this.numTime = this.numTime - 1;
} else {
clearTimeout(this.timer);
clearInterval(this.timerSec);
this.logout();
this.modalWarning.destroy();
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
}, 1000);
},
2023-11-02 11:00:38 +08:00
setLocale(v){
2023-11-01 09:30:52 +08:00
// window.location.reload();
2023-11-01 09:54:23 +08:00
let name = 'home'
let noRefresh = true;
this.$router.push({ name: name, params: { noRefresh: noRefresh } });
2023-11-02 11:00:38 +08:00
this.locale = v
// this.locale == 'zh-cn'?this.locale = 'en':this.locale = 'zh-cn'
2023-11-01 09:30:52 +08:00
}
2023-07-26 15:54:34 +08:00
},
});
2023-01-06 16:00:15 +08:00
</script>
2023-10-11 17:34:14 +08:00
2023-01-06 16:00:15 +08:00
<style lang="less" scoped>
2023-10-11 17:34:14 +08:00
.header_max{
position: relative;
}
2023-07-26 15:54:34 +08:00
.header_component {
2023-01-06 16:00:15 +08:00
display: flex;
2023-07-26 15:54:34 +08:00
justify-content: space-between;
// padding: 0 30px;
2023-09-25 10:09:00 +08:00
padding-left: 0;
2023-01-06 16:00:15 +08:00
width: 100%;
height: 7rem;
background: rgba(255, 255, 255, 0.2);
2023-09-25 10:09:00 +08:00
// border-bottom: 0.1rem solid rgba(3, 3, 3, 0.1);
2023-01-06 16:00:15 +08:00
position: relative;
2023-07-26 15:54:34 +08:00
align-items: center;
2023-08-05 12:52:56 +08:00
z-index: 1049;
background-color: #fff;
2023-07-26 15:54:34 +08:00
.header_right{
width: 33%;
2023-07-26 15:54:34 +08:00
display: flex;
justify-content: flex-end;
2023-07-26 15:54:34 +08:00
align-items: center;
}
.header_logo {
2023-01-06 16:00:15 +08:00
width: 14.4rem;
height: 3.2rem;
2023-07-26 15:54:34 +08:00
margin: 2.1rem 2.8rem 0 ;
// position: absolute;
margin-top: 0;
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
.header_nav_content {
2023-01-06 16:00:15 +08:00
display: flex;
2023-07-26 15:54:34 +08:00
// margin-left: 28.9rem;
// margin-left: 46.2rem;
2023-01-06 16:00:15 +08:00
align-items: center;
2023-07-26 15:54:34 +08:00
.nav_item {
2023-01-06 16:00:15 +08:00
padding: 1.1rem 1rem;
border-bottom: 0.1rem solid transparent;
margin-right: 3.4rem;
font-size: 1.6rem;
line-height: 1.3rem;
2023-07-26 15:54:34 +08:00
// color: #333333;
color: #000;
2023-01-06 16:00:15 +08:00
cursor: pointer;
2023-07-26 15:54:34 +08:00
font-weight: 900;
&.nav_item:nth-child(3){
margin: 0;
}
2023-09-25 10:09:00 +08:00
&.nav_item::before {
position: absolute;
content: "";
display: block;
background: #000;
height: .3rem;
left: 50%;
transform: translateX(-50%);
bottom: .3rem;
width: 0px;
transition: 0.3s all;
}
&.select_nav {
color: #000;
transform: scale(1.15);
}
&.select_nav::before {
width: 80%;
}
2023-01-06 16:00:15 +08:00
}
}
2023-07-26 15:54:34 +08:00
.header_right_content {
// position: absolute;
2023-01-06 16:00:15 +08:00
top: 0;
2023-07-26 15:54:34 +08:00
// right: 3.2rem;
left: 0;
2023-01-06 16:00:15 +08:00
display: flex;
2023-07-26 15:54:34 +08:00
width: 33%;
2023-09-25 10:09:00 +08:00
height: 100%;
align-items: center;
overflow: hidden;
2023-07-26 15:54:34 +08:00
.header_icon {
2023-01-06 16:00:15 +08:00
font-size: 3.6rem;
position: relative;
top: 0.3rem;
}
2023-09-25 10:09:00 +08:00
.header_user_icon{
height: 4rem;
width: 4rem;
background-color: #000;
border-radius: 50%;
transform: translateX(-40%)scale(1.3);
}
2023-07-26 15:54:34 +08:00
.header_user_content {
2023-09-25 10:09:00 +08:00
// margin-left: 2rem;
2023-01-06 16:00:15 +08:00
display: flex;
align-items: center;
position: relative;
2023-09-25 10:09:00 +08:00
// top: 1.2rem;
2023-01-06 16:00:15 +08:00
height: 3.7rem;
2023-07-26 15:54:34 +08:00
.username {
2023-09-25 10:09:00 +08:00
font-size: 1.8rem;
2023-07-26 15:54:34 +08:00
color: #1a1a1a;
2023-09-25 10:09:00 +08:00
margin: 0 0.8rem;
font-weight: 900;
span{
margin: .7rem;
}
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
.icon-xiala {
2023-01-06 16:00:15 +08:00
font-size: 1.4rem;
cursor: pointer;
}
2023-07-26 15:54:34 +08:00
.icon_rotate {
-moz-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
2023-01-06 16:00:15 +08:00
transform: rotate(180deg);
animation-direction: 0.5s;
}
2023-10-11 17:34:14 +08:00
}
}
}
.select_block {
z-index: 1050;
position: absolute;
left: 6.5rem;
top: 4.7rem;
width: 11.4rem;
background: #ffffff;
box-shadow: 0px 0.4rem 0.4rem 0px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #000000;
2023-11-02 11:00:38 +08:00
&.select_list{
// display: none;
transform: translateX(105%);
}
2023-10-11 17:34:14 +08:00
.select_item {
padding-left: 1.5rem;
height: 4.1rem;
color: #4d4d4d;
display: flex;
align-items: center;
cursor: pointer;
user-select: none;
2023-01-06 16:00:15 +08:00
2023-10-11 17:34:14 +08:00
&:hover {
background: #f7f7f7;
}
2023-01-06 16:00:15 +08:00
2023-10-11 17:34:14 +08:00
.iconfont {
font-size: 1.4rem;
}
2023-01-06 16:00:15 +08:00
2023-10-11 17:34:14 +08:00
.select_item_des {
font-size: 1.3rem;
margin-left: 0.8rem;
}
}
2023-01-06 16:00:15 +08:00
}
2023-07-26 15:54:34 +08:00
.modal_component {
.skip_content {
2023-01-06 16:00:15 +08:00
width: 6rem;
height: 3rem;
line-height: 2.8rem;
border: 0.1rem solid #343579;
font-size: 1.4rem;
2023-07-26 15:54:34 +08:00
color: #343579;
2023-01-06 16:00:15 +08:00
position: absolute;
top: 1.8rem;
right: 1.8rem;
cursor: pointer;
}
2023-07-26 15:54:34 +08:00
.bind_email_content {
2023-01-06 16:00:15 +08:00
padding: 4.8rem 9.2rem 6rem;
2023-07-26 15:54:34 +08:00
.bind_email_tip {
2023-01-06 16:00:15 +08:00
font-size: 1.8rem;
2023-07-26 15:54:34 +08:00
color: #a5b0c2;
2023-01-06 16:00:15 +08:00
line-height: 1.9rem;
text-align: center;
}
2023-07-26 15:54:34 +08:00
.bind_email {
2023-01-06 16:00:15 +08:00
margin-top: 2rem;
font-size: 2.2rem;
font-weight: 400;
color: #030303;
text-align: center;
}
2023-07-26 15:54:34 +08:00
.bind_email_form_content {
.bind_email_form_title {
2023-01-06 16:00:15 +08:00
font-size: 2.2rem;
font-weight: bold;
color: #030303;
line-height: 2.4rem;
}
2023-07-26 15:54:34 +08:00
.bind_email_form_input {
2023-01-06 16:00:15 +08:00
width: 100%;
height: 4.6rem;
margin-top: 1rem;
2023-07-26 15:54:34 +08:00
border: 0.1rem solid #b4bed7;
2023-01-06 16:00:15 +08:00
padding-left: 2.1rem;
line-height: 4.6rem;
font-size: 1.8rem;
box-sizing: border-box;
&::placeholder {
2023-07-26 15:54:34 +08:00
color: #a5b0c2;
2023-01-06 16:00:15 +08:00
}
}
}
2023-07-26 15:54:34 +08:00
.bind_email_submit_button {
2023-01-06 16:00:15 +08:00
height: 4.6rem;
line-height: 4.6rem;
background: #343579;
font-size: 1.6rem;
font-weight: 500;
2023-07-26 15:54:34 +08:00
color: #ffffff;
2023-01-06 16:00:15 +08:00
width: 12.8rem;
text-align: center;
cursor: pointer;
margin: 3rem auto 0;
}
2023-07-26 15:54:34 +08:00
.icon--shangyibu {
2023-01-06 16:00:15 +08:00
font-size: 2.5rem;
font-weight: bold;
color: #030303;
}
2023-07-26 15:54:34 +08:00
.email_last_step_content {
2023-01-06 16:00:15 +08:00
margin-left: 1rem;
font-size: 2.2rem;
font-family: PingFang SC;
font-weight: bold;
color: #030303;
}
2023-07-26 15:54:34 +08:00
.tip_content {
2023-01-06 16:00:15 +08:00
font-size: 1.3rem;
font-weight: bold;
color: #343579;
cursor: pointer;
}
2023-07-26 15:54:34 +08:00
.email_last_step_des {
2023-01-06 16:00:15 +08:00
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 2.5rem;
margin-bottom: 1.5rem;
2023-07-26 15:54:34 +08:00
.sent_email_content {
2023-01-06 16:00:15 +08:00
font-size: 1.8rem;
font-weight: bold;
2023-07-26 15:54:34 +08:00
color: #a5b0c2;
2023-01-06 16:00:15 +08:00
}
}
}
}
</style>