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' ,
] "
>
2024-10-23 13:12:18 +08:00
Log on to AiDA 3.0
2023-07-26 15:54:34 +08:00
< / 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" > < / s p a n
2023-07-26 15:54:34 +08:00
> < span class = "forget_password_content_title"
> Log on to AiDA < / s p a n
>
< / 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 < / s p a n
>
< 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 < / s p a n
>
< / 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()"
>
2024-07-08 09:42:21 +08:00
Sign in
2023-07-26 15:54:34 +08:00
< / 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 -- >
2024-07-14 00:00:34 +08:00
< div class = "login_content_right mdhidden" >
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" > < / s p a n
> -- >
< i class = "fi fi-br-arrow-left" > < / i >
< span class = "forget_password_content_title"
2023-01-06 16:00:15 +08:00
> Retrieve password < / s p a n
>
< / 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 < / s p a n
>
< / 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" >
2025-01-07 17:15:02 +08:00
< div class = "login_footer_item" > < div class = "login_footer_item_text" > © 2025 Code - Create Limited < / div > < / div >
2023-01-06 16:00:15 +08:00
< 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" >
2024-12-31 11:05:33 +08:00
import { defineComponent , ref , createVNode } from "vue" ;
2023-01-06 16:00:15 +08:00
import { Https } from "@/tool/https" ;
import { isEmail } from "@/tool/util" ;
2024-01-15 17:05:55 +08:00
import { setCookie , WriteCookie } from "@/tool/cookie" ;
2024-12-31 11:05:33 +08:00
import { message , Modal } from "ant-design-vue" ;
import { ExclamationCircleOutlined } from '@ant-design/icons-vue' ;
2023-01-06 16:00:15 +08:00
import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue" ;
2024-04-26 15:27:01 +08:00
import { useStore } from "vuex" ;
2023-11-09 16:55:20 +08:00
import { useI18n } from "vue-i18n" ;
2024-01-10 15:25:43 +08:00
import { setLang } from "@/tool/guide" ;
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 ( )
2024-04-26 15:27:01 +08:00
const store = useStore ( ) ;
2023-01-06 16:00:15 +08:00
return {
2024-04-26 15:27:01 +08:00
store ,
2023-11-09 16:55:20 +08:00
timer ,
locale
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 (
2024-12-31 11:05:33 +08:00
async ( rv : any ) => {
2023-01-06 16:00:15 +08:00
if ( rv ) {
2024-07-21 09:00:16 +08:00
if ( rv . systemUser == 4 ) {
rv . systemUser = 1
}
2023-01-06 16:00:15 +08:00
this . createTimer ( ) ;
2024-07-09 11:09:20 +08:00
let isTest = rv . systemUser == 3 ? true : false
2023-11-30 10:54:22 +08:00
let isBeginner = rv . isBeginner == 1 ? true : false
2023-01-06 16:00:15 +08:00
let token = rv . token ;
2024-01-15 17:05:55 +08:00
setCookie ( "isMurmur" , false ) ;
2023-01-06 16:00:15 +08:00
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 ) ) ;
2024-06-17 09:39:01 +08:00
this . store . commit ( "setSystemUser" , rv . systemUser )
2024-08-23 10:19:02 +08:00
let obj : any = {
avatar : rv . avatar ,
followeeCount : rv . followeeCount ,
followerCount : rv . followerCount ,
}
this . store . commit ( "setUserInfo" , obj )
2024-06-17 09:39:01 +08:00
if ( rv . systemUser == 0 ) {
2024-07-17 15:12:55 +08:00
this . turnToHomePage ( '/Square' ) ;
2024-06-17 09:39:01 +08:00
} else {
2024-07-14 00:00:34 +08:00
if ( window . innerWidth < 768 ) {
2024-12-31 11:05:33 +08:00
await new Promise ( ( resolve , reject ) => {
Modal . confirm ( {
title : 'If you need to design, please use iPad or computer to log in. Or check whether the browser zoom ratio is 100%. For iPad, set the zoom ratio by setting - APP - browser - zoom ratio. For computer, press ctrl + mouse scroll to set the zoom ratio.' ,
icon : createVNode ( ExclamationCircleOutlined ) ,
okText : 'Yes' ,
cancelText : 'No' ,
mask : false ,
centered : true ,
onOk ( ) {
resolve ( '' )
} ,
onCancel ( ) {
resolve ( '' )
}
} ) ;
} )
// message.info("If you need to design, please log in using an iPad or computer.",10);
2024-07-17 15:12:55 +08:00
this . turnToHomePage ( '/Square' ) ;
2024-07-14 00:00:34 +08:00
} else {
this . turnToHomePage ( '/home' ) ;
}
2024-06-17 09:39:01 +08:00
}
2024-01-08 13:59:13 +08:00
sessionStorage . setItem ( 'isTimeOne' , JSON . stringify ( false ) ) ; //是否需要公告 提示 弹窗
let randomNum : any = Math . floor ( Math . random ( ) * 9000000000000000 ) + 1000000000000000 ;
sessionStorage . setItem ( 'sessionId' , randomNum ) ;
2024-01-30 14:29:28 +08:00
sessionStorage . setItem ( 'record' , JSON . stringify ( [ ] ) )
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 ) ;
}
} ,
//跳转到首页
2024-06-17 09:39:01 +08:00
turnToHomePage ( str : any ) {
2023-11-09 16:55:20 +08:00
this . getLang ( )
2024-01-27 11:50:47 +08:00
// this.$router.push("/home");
// console.log(window.location.search.substring(1));
2024-04-26 15:27:01 +08:00
this . store . commit ( "clearAllData" ) ;
2024-05-17 20:02:32 +08:00
this . store . commit ( "clearAllCollection" ) ;
this . store . commit ( "setAllBoardDataChoose" , { } ) ;
2024-05-27 17:57:37 +08:00
this . store . commit ( "clearShowSketchboard" , { } ) ;
2024-06-17 09:39:01 +08:00
this . $router . push ( str ) ;
2023-01-06 16:00:15 +08:00
} ,
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
2024-01-10 15:25:43 +08:00
setLang ( rv )
2023-11-09 16:55:20 +08:00
}
}
) ;
} ,
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 : 4 rem ;
top : 2.5 rem ;
width : 11 rem ;
}
. 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 : 150 rem ;
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 : 1 rem ;
padding : 3 rem 6 rem 6.5 rem ;
box - sizing : border - box ;
2023-07-26 15:54:34 +08:00
display : flex ;
justify - content : space - between ;
align - items : center ;
2024-07-14 00:00:34 +08:00
@ media ( max - width : 768 px ) {
width : 100 % ;
}
2023-07-26 15:54:34 +08:00
. login _content _left {
2023-09-25 10:09:00 +08:00
width : 40 % ;
2024-07-14 00:00:34 +08:00
@ media ( max - width : 768 px ) {
width : 100 % ;
}
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 : .3 s all ;
border : 2 px solid ;
border - radius : 20 px ;
. 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-10 15:25:43 +08:00
font - size : 3.6 rem ;
2023-01-06 16:00:15 +08:00
font - weight : bold ;
color : # D7D7D7 ;
cursor : pointer ;
2024-01-10 15:25:43 +08:00
height : 4 rem ;
line - height : 4 rem ;
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-10 15:25:43 +08:00
font - size : 1.6 rem ;
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-10 15:25:43 +08:00
font - size : 1.6 rem ;
2023-07-26 15:54:34 +08:00
margin - left : 10 px ;
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 : 4 rem ;
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-10 15:25:43 +08:00
font - size : 2.4 rem ;
2023-01-06 16:00:15 +08:00
right : 2 rem ;
top : 1.7 rem ;
cursor : pointer ;
}
}
. login _form _input {
width : 100 % ;
2024-01-10 15:25:43 +08:00
height : 5 rem ;
2023-01-06 16:00:15 +08:00
margin - top : 1 rem ;
border : 0.1 rem solid # DFDFDF ;
border - radius : 2.5 rem ;
padding - left : 2.1 rem ;
2024-01-10 15:25:43 +08:00
line - height : 5 rem ;
font - size : 1.4 rem ;
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 40 px ;
}
2023-01-06 16:00:15 +08:00
. email _last _step _block {
2023-07-26 15:54:34 +08:00
padding : 10 px ;
border - bottom : 2 px solid ;
box - sizing : border - box ;
display : flex ;
align - items : center ;
justify - content : space - between ;
. email _last _step _content {
margin - left : 1 rem ;
2024-01-10 15:25:43 +08:00
font - size : 2.2 rem ;
2023-07-26 15:54:34 +08:00
font - weight : bold ;
color : # 030303 ;
}
. email _last _step _block _icon {
cursor : pointer ;
margin - right : 1 rem ;
height : 20 px ;
}
2023-01-06 16:00:15 +08:00
}
2023-12-15 11:10:32 +08:00
. fi - br - arrow - left {
2024-01-10 15:25:43 +08:00
font - size : 2.5 rem ;
2023-01-06 16:00:15 +08:00
font - weight : bold ;
color : # 030303 ;
2023-12-15 11:10:32 +08:00
transform : translateY ( 1 rem ) ;
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-10 15:25:43 +08:00
height : 5 rem ;
2023-07-26 15:54:34 +08:00
background : # 000 ;
2023-01-06 16:00:15 +08:00
border - radius : 2.5 rem ;
2024-01-10 15:25:43 +08:00
line - height : 5 rem ;
2023-01-06 16:00:15 +08:00
text - align : center ;
2024-01-10 15:25:43 +08:00
font - size : 1.8 rem ;
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-10 15:25:43 +08:00
font - size : 1.6 rem ;
2023-01-06 16:00:15 +08:00
margin - top : 4 rem ;
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 : 60 rem ;
background : # FFFFFF ;
box - shadow : - 0.3 rem 2 rem 5.9 rem 0 px rgba ( 200 , 200 , 200 , 0.3 ) ;
border - radius : 1 rem ;
padding : 3 rem 6 rem 6.5 rem ;
box - sizing : border - box ;
. forget _password _content _block {
cursor : pointer ;
}
2023-12-15 11:10:32 +08:00
. fi - br - arrow - left {
2024-01-10 15:25:43 +08:00
font - size : 3.8 rem ;
2023-01-06 16:00:15 +08:00
font - weight : bold ;
color : # 030303 ;
2023-12-15 11:10:32 +08:00
transform : translateY ( 1 rem ) ;
display : inline - block ;
2023-01-06 16:00:15 +08:00
}
. forget _password _content _title {
2024-01-10 15:25:43 +08:00
font - size : 3.2 rem ;
2023-01-06 16:00:15 +08:00
font - weight : bold ;
color : # 030303 ;
margin - left : 2 rem ;
}
. forget _passored _form _content {
margin - top : 3.5 rem ;
. forget _passored _form _title {
2024-01-10 15:25:43 +08:00
font - size : 2.4 rem ;
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-10 15:25:43 +08:00
height : 5 rem ;
2023-01-06 16:00:15 +08:00
margin - top : 1 rem ;
border : 0.1 rem solid # DFDFDF ;
border - radius : 2.5 rem ;
padding - left : 2.1 rem ;
2024-01-10 15:25:43 +08:00
line - height : 5 rem ;
font - size : 1.4 rem ;
2023-01-06 16:00:15 +08:00
box - sizing : border - box ;
outline : none ;
& : : placeholder {
color : # a5b0c2 ;
}
}
}
. forget _verif _code _des {
2024-01-10 15:25:43 +08:00
font - size : 2.4 rem ;
2023-01-06 16:00:15 +08:00
font - weight : bold ;
color : # 030303 ;
margin - top : 3.5 rem ;
}
. forget _submit _button {
2024-01-10 15:25:43 +08:00
height : 5 rem ;
2023-07-26 15:54:34 +08:00
background : # 000 ;
2023-01-06 16:00:15 +08:00
border - radius : 2.5 rem ;
2024-01-10 15:25:43 +08:00
line - height : 5 rem ;
2023-01-06 16:00:15 +08:00
text - align : center ;
2024-01-10 15:25:43 +08:00
font - size : 1.8 rem ;
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.5 rem ;
width : 100 % ;
padding : 0 4 rem ;
. login _footer _item {
display : flex ;
align - items : center ;
. login _footer _item _text {
2024-01-10 15:25:43 +08:00
font - size : 1.3 rem ;
2023-01-06 16:00:15 +08:00
color : # 151515 ;
}
. footer _item _text _pointer {
cursor : pointer ;
}
. login _footer _line {
width : 0.1 rem ;
height : 2 rem ;
margin : 0 2 rem ;
background : # B9B9B9 ;
}
}
}
. marign _top20 {
2024-01-10 15:25:43 +08:00
margin - top : 2 rem ;
2023-01-06 16:00:15 +08:00
}
. marign _top22 {
2024-01-10 15:25:43 +08:00
margin - top : 2.2 rem ;
2023-01-06 16:00:15 +08:00
}
. marign _top30 {
2024-01-10 09:34:32 +08:00
margin - top : 3 rem ;
2023-01-06 16:00:15 +08:00
}
. marign _top40 {
2024-01-10 09:34:32 +08:00
margin - top : 4 rem ;
2023-01-06 16:00:15 +08:00
}
. tip _content {
2024-01-10 15:25:43 +08:00
font - size : 1.3 rem ;
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 : 4 rem ;
margin - bottom : 2 rem ;
. sent _email _content {
2024-01-10 15:25:43 +08:00
font - size : 1.8 rem ;
2023-01-06 16:00:15 +08:00
font - weight : bold ;
color : # a5b0c2 ;
}
. email _tip _content {
2024-01-10 15:25:43 +08:00
font - size : 1.4 rem ;
2023-01-06 16:00:15 +08:00
color : # 030303 ;
}
}
}
< / style >