11<template >
2- <div class =" login pc" >
2+ <div v-if = " isDesktop " class =" login pc" >
33 <h3 class =" login-logo" >
44 <img v-if =" logo" :src =" logo" alt =" logo" />
55 <img v-else src =" /logo.svg" alt =" logo" />
1515 <a-col :xs =" 24" :sm =" 12" :md =" 11" >
1616 <div class =" login-right" >
1717 <h3 v-if =" isEmailLogin" class =" login-right__title" >邮箱登录</h3 >
18- <EmailLogin v-show =" isEmailLogin" />
19- <a-tabs v-show = " !isEmailLogin " class =" login-right__form" >
18+ <EmailLogin v-if =" isEmailLogin" />
19+ <a-tabs v-else v-model:activeKey = " activeTab " class =" login-right__form" >
2020 <a-tab-pane key =" 1" title =" 账号登录" >
21- <AccountLogin />
21+ <component :is = " AccountLogin" v-if = " activeTab === '1' " />
2222 </a-tab-pane >
2323 <a-tab-pane key =" 2" title =" 手机号登录" >
24- <PhoneLogin />
24+ <component :is = " PhoneLogin" v-if = " activeTab === '2' " />
2525 </a-tab-pane >
2626 </a-tabs >
2727 <div class =" login-right__oauth" >
5050 <GiThemeBtn class =" theme-btn" />
5151 <Background />
5252 </div >
53- <div class =" login h5" >
53+
54+ <div v-else class =" login h5" >
5455 <div class =" login-logo" >
5556 <img v-if =" logo" :src =" logo" alt =" logo" />
5657 <img v-else src =" /logo.svg" alt =" logo" />
6061 <a-col :xs =" 24" :sm =" 12" :md =" 11" >
6162 <div class =" login-right" >
6263 <h3 v-if =" isEmailLogin" class =" login-right__title" >邮箱登录</h3 >
63- <EmailLogin v-show =" isEmailLogin" />
64- <a-tabs v-show = " !isEmailLogin " class =" login-right__form" >
64+ <EmailLogin v-if =" isEmailLogin" />
65+ <a-tabs v-else v-model:activeKey = " activeTab " class =" login-right__form" >
6566 <a-tab-pane key =" 1" title =" 账号登录" >
66- <AccountLogin />
67+ <component :is = " AccountLogin" v-if = " activeTab === '1' " />
6768 </a-tab-pane >
6869 <a-tab-pane key =" 2" title =" 手机号登录" >
69- <PhoneLogin />
70+ <component :is = " PhoneLogin" v-if = " activeTab === '2' " />
7071 </a-tab-pane >
7172 </a-tabs >
7273 </div >
8990</template >
9091
9192<script setup lang="ts">
93+ import { computed , ref } from ' vue'
9294import Background from ' ./components/background/index.vue'
9395import AccountLogin from ' ./components/account/index.vue'
9496import PhoneLogin from ' ./components/phone/index.vue'
@@ -105,6 +107,8 @@ const title = computed(() => appStore.getTitle())
105107const logo = computed (() => appStore .getLogo ())
106108
107109const isEmailLogin = ref (false )
110+ const activeTab = ref (' 1' )
111+
108112// 切换登录模式
109113const toggleLoginMode = () => {
110114 isEmailLogin .value = ! isEmailLogin .value
0 commit comments