From d62e89b01b1fd9219697b7b7aa2cd609a4fef9c8 Mon Sep 17 00:00:00 2001 From: TangShanDD Date: Thu, 11 Sep 2025 21:37:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/login/lockme.vue | 144 ++++++------------------------------- 1 file changed, 22 insertions(+), 122 deletions(-) diff --git a/src/views/login/lockme.vue b/src/views/login/lockme.vue index b4419f0..d6df95c 100644 --- a/src/views/login/lockme.vue +++ b/src/views/login/lockme.vue @@ -5,29 +5,23 @@

{{ userData.name }}

- - - - - - {{ isCountingDown ? `${countdown}s后重新获取` : '获取验证码' }} - + + + -
- - - 切换账户 - - -
+ + + 切换账户 +
{{ currentTime.time }}
@@ -42,7 +36,6 @@ import { encrypt } from 'utils/crypto' import { useStore } from 'vuex' import { useRouter } from 'vue-router' import { login } from 'services' -import { getVertifyCode } from '@/services' import { computed, defineComponent, onMounted, onUnmounted, reactive, ref, toRefs } from 'vue' import setLoginData from './tools' import { required } from '@/validate' @@ -53,42 +46,13 @@ export default defineComponent({ setup() { const state = reactive({ loginForm: { - password: '', - verify: '' + password: '' }, - loading: false, - verifyLoading: false, - countdown: 0, - isCountingDown: false + loading: false }) let timer: any = 0 - let countdownTimer: any = null const store = useStore() const userData = computed(() => store.getters.userData || {}) - - // 开始倒计时 - const startCountdown = () => { - state.countdown = 60 - state.isCountingDown = true - countdownTimer = setInterval(() => { - state.countdown-- - if (state.countdown <= 0) { - clearInterval(countdownTimer) - state.isCountingDown = false - state.countdown = 0 - } - }, 1000) - } - - // 重置倒计时 - const resetCountdown = () => { - if (countdownTimer) { - clearInterval(countdownTimer) - countdownTimer = null - } - state.isCountingDown = false - state.countdown = 0 - } // 当前时间设置 const currentTime = ref({ time: '', @@ -130,26 +94,6 @@ export default defineComponent({ function switchUser() { store.dispatch('permission/ResetRoutes') } - - // 获取验证码 - const getVertify = () => { - if (state.isCountingDown) return // 如果正在倒计时,不允许重复点击 - if (!userData.value.account) { - return // 如果没有用户账号,直接返回 - } - - state.verifyLoading = true - getVertifyCode({ account: userData.value.account }) - .then((res) => { - if (res.success) { - state.verifyLoading = false - startCountdown() // 开始倒计时 - } - }) - .finally(() => { - state.verifyLoading = false - }) - } const loginFormRef = ref() const router = useRouter() async function handleLogin() { @@ -159,8 +103,7 @@ export default defineComponent({ const res = await login({ account: userData.value.account, password: encrypt(values.password), - isManager: true, - code: values.verify + isManager: true }) if (res.success) { setLoginData(res.data) @@ -186,10 +129,7 @@ export default defineComponent({ loginFormRef, required, switchUser, - handleLogin, - getVertify, - startCountdown, - resetCountdown + handleLogin } } }) @@ -209,7 +149,7 @@ export default defineComponent({ text-align: center; top: 40%; left: 50%; - width: 350px; + width: 300px; margin: -150px 0 0 -150px; .logo { display: inline-block; @@ -225,55 +165,15 @@ export default defineComponent({ color: #fff; margin: 15px 0 25px 0; } - .button-group { - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 20px; - } .login-btn { - background: #1890ff; + background: #6b7485; border: none; - padding: 0 20px; - } - .login-btn:hover { - background: #40a9ff; + width: 48px; } ::v-deep(.ant-input-group-addon) { border: none; padding: 0; } - ::v-deep(.ant-input) { - background: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.3); - color: #fff; - } - ::v-deep(.ant-input-password) { - background: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.3); - color: #fff; - } - ::v-deep(.ant-input::placeholder) { - color: rgba(255, 255, 255, 0.6); - } - ::v-deep(.ant-input-password .ant-input) { - background: transparent; - border: none; - color: #fff; - } - ::v-deep(.ant-input-password .ant-input::placeholder) { - color: rgba(255, 255, 255, 0.6); - } - ::v-deep(.ant-btn) { - background: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.3); - color: #fff; - } - ::v-deep(.ant-btn:disabled) { - background: rgba(255, 255, 255, 0.05); - border-color: rgba(255, 255, 255, 0.2); - color: rgba(255, 255, 255, 0.4); - } } .date-time { position: absolute;