+
{{ $t('login.rememberMe') }}
-
+
{{ $t('login.forgotPassword') }}
-
- {{ $t('login.signIn') }}
-
+
+
+ {{ $t('login.signIn') }}
+
+
@@ -169,8 +207,8 @@ const rules = computed(() => {
}
})
const formValue = ref({
- account: 'admin',
- pwd: '123456',
+ account: 'yuadmin',
+ pwd: 'yuadmin123',
securityCode: '',
})
const isRemember = ref(false)
@@ -347,6 +385,74 @@ function checkUserAccount() {
}
}
+/* 表单容器优化 */
+.n-form {
+ transition: all 0.3s ease;
+}
+
+.n-form-item {
+ transition: all 0.2s ease;
+}
+
+.n-form-item:hover {
+ transform: translateY(-1px);
+}
+
+/* 验证码区域优化 */
+.captcha-button {
+ transition: all 0.2s ease;
+}
+
+.captcha-button:hover {
+ transform: translateY(-1px);
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
+}
+
+/* 装饰性图标动画 */
+@keyframes float {
+ 0%, 100% {
+ transform: translateY(0px);
+ }
+ 50% {
+ transform: translateY(-5px);
+ }
+}
+
+.animate-float {
+ animation: float 3s ease-in-out infinite;
+}
+
+/* 光环动画优化 */
+@keyframes ping-slow {
+ 0% {
+ transform: scale(1);
+ opacity: 1;
+ }
+ 75%, 100% {
+ transform: scale(1.5);
+ opacity: 0;
+ }
+}
+
+.animate-ping {
+ animation: ping-slow 2s cubic-bezier(0, 0, 0.2, 1) infinite;
+}
+
+/* 分隔线动画 */
+.h-px {
+ transition: all 0.3s ease;
+}
+
+/* 记住密码区域优化 */
+.py-2 {
+ transition: all 0.2s ease;
+}
+
+/* 按钮容器优化 */
+.pt-4 {
+ transition: all 0.3s ease;
+}
+
/* 响应式设计 */
@media (max-width: 640px) {
.login-input {
@@ -357,5 +463,19 @@ function checkUserAccount() {
--n-height: 44px;
--n-font-size: 14px;
}
+
+ /* 移动端优化头部区域 */
+ .text-3xl {
+ font-size: 1.75rem;
+ }
+
+ .w-16.h-16 {
+ width: 3.5rem;
+ height: 3.5rem;
+ }
+
+ .mb-10 {
+ margin-bottom: 2rem;
+ }
}
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index ec162bf..cbc6190 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -130,7 +130,7 @@
-