Skip to content

Commit 6b4f0d1

Browse files
KAICharles7c
authored andcommitted
fix: 修复 AccountLogin 组件多次初始化的问题(图形验证码接口被调用 2 次)
1 parent 206b92c commit 6b4f0d1

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

src/views/login/index.vue

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
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" />
@@ -15,13 +15,13 @@
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">
@@ -50,7 +50,8 @@
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" />
@@ -60,13 +61,13 @@
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>
@@ -89,6 +90,7 @@
8990
</template>
9091

9192
<script setup lang="ts">
93+
import { computed, ref } from 'vue'
9294
import Background from './components/background/index.vue'
9395
import AccountLogin from './components/account/index.vue'
9496
import PhoneLogin from './components/phone/index.vue'
@@ -105,6 +107,8 @@ const title = computed(() => appStore.getTitle())
105107
const logo = computed(() => appStore.getLogo())
106108
107109
const isEmailLogin = ref(false)
110+
const activeTab = ref('1')
111+
108112
// 切换登录模式
109113
const toggleLoginMode = () => {
110114
isEmailLogin.value = !isEmailLogin.value

0 commit comments

Comments
 (0)