:优化登录页面
This commit is contained in:
yangmf_0726 committed 2025-09-26 12:59:40 +08:00
1 parent 848cc46015
commit 08ac9db5eb
5 files changed
+28 -86

No files matched your search

+2 -2
View File
@@ -21,5 +21,5 @@ VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
# 默认账户密码 # 默认账户密码
VITE_APP_DEFAULT_LOGIN_TENANT = 分销商城 VITE_APP_DEFAULT_LOGIN_TENANT = 分销商城
VITE_APP_DEFAULT_LOGIN_USERNAME = admin # VITE_APP_DEFAULT_LOGIN_USERNAME = admin
VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123 # VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

+2 -2
View File
@@ -115,7 +115,7 @@ export default {
}, },
login: { login: {
welcome: '欢迎使用本系统', welcome: '欢迎使用本系统',
message: '开箱即用的中后台管理系统', message: '',
tenantname: '租户名称', tenantname: '租户名称',
username: '用户名', username: '用户名',
password: '密码', password: '密码',
@@ -372,7 +372,7 @@ export default {
qrSignInFormTitle: '二维码登录', qrSignInFormTitle: '二维码登录',
signUpFormTitle: '注册', signUpFormTitle: '注册',
forgetFormTitle: '重置密码', forgetFormTitle: '重置密码',
signInTitle: '开箱即用的中后台管理系统', signInTitle: '',
signInDesc: '输入您的个人详细信息开始使用!', signInDesc: '输入您的个人详细信息开始使用!',
policy: '我同意xxx隐私政策', policy: '我同意xxx隐私政策',
scanSign: `扫码后点击"确认",即可完成登录`, scanSign: `扫码后点击"确认",即可完成登录`,
+2 -2
View File
@@ -200,8 +200,8 @@ const loginData = reactive({
tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE !== 'false', tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE !== 'false',
loginForm: { loginForm: {
tenantName: '芋道源码', tenantName: '芋道源码',
username: 'admin', username: '',
password: 'admin123', password: '',
captchaVerification: '', captchaVerification: '',
rememberMe: false rememberMe: false
} }
+22 -80
View File
@@ -1,56 +1,31 @@
<template> <template>
<el-form <el-form v-show="getShow" ref="formLogin" :model="loginData.loginForm" :rules="LoginRules" class="login-form"
v-show="getShow" label-position="top" label-width="120px" size="large">
ref="formLogin"
:model="loginData.loginForm"
:rules="LoginRules"
class="login-form"
label-position="top"
label-width="120px"
size="large"
>
<el-row style="margin-right: -10px; margin-left: -10px"> <el-row style="margin-right: -10px; margin-left: -10px">
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item> <el-form-item>
<LoginFormTitle style="width: 100%" /> <LoginFormTitle style="width: 100%" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px;display: none;">
<el-form-item v-if="loginData.tenantEnable === 'true'" prop="tenantName"> <el-form-item v-if="loginData.tenantEnable === 'true'" prop="tenantName">
<el-input <el-input v-model="loginData.loginForm.tenantName" :placeholder="t('login.tenantNamePlaceholder')"
v-model="loginData.loginForm.tenantName" :prefix-icon="iconHouse" link type="primary" />
:placeholder="t('login.tenantNamePlaceholder')"
:prefix-icon="iconHouse"
link
type="primary"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input v-model="loginData.loginForm.username" :placeholder="t('login.usernamePlaceholder')"
v-model="loginData.loginForm.username" :prefix-icon="iconAvatar" />
:placeholder="t('login.usernamePlaceholder')"
:prefix-icon="iconAvatar"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item prop="password"> <el-form-item prop="password">
<el-input <el-input v-model="loginData.loginForm.password" :placeholder="t('login.passwordPlaceholder')"
v-model="loginData.loginForm.password" :prefix-icon="iconLock" show-password type="password" @keyup.enter="getCode()" />
:placeholder="t('login.passwordPlaceholder')"
:prefix-icon="iconLock"
show-password
type="password"
@keyup.enter="getCode()"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col <el-col :span="24" style="padding-right: 10px; padding-left: 10px; margin-top: -20px; margin-bottom: -20px">
:span="24"
style="padding-right: 10px; padding-left: 10px; margin-top: -20px; margin-bottom: -20px"
>
<el-form-item> <el-form-item>
<el-row justify="space-between" style="width: 100%"> <el-row justify="space-between" style="width: 100%">
<el-col :span="6"> <el-col :span="6">
@@ -59,11 +34,7 @@
</el-checkbox> </el-checkbox>
</el-col> </el-col>
<el-col :offset="6" :span="12"> <el-col :offset="6" :span="12">
<el-link <el-link style="float: right" type="primary" @click="setLoginState(LoginStateEnum.RESET_PASSWORD)">
style="float: right"
type="primary"
@click="setLoginState(LoginStateEnum.RESET_PASSWORD)"
>
{{ t('login.forgetPassword') }} {{ t('login.forgetPassword') }}
</el-link> </el-link>
</el-col> </el-col>
@@ -72,46 +43,24 @@
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item> <el-form-item>
<XButton <XButton :loading="loginLoading" :title="t('login.login')" class="w-[100%]" type="primary"
:loading="loginLoading" @click="getCode()" />
:title="t('login.login')"
class="w-[100%]"
type="primary"
@click="getCode()"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<Verify <!-- <Verify v-if="loginData.captchaEnable === 'true'" ref="verify" :captchaType="captchaType"
v-if="loginData.captchaEnable === 'true'" :imgSize="{ width: '400px', height: '200px' }" mode="pop" @success="handleLogin" />
ref="verify"
:captchaType="captchaType"
:imgSize="{ width: '400px', height: '200px' }"
mode="pop"
@success="handleLogin"
/>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item> <el-form-item>
<el-row :gutter="5" justify="space-between" style="width: 100%"> <el-row :gutter="5" justify="space-between" style="width: 100%">
<el-col :span="8"> <el-col :span="8">
<XButton <XButton :title="t('login.btnMobile')" class="w-[100%]" @click="setLoginState(LoginStateEnum.MOBILE)" />
:title="t('login.btnMobile')"
class="w-[100%]"
@click="setLoginState(LoginStateEnum.MOBILE)"
/>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<XButton <XButton :title="t('login.btnQRCode')" class="w-[100%]" @click="setLoginState(LoginStateEnum.QR_CODE)" />
:title="t('login.btnQRCode')"
class="w-[100%]"
@click="setLoginState(LoginStateEnum.QR_CODE)"
/>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<XButton <XButton :title="t('login.btnRegister')" class="w-[100%]"
:title="t('login.btnRegister')" @click="setLoginState(LoginStateEnum.REGISTER)" />
class="w-[100%]"
@click="setLoginState(LoginStateEnum.REGISTER)"
/>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
@@ -120,15 +69,8 @@
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item> <el-form-item>
<div class="w-[100%] flex justify-between"> <div class="w-[100%] flex justify-between">
<Icon <Icon v-for="(item, key) in socialList" :key="key" :icon="item.icon" :size="30"
v-for="(item, key) in socialList" class="anticon cursor-pointer" color="#999" @click="doSocialLogin(item.type)" />
:key="key"
:icon="item.icon"
:size="30"
class="anticon cursor-pointer"
color="#999"
@click="doSocialLogin(item.type)"
/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -146,7 +88,7 @@
</el-link> </el-link>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row> </el-row>
</el-form> </el-form>
</template> </template>