refactor: 登录方式切换改为顶部 Tab 左右选择
All checks were successful
continuous-integration/drone/push Build is passing

- 密码登录/验证码登录从底部按钮移到表单顶部
- 与邮箱/手机 Tab 统一风格(胶囊式)
- 删除底部 pass-btn 按钮
- login-type-tabs 深灰底+蓝色高亮
This commit is contained in:
yiqiu
2026-03-19 19:17:40 +08:00
parent d7993cfb37
commit 6610ff4623
2 changed files with 31 additions and 22 deletions

View File

@@ -438,23 +438,35 @@
background: #0E42D2 !important; background: #0E42D2 !important;
} }
/* 切换登录方式按钮 */ /* 登录方式切换 Tab密码/验证码) */
.pass-btn { .login-type-tabs {
width: 100%; display: flex;
height: 42px; gap: 0;
margin-left: 0 !important; margin-bottom: 20px;
margin-top: 10px; background: rgba(255, 255, 255, 0.03);
background: transparent !important; border-radius: 6px;
border: 1px solid rgba(255, 255, 255, 0.08) !important; padding: 3px;
border-radius: 8px !important; border: 1px solid rgba(255, 255, 255, 0.04);
color: rgba(139, 148, 158, 0.8) !important;
font-size: 14px !important;
transition: all 0.2s;
} }
.pass-btn:hover { .login-type-tab {
flex: 1;
padding: 8px 0;
color: rgba(139, 148, 158, 0.6);
cursor: pointer;
font-size: 13px;
text-align: center;
transition: all 0.25s ease;
border-radius: 4px;
}
.login-type-tab:hover {
color: rgba(255, 255, 255, 0.7);
}
.login-type-tab.active {
color: #FFFFFF !important; color: #FFFFFF !important;
border-color: rgba(22, 93, 255, 0.3) !important; background: rgba(22, 93, 255, 0.12) !important;
} }
/* ---- 第三方登录 ---- */ /* ---- 第三方登录 ---- */

View File

@@ -81,6 +81,11 @@
{{ lang.login_phone }} {{ lang.login_phone }}
</div> </div>
</div> </div>
<!-- 登录方式切换 Tab -->
<div class="login-type-tabs" v-if="isShowChangeTpyeBtn && !isShowQrCode">
<div class="login-type-tab" :class="isPassOrCode ? 'active' : null" @click="isPassOrCode ? null : changeLoginType()">密码登录</div>
<div class="login-type-tab" :class="!isPassOrCode ? 'active' : null" @click="!isPassOrCode ? null : changeLoginType()">验证码登录</div>
</div>
<div class="form-main"> <div class="form-main">
<template v-if="!isShowQrCode"> <template v-if="!isShowQrCode">
<div class="form-item"> <div class="form-item">
@@ -161,14 +166,6 @@
<div class="form-item" v-if="!isShowQrCode"> <div class="form-item" v-if="!isShowQrCode">
<el-button type="primary" :loading="loginLoading" class="login-btn" @click="doLogin">{{ lang.login }} <el-button type="primary" :loading="loginLoading" class="login-btn" @click="doLogin">{{ lang.login }}
</el-button> </el-button>
<!-- 登录方式切换 -->
<template v-if="isShowChangeTpyeBtn">
<el-button v-if="isPassOrCode " class="pass-btn"
@click="changeLoginType">{{ lang.login_code_login }}
</el-button>
<el-button v-else class="pass-btn" @click="changeLoginType">{{ lang.login_pass_login }}
</el-button>
</template>
</div> </div>
<!-- 三方登录 --> <!-- 三方登录 -->
<template v-if="commonData.oauth && commonData.oauth?.length > 0"> <template v-if="commonData.oauth && commonData.oauth?.length > 0">