<template>
|
<LoginPageLayout class="loginByForm-page-wrapper">
|
<div class="loginB-form-wrapper">
|
<div class="loginB-form-tab">
|
<div
|
:class="[
|
'loginB-form-tab-item',
|
{ active: tabType === LoginFormTabs.VerificationCodeLogin },
|
]"
|
@click="handleTabChange(LoginFormTabs.VerificationCodeLogin)"
|
>
|
<img :src="IconTabBg1" alt="" class="loginB-form-tab-item-bg1" />
|
<div class="loginB-form-tab-item-content">
|
<div class="loginB-form-tab-item-text">验证码登录</div>
|
<div class="loginB-form-tab-item-line"></div>
|
</div>
|
</div>
|
<div
|
:class="['loginB-form-tab-item', { active: tabType === LoginFormTabs.AccountLogin }]"
|
@click="handleTabChange(LoginFormTabs.AccountLogin)"
|
>
|
<img :src="IconTabBg2" alt="" class="loginB-form-tab-item-bg2" />
|
<div class="loginB-form-tab-item-content">
|
<div class="loginB-form-tab-item-text">账户登录</div>
|
<div class="loginB-form-tab-item-line"></div>
|
</div>
|
</div>
|
</div>
|
<VerificationCodeLoginForm
|
v-show="tabType === LoginFormTabs.VerificationCodeLogin"
|
:policyChecked="state.policyChecked"
|
/>
|
<AccountLoginForm
|
v-show="tabType === LoginFormTabs.AccountLogin"
|
:policyChecked="state.policyChecked"
|
/>
|
</div>
|
<Policy
|
v-model="state.policyChecked"
|
policyBtnText="我已阅读并同意"
|
class="loginB-form-policy"
|
/>
|
</LoginPageLayout>
|
</template>
|
|
<script setup lang="ts">
|
import { useUserStore } from '@/stores/modules/user';
|
import LoginPageLayout from '../components/LoginPageLayout/LoginPageLayout.vue';
|
import { LoginFormTabs } from '../constants';
|
import IconTabBg1 from '@/assets/login/icon-tab-bg-1.png';
|
import IconTabBg2 from '@/assets/login/icon-tab-bg-2.png';
|
import VerificationCodeLoginForm from './verificationCodeLoginForm.vue';
|
import AccountLoginForm from './accountLoginForm.vue';
|
import Taro from '@tarojs/taro';
|
|
defineOptions({
|
name: 'loginByForm',
|
});
|
|
const userStore = useUserStore();
|
|
const state = reactive({
|
policyChecked: false,
|
});
|
|
const router = Taro.useRouter();
|
|
const tabType = ref(Number(router.params?.tab ?? LoginFormTabs.VerificationCodeLogin));
|
|
function handleTabChange(tab: LoginFormTabs) {
|
tabType.value = tab;
|
}
|
</script>
|
|
<style lang="scss">
|
@import '@/styles/common.scss';
|
@import '../styles/login.scss';
|
</style>
|