diff --git a/src/views/login.vue b/src/views/login.vue
index 24c5bc7..7cc0edc 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -24,7 +24,7 @@
-
+
@@ -38,10 +38,11 @@
登 录
登 录 中...
-
- 立即注册
-
+
+ 还没有账号?
+ 立即注册
+
@@ -185,60 +186,207 @@ getCookie()
width: 40%;
height: 100%;
padding: 3rem 1rem;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
.login-form {
+ width: 100%;
+ max-width: 450px;
+
.title {
text-align: center;
- font-size: 0.4rem;
- font-family: PingFangSC-Heavy, PingFang SC;
+ font-size: 32px;
+ font-family: 'PingFangSC-Heavy', 'PingFang SC', sans-serif;
font-weight: 800;
- color: #202224;
- line-height: 0.56rem;
- letter-spacing: 0.1rem;
- margin-bottom: 0.51rem;
- }
- .userName {
- margin-top: 0.17rem;
- }
- :deep(.el-input__prefix-inner),
- :deep(.el-input__suffix) {
- display: block;
- }
- :deep(.el-input__wrapper) {
- width: 4.1rem;
- height: 0.6356rem;
- border-radius: 0;
- border: 0;
- font-family: 'PingFangSC-Regular', 'PingFang SC';
- border-bottom: solid 0.01rem rgba(216, 216, 216, 1);
- font-size: 0.18rem;
- box-shadow: none;
- margin: 0 auto;
- .el-input__inner {
- margin-left: 10px;
+ color: #1a1a1a;
+ line-height: 1.4;
+ letter-spacing: 1px;
+ margin-bottom: 50px;
+ position: relative;
+
+ &::after {
+ content: '';
+ position: absolute;
+ bottom: -15px;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 50px;
+ height: 4px;
+ background: linear-gradient(90deg, #667eea, #764ba2);
+ border-radius: 2px;
}
}
- :deep(.el-checkbox__label) {
- color: rgba(187, 187, 188, 1);
- font-size: 0.16rem;
- line-height: 0.22rem;
- font-weight: 400;
- font-family: 'PingFangSC-Regular', 'PingFang SC';
- letter-spacing: 0.04rem;
+
+ .userName {
+ width: 20px;
+ height: 20px;
+ opacity: 0.6;
}
+
:deep(.el-form-item) {
- margin-bottom: 0rem;
+ margin-bottom: 28px;
}
+
+ :deep(.el-input__prefix-inner),
+ :deep(.el-input__suffix) {
+ display: flex;
+ align-items: center;
+ }
+
+ :deep(.el-input__wrapper) {
+ width: 100%;
+ height: 52px;
+ border-radius: 12px;
+ border: 2px solid #e8e8e8;
+ background: #fafafa;
+ font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
+ font-size: 15px;
+ box-shadow: none;
+ transition: all 0.3s ease;
+ padding: 0 18px;
+
+ &:hover {
+ border-color: #667eea;
+ background: #ffffff;
+ }
+
+ &.is-focus {
+ border-color: #667eea;
+ background: #ffffff;
+ box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
+ }
+
+ .el-input__inner {
+ color: #333;
+
+ &::placeholder {
+ color: #999;
+ }
+ }
+ }
+
+ // 验证码样式
+ .login-code {
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 120px;
+ height: 52px;
+
+ .login-code-img {
+ width: 100%;
+ height: 100%;
+ cursor: pointer;
+ border-radius: 12px;
+ object-fit: cover;
+ transition: all 0.3s ease;
+ border: 2px solid #e8e8e8;
+
+ &:hover {
+ border-color: #667eea;
+ transform: scale(1.02);
+ }
+ }
+ }
+
+ :deep(.el-checkbox) {
+ .el-checkbox__label {
+ color: #666;
+ font-size: 14px;
+ font-weight: 400;
+ font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
+ }
+
+ .el-checkbox__inner {
+ border-radius: 4px;
+ width: 18px;
+ height: 18px;
+
+ &::after {
+ left: 6px;
+ top: 2px;
+ }
+ }
+
+ &.is-checked .el-checkbox__inner {
+ background: #667eea;
+ border-color: #667eea;
+ }
+ }
+
+ .mt-16 {
+ margin-top: 16px;
+ }
+
+ .mb-60 {
+ margin-bottom: 35px;
+ }
+
:deep(.el-button) {
- margin: 0 auto;
- width: 4.16rem;
- height: 0.6rem;
- background: #333fff;
- border-radius: 0.05rem;
- font-size: 0.18rem;
- font-family: 'PingFang-SC-Medium', 'PingFang-SC';
- font-weight: 500;
+ width: 100%;
+ height: 52px;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ border: none;
+ border-radius: 12px;
+ font-size: 16px;
+ font-family: 'PingFang-SC-Medium', 'PingFang-SC', sans-serif;
+ font-weight: 600;
color: #ffffff;
- line-height: 0.25rem;
+ letter-spacing: 2px;
+ transition: all 0.3s ease;
+ box-shadow: 0 8px 20px rgba(102, 126, 234, 0.35);
+
+ &:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 12px 28px rgba(102, 126, 234, 0.5);
+ }
+
+ &:active {
+ transform: translateY(0);
+ }
+ }
+
+ .register-link {
+ text-align: center;
+ margin-top: 30px;
+
+ .register-text {
+ color: #999;
+ font-size: 14px;
+ margin-right: 8px;
+ }
+
+ .link-type {
+ display: inline-block;
+ font-size: 14px;
+ font-weight: 600;
+ color: #667eea;
+ text-decoration: none;
+ transition: all 0.3s ease;
+ position: relative;
+ padding-bottom: 2px;
+
+ &::after {
+ content: '';
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 0;
+ height: 2px;
+ background: linear-gradient(90deg, #667eea, #764ba2);
+ transition: width 0.3s ease;
+ }
+
+ &:hover {
+ color: #764ba2;
+
+ &::after {
+ width: 100%;
+ }
+ }
+ }
}
}
}