xto-fronted 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -139,7 +139,7 @@ const showMixSidebar = computed(() => {
139
139
  width: 100%;
140
140
  height: 50px;
141
141
  background-color: var(--xto-bg-color, #FFFFFF);
142
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
142
+ border-bottom: 1px solid var(--xto-border-color-lighter, #EDF2F7);
143
143
  flex-shrink: 0;
144
144
  }
145
145
 
@@ -163,7 +163,7 @@ const showMixSidebar = computed(() => {
163
163
  height: 50px;
164
164
  box-sizing: border-box;
165
165
  background-color: var(--xto-bg-color, #FFFFFF);
166
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
166
+ border-bottom: 1px solid var(--xto-border-color-lighter, #EDF2F7);
167
167
  flex-shrink: 0;
168
168
  }
169
169
 
@@ -186,14 +186,14 @@ const showMixSidebar = computed(() => {
186
186
  height: 50px;
187
187
  box-sizing: border-box;
188
188
  background-color: var(--xto-bg-color, #FFFFFF);
189
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
189
+ border-bottom: 1px solid var(--xto-border-color-lighter, #EDF2F7);
190
190
  flex-shrink: 0;
191
191
  }
192
192
 
193
193
  &__content {
194
194
  flex: 1;
195
195
  overflow: auto;
196
- background-color: var(--xto-bg-color-page, #F9FAFB);
196
+ background-color: var(--xto-bg-color-page, #F5F7FA);
197
197
  padding: 0;
198
198
  }
199
199
  }
package/src/style.scss CHANGED
@@ -9,6 +9,6 @@
9
9
  /* 全局样式变量(与 @xto/core 主题系统对齐) */
10
10
  :root {
11
11
  --xto-bg-color: #FFFFFF;
12
- --xto-bg-color-page: #F9FAFB;
13
- --xto-border-color-lighter: #F3F4F6;
12
+ --xto-bg-color-page: #F5F7FA;
13
+ --xto-border-color-lighter: #EDF2F7;
14
14
  }
@@ -252,17 +252,17 @@ const handleLogin = async () => {
252
252
  width: 100%;
253
253
  min-height: 100vh;
254
254
  display: flex;
255
- background: var(--xto-bg-color-page, #F9FAFB);
255
+ background: var(--xto-bg-color-page, #F5F7FA);
256
256
  }
257
257
 
258
- // 左侧品牌区域
258
+ // 左侧品牌区域(淡紫蓝渐变网格背景,纯 CSS 无图片资源)
259
259
  .login-brand {
260
260
  flex: 1;
261
261
  position: relative;
262
262
  display: flex;
263
263
  align-items: center;
264
264
  justify-content: center;
265
- background: linear-gradient(135deg, #312E81 0%, #4338CA 50%, #4F46E5 100%);
265
+ background: linear-gradient(135deg, #172E6E 0%, #1E3A8A 45%, #1D4ED8 100%);
266
266
  overflow: hidden;
267
267
 
268
268
  @media (max-width: 992px) {
@@ -392,7 +392,7 @@ const handleLogin = async () => {
392
392
  }
393
393
  }
394
394
 
395
- // 背景装饰
395
+ // 背景装饰(淡紫蓝网点 + 光斑)
396
396
  .brand-bg {
397
397
  position: absolute;
398
398
  inset: 0;
@@ -403,9 +403,10 @@ const handleLogin = async () => {
403
403
  position: absolute;
404
404
  inset: 0;
405
405
  background-image:
406
- linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
407
- linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
408
- background-size: 60px 60px;
406
+ radial-gradient(rgba(255, 255, 255, 0.14) 1.2px, transparent 1.2px),
407
+ linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
408
+ linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
409
+ background-size: 28px 28px, 56px 56px, 56px 56px;
409
410
  }
410
411
 
411
412
  .bg-glow {
@@ -414,7 +415,7 @@ const handleLogin = async () => {
414
415
  right: -10%;
415
416
  width: 60%;
416
417
  height: 60%;
417
- background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
418
+ background: radial-gradient(circle, rgba(147, 197, 253, 0.35) 0%, transparent 70%);
418
419
  animation: glow-pulse 8s ease-in-out infinite;
419
420
  }
420
421
 
@@ -424,7 +425,7 @@ const handleLogin = async () => {
424
425
  left: -10%;
425
426
  width: 40%;
426
427
  height: 40%;
427
- background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 60%);
428
+ background: radial-gradient(circle, rgba(196, 181, 253, 0.28) 0%, transparent 60%);
428
429
  }
429
430
  }
430
431
  }
@@ -461,13 +462,13 @@ const handleLogin = async () => {
461
462
  h2 {
462
463
  font-size: 28px;
463
464
  font-weight: 600;
464
- color: var(--xto-color-text-primary, #1F2937);
465
+ color: var(--xto-color-text-primary, #0F172A);
465
466
  margin-bottom: 8px;
466
467
  }
467
468
 
468
469
  p {
469
470
  font-size: 14px;
470
- color: var(--xto-color-text-secondary, #6B7280);
471
+ color: var(--xto-color-text-secondary, #64748B);
471
472
  }
472
473
  }
473
474
 
@@ -480,7 +481,7 @@ const handleLogin = async () => {
480
481
  display: block;
481
482
  font-size: 14px;
482
483
  font-weight: 500;
483
- color: var(--xto-color-text-regular, #4B5563);
484
+ color: var(--xto-color-text-regular, #334155);
484
485
  margin-bottom: 8px;
485
486
  }
486
487
 
@@ -494,7 +495,7 @@ const handleLogin = async () => {
494
495
 
495
496
  :deep(.x-input__prefix) {
496
497
  margin-right: 12px;
497
- color: var(--xto-color-text-placeholder, #9CA3AF);
498
+ color: var(--xto-color-text-placeholder, #94A3B8);
498
499
  }
499
500
  }
500
501
 
@@ -506,12 +507,12 @@ const handleLogin = async () => {
506
507
 
507
508
  .forgot-link {
508
509
  font-size: 14px;
509
- color: var(--xto-color-primary, #4F46E5);
510
+ color: var(--xto-color-primary, #1D4ED8);
510
511
  text-decoration: none;
511
512
  transition: color 0.2s;
512
513
 
513
514
  &:hover {
514
- color: var(--xto-color-primary-dark-1, #4338CA);
515
+ color: var(--xto-color-primary-dark-1, #1E40AF);
515
516
  }
516
517
  }
517
518
  }
@@ -521,13 +522,13 @@ const handleLogin = async () => {
521
522
  height: 44px;
522
523
  font-size: 16px;
523
524
  font-weight: 500;
524
- border-radius: var(--xto-border-radius-large, 8px);
525
+ border-radius: var(--xto-border-radius-large, 10px);
525
526
  letter-spacing: 4px;
526
527
  transition: all 0.3s ease;
527
528
 
528
529
  &:hover:not(:disabled) {
529
530
  transform: translateY(-2px);
530
- box-shadow: 0 4px 12px rgba(79, 70, 229, 0.4);
531
+ box-shadow: 0 4px 12px rgba(29, 78, 216, 0.35);
531
532
  }
532
533
 
533
534
  &:active:not(:disabled) {
@@ -538,12 +539,12 @@ const handleLogin = async () => {
538
539
  .form-footer {
539
540
  margin-top: 32px;
540
541
  padding-top: 24px;
541
- border-top: 1px solid var(--xto-border-color-lighter, #F3F4F6);
542
+ border-top: 1px solid var(--xto-border-color-lighter, #EDF2F7);
542
543
  text-align: center;
543
544
 
544
545
  p {
545
546
  font-size: 13px;
546
- color: var(--xto-color-text-placeholder, #9CA3AF);
547
+ color: var(--xto-color-text-placeholder, #94A3B8);
547
548
  margin-bottom: 16px;
548
549
  }
549
550
 
@@ -559,12 +560,12 @@ const handleLogin = async () => {
559
560
  display: flex;
560
561
  align-items: center;
561
562
  justify-content: center;
562
- background: var(--xto-fill-color, #F3F4F6);
563
+ background: var(--xto-fill-color, #F1F5F9);
563
564
  border: none;
564
565
  border-radius: 50%;
565
566
  cursor: pointer;
566
567
  transition: all 0.2s ease;
567
- color: var(--xto-color-text-secondary, #6B7280);
568
+ color: var(--xto-color-text-secondary, #64748B);
568
569
 
569
570
  svg {
570
571
  width: 20px;
@@ -572,8 +573,8 @@ const handleLogin = async () => {
572
573
  }
573
574
 
574
575
  &:hover {
575
- background: var(--xto-color-primary-light-6, #C7D2FE);
576
- color: var(--xto-color-primary, #4F46E5);
576
+ background: var(--xto-color-primary-light-8, #DBEAFE);
577
+ color: var(--xto-color-primary, #1D4ED8);
577
578
  transform: translateY(-2px);
578
579
  }
579
580
  }
@@ -585,7 +586,7 @@ const handleLogin = async () => {
585
586
 
586
587
  p {
587
588
  font-size: 12px;
588
- color: var(--xto-color-text-placeholder, #9CA3AF);
589
+ color: var(--xto-color-text-placeholder, #94A3B8);
589
590
  }
590
591
  }
591
592
  }