xto-fronted 0.6.2 → 0.7.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.
Files changed (35) hide show
  1. package/dist/api/index.js +1 -1
  2. package/dist/{index-DGrQCWU0.js → index-BO31bICK.js} +13 -13
  3. package/dist/{index-CYFcc2sd.js → index-D4K3OfZa.js} +23 -23
  4. package/dist/{index-DIlGh6S6.js → index-DkG24eV5.js} +9 -9
  5. package/dist/{index-DYmKmoMX.js → index-QdDB_2uu.js} +20 -20
  6. package/dist/{index-Dpv33ZXi.js → index-k2XmHxrU.js} +802 -795
  7. package/dist/index.js +2 -2
  8. package/dist/style.css +1 -1
  9. package/dist/{user-ChcAx-5W.js → user-77I_qZ8j.js} +6 -6
  10. package/package.json +1 -1
  11. package/src/App.vue +3 -3
  12. package/src/assets/styles/_dark.scss +170 -170
  13. package/src/assets/styles/_reset.scss +8 -8
  14. package/src/assets/styles/_root.scss +95 -93
  15. package/src/assets/styles/_variables.scss +17 -17
  16. package/src/assets/styles/index.scss +39 -39
  17. package/src/components/Layout/Footer.vue +1 -1
  18. package/src/components/Layout/Header.vue +54 -54
  19. package/src/components/Layout/MixTopMenu.vue +41 -41
  20. package/src/components/Layout/Sidebar.vue +8 -8
  21. package/src/components/Layout/SidebarMenuItem.vue +2 -2
  22. package/src/components/Layout/Tabs.vue +6 -6
  23. package/src/components/Layout/TopMenu.vue +41 -41
  24. package/src/components/Layout/index.vue +4 -4
  25. package/src/router/guards.ts +12 -1
  26. package/src/stores/app.ts +2 -2
  27. package/src/stores/menu.ts +15 -6
  28. package/src/style.scss +2 -2
  29. package/src/views/dashboard/index.vue +32 -32
  30. package/src/views/error/403.vue +13 -13
  31. package/src/views/error/404.vue +19 -19
  32. package/src/views/login/index.vue +15 -15
  33. package/src/views/system/menu/index.vue +20 -20
  34. package/src/views/system/role/index.vue +20 -20
  35. package/src/views/system/user/index.vue +23 -23
@@ -155,7 +155,7 @@ const systemInfo = ref([
155
155
  <style lang="scss" scoped>
156
156
  .dashboard {
157
157
  padding: 24px;
158
- background: var(--xto-bg-color-page, #F9FAFB);
158
+ background: var(--xto-bg-color-page, #F7F8FA);
159
159
  min-height: 100%;
160
160
  }
161
161
 
@@ -217,7 +217,7 @@ const systemInfo = ref([
217
217
 
218
218
  .stat-title {
219
219
  font-size: 14px;
220
- color: var(--xto-color-text-secondary, #6B7280);
220
+ color: var(--xto-color-text-secondary, #86909C);
221
221
  margin-bottom: 8px;
222
222
  }
223
223
 
@@ -242,12 +242,12 @@ const systemInfo = ref([
242
242
  }
243
243
 
244
244
  &.up {
245
- color: var(--xto-color-success, #10B981);
245
+ color: var(--xto-color-success, #2BC48A);
246
246
  background: var(--xto-color-success-lighter, #D1FAE5);
247
247
  }
248
248
 
249
249
  &.down {
250
- color: var(--xto-color-danger, #EF4444);
250
+ color: var(--xto-color-danger, #F53F3F);
251
251
  background: var(--xto-color-danger-lighter, #FEE2E2);
252
252
  }
253
253
  }
@@ -285,20 +285,20 @@ const systemInfo = ref([
285
285
  h3 {
286
286
  font-size: 16px;
287
287
  font-weight: 600;
288
- color: var(--xto-color-text-primary, #1F2937);
288
+ color: var(--xto-color-text-primary, #1F2329);
289
289
  }
290
290
 
291
291
  .section-badge {
292
292
  font-size: 12px;
293
- color: var(--xto-color-text-placeholder, #9CA3AF);
294
- background: var(--xto-fill-color, #F3F4F6);
293
+ color: var(--xto-color-text-placeholder, #A9AEB8);
294
+ background: var(--xto-fill-color, #F2F3F5);
295
295
  padding: 4px 10px;
296
296
  border-radius: 12px;
297
297
  }
298
298
 
299
299
  .section-link {
300
300
  font-size: 14px;
301
- color: var(--xto-color-primary, #4F46E5);
301
+ color: var(--xto-color-primary, #12B6AF);
302
302
  text-decoration: none;
303
303
  transition: color 0.2s;
304
304
 
@@ -327,7 +327,7 @@ const systemInfo = ref([
327
327
  align-items: center;
328
328
  gap: 16px;
329
329
  padding: 16px;
330
- background: var(--xto-fill-color-light, #F9FAFB);
330
+ background: var(--xto-fill-color-light, #F7F8FA);
331
331
  border-radius: var(--xto-border-radius-base, 6px);
332
332
  text-decoration: none;
333
333
  transition: all 0.2s ease;
@@ -337,7 +337,7 @@ const systemInfo = ref([
337
337
  transform: translateX(4px);
338
338
 
339
339
  .quick-arrow {
340
- color: var(--xto-color-primary, #4F46E5);
340
+ color: var(--xto-color-primary, #12B6AF);
341
341
  transform: translateX(4px);
342
342
  }
343
343
  }
@@ -362,13 +362,13 @@ const systemInfo = ref([
362
362
  .quick-title {
363
363
  font-size: 15px;
364
364
  font-weight: 500;
365
- color: var(--xto-color-text-primary, #1F2937);
365
+ color: var(--xto-color-text-primary, #1F2329);
366
366
  margin-bottom: 4px;
367
367
  }
368
368
 
369
369
  .quick-desc {
370
370
  font-size: 13px;
371
- color: var(--xto-color-text-secondary, #6B7280);
371
+ color: var(--xto-color-text-secondary, #86909C);
372
372
  }
373
373
 
374
374
  .quick-arrow {
@@ -377,7 +377,7 @@ const systemInfo = ref([
377
377
  display: flex;
378
378
  align-items: center;
379
379
  justify-content: center;
380
- color: var(--xto-color-text-placeholder, #9CA3AF);
380
+ color: var(--xto-color-text-placeholder, #A9AEB8);
381
381
  transition: all 0.2s ease;
382
382
 
383
383
  svg {
@@ -405,7 +405,7 @@ const systemInfo = ref([
405
405
  align-items: flex-start;
406
406
  gap: 12px;
407
407
  padding: 14px 0;
408
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
408
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F2F3F5);
409
409
  position: relative;
410
410
 
411
411
  &:last-child {
@@ -424,11 +424,11 @@ const systemInfo = ref([
424
424
  font-weight: 500;
425
425
  flex-shrink: 0;
426
426
 
427
- &.success { background: var(--xto-color-success-lighter, #D1FAE5); color: var(--xto-color-success, #10B981); }
428
- &.warning { background: var(--xto-color-warning-lighter, #FEF3C7); color: var(--xto-color-warning, #F59E0B); }
429
- &.info { background: var(--xto-color-info-lighter, #E5E7EB); color: var(--xto-color-info, #6B7280); }
430
- &.danger { background: var(--xto-color-danger-lighter, #FEE2E2); color: var(--xto-color-danger, #EF4444); }
431
- &.primary { background: var(--xto-color-primary-light-6, #C7D2FE); color: var(--xto-color-primary, #4F46E5); }
427
+ &.success { background: var(--xto-color-success-lighter, #D1FAE5); color: var(--xto-color-success, #2BC48A); }
428
+ &.warning { background: var(--xto-color-warning-lighter, #FEF3C7); color: var(--xto-color-warning, #FF7D00); }
429
+ &.info { background: var(--xto-color-info-lighter, #E5E6EB); color: var(--xto-color-info, #86909C); }
430
+ &.danger { background: var(--xto-color-danger-lighter, #FEE2E2); color: var(--xto-color-danger, #F53F3F); }
431
+ &.primary { background: var(--xto-color-primary-light-6, #C7D2FE); color: var(--xto-color-primary, #12B6AF); }
432
432
  }
433
433
 
434
434
  .activity-content {
@@ -443,18 +443,18 @@ const systemInfo = ref([
443
443
  .activity-user {
444
444
  font-size: 14px;
445
445
  font-weight: 500;
446
- color: var(--xto-color-text-primary, #1F2937);
446
+ color: var(--xto-color-text-primary, #1F2329);
447
447
  margin-right: 8px;
448
448
  }
449
449
 
450
450
  .activity-action {
451
451
  font-size: 14px;
452
- color: var(--xto-color-text-secondary, #6B7280);
452
+ color: var(--xto-color-text-secondary, #86909C);
453
453
  }
454
454
 
455
455
  .activity-time {
456
456
  font-size: 12px;
457
- color: var(--xto-color-text-placeholder, #9CA3AF);
457
+ color: var(--xto-color-text-placeholder, #A9AEB8);
458
458
  }
459
459
 
460
460
  .activity-dot {
@@ -467,11 +467,11 @@ const systemInfo = ref([
467
467
  border-radius: 50%;
468
468
  opacity: 0.6;
469
469
 
470
- &.success { background: var(--xto-color-success, #10B981); }
471
- &.warning { background: var(--xto-color-warning, #F59E0B); }
472
- &.info { background: var(--xto-color-info, #6B7280); }
473
- &.danger { background: var(--xto-color-danger, #EF4444); }
474
- &.primary { background: var(--xto-color-primary, #4F46E5); }
470
+ &.success { background: var(--xto-color-success, #2BC48A); }
471
+ &.warning { background: var(--xto-color-warning, #FF7D00); }
472
+ &.info { background: var(--xto-color-info, #86909C); }
473
+ &.danger { background: var(--xto-color-danger, #F53F3F); }
474
+ &.primary { background: var(--xto-color-primary, #12B6AF); }
475
475
  }
476
476
 
477
477
  // 系统信息
@@ -503,18 +503,18 @@ const systemInfo = ref([
503
503
  justify-content: space-between;
504
504
  align-items: center;
505
505
  padding: 12px 16px;
506
- background: var(--xto-fill-color-light, #F9FAFB);
506
+ background: var(--xto-fill-color-light, #F7F8FA);
507
507
  border-radius: var(--xto-border-radius-base, 6px);
508
508
 
509
509
  .info-label {
510
510
  font-size: 14px;
511
- color: var(--xto-color-text-secondary, #6B7280);
511
+ color: var(--xto-color-text-secondary, #86909C);
512
512
  }
513
513
 
514
514
  .info-value {
515
515
  font-size: 14px;
516
516
  font-weight: 500;
517
- color: var(--xto-color-text-primary, #1F2937);
517
+ color: var(--xto-color-text-primary, #1F2329);
518
518
  }
519
519
  }
520
520
 
@@ -534,13 +534,13 @@ const systemInfo = ref([
534
534
 
535
535
  .status-label {
536
536
  font-size: 14px;
537
- color: var(--xto-color-text-secondary, #6B7280);
537
+ color: var(--xto-color-text-secondary, #86909C);
538
538
  }
539
539
 
540
540
  .status-value {
541
541
  font-size: 14px;
542
542
  font-weight: 500;
543
- color: var(--xto-color-text-primary, #1F2937);
543
+ color: var(--xto-color-text-primary, #1F2329);
544
544
  }
545
545
  }
546
546
  </style>
@@ -33,10 +33,10 @@ const goBack = () => {
33
33
  <svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg">
34
34
  <!-- 盾牌 -->
35
35
  <path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z"
36
- fill="var(--xto-color-warning-light-9, #FFFBEB)" stroke="var(--xto-color-warning, #F59E0B)" stroke-width="2"/>
36
+ fill="var(--xto-color-warning-light-9, #FFF3E8)" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="2"/>
37
37
  <!-- 锁 -->
38
- <rect x="85" y="55" width="30" height="25" rx="4" fill="var(--xto-color-warning, #F59E0B)"/>
39
- <path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--xto-color-warning, #F59E0B)" stroke-width="3"/>
38
+ <rect x="85" y="55" width="30" height="25" rx="4" fill="var(--xto-color-warning, #FF7D00)"/>
39
+ <path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="3"/>
40
40
  <!-- 禁止符号 -->
41
41
  <circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2"/>
42
42
  <line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2"/>
@@ -87,7 +87,7 @@ const goBack = () => {
87
87
  display: flex;
88
88
  align-items: center;
89
89
  justify-content: center;
90
- background: var(--xto-bg-color-page, #F9FAFB);
90
+ background: var(--xto-bg-color-page, #F7F8FA);
91
91
  position: relative;
92
92
  overflow: hidden;
93
93
  }
@@ -115,7 +115,7 @@ const goBack = () => {
115
115
  height: 400px;
116
116
  top: -100px;
117
117
  right: -100px;
118
- background: var(--xto-color-warning, #F59E0B);
118
+ background: var(--xto-color-warning, #FF7D00);
119
119
  }
120
120
 
121
121
  &.circle-2 {
@@ -123,7 +123,7 @@ const goBack = () => {
123
123
  height: 300px;
124
124
  bottom: -50px;
125
125
  left: -50px;
126
- background: var(--xto-color-warning, #F59E0B);
126
+ background: var(--xto-color-warning, #FF7D00);
127
127
  }
128
128
 
129
129
  &.circle-3 {
@@ -151,7 +151,7 @@ const goBack = () => {
151
151
  .code-digit {
152
152
  font-size: 80px;
153
153
  font-weight: 700;
154
- color: var(--xto-color-text-primary, #1F2937);
154
+ color: var(--xto-color-text-primary, #1F2329);
155
155
  line-height: 1;
156
156
  }
157
157
 
@@ -162,7 +162,7 @@ const goBack = () => {
162
162
  display: flex;
163
163
  align-items: center;
164
164
  justify-content: center;
165
- background: linear-gradient(135deg, var(--xto-color-warning, #F59E0B) 0%, var(--xto-color-warning-light, #FDE68A) 100%);
165
+ background: linear-gradient(135deg, var(--xto-color-warning, #FF7D00) 0%, var(--xto-color-warning-light, #FDE68A) 100%);
166
166
  border-radius: 50%;
167
167
 
168
168
  .zero-inner {
@@ -182,13 +182,13 @@ const goBack = () => {
182
182
  .error-title {
183
183
  font-size: 24px;
184
184
  font-weight: 600;
185
- color: var(--xto-color-text-primary, #1F2937);
185
+ color: var(--xto-color-text-primary, #1F2329);
186
186
  margin-bottom: 12px;
187
187
  }
188
188
 
189
189
  .error-desc {
190
190
  font-size: 14px;
191
- color: var(--xto-color-text-secondary, #6B7280);
191
+ color: var(--xto-color-text-secondary, #86909C);
192
192
  margin-bottom: 32px;
193
193
  }
194
194
 
@@ -218,7 +218,7 @@ const goBack = () => {
218
218
  p {
219
219
  font-size: 14px;
220
220
  font-weight: 500;
221
- color: var(--xto-color-text-primary, #1F2937);
221
+ color: var(--xto-color-text-primary, #1F2329);
222
222
  margin-bottom: 12px;
223
223
  }
224
224
 
@@ -229,7 +229,7 @@ const goBack = () => {
229
229
 
230
230
  li {
231
231
  font-size: 13px;
232
- color: var(--xto-color-text-secondary, #6B7280);
232
+ color: var(--xto-color-text-secondary, #86909C);
233
233
  padding: 4px 0;
234
234
  position: relative;
235
235
  padding-left: 16px;
@@ -242,7 +242,7 @@ const goBack = () => {
242
242
  transform: translateY(-50%);
243
243
  width: 6px;
244
244
  height: 6px;
245
- background: var(--xto-color-warning, #F59E0B);
245
+ background: var(--xto-color-warning, #FF7D00);
246
246
  border-radius: 50%;
247
247
  opacity: 0.6;
248
248
  }
@@ -32,16 +32,16 @@ const goBack = () => {
32
32
  <div class="error-illustration">
33
33
  <svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg">
34
34
  <!-- 页面图标 -->
35
- <rect x="40" y="20" width="120" height="80" rx="8" fill="var(--xto-fill-color, #F3F4F6)" stroke="var(--xto-border-color, #D1D5DB)" stroke-width="2"/>
35
+ <rect x="40" y="20" width="120" height="80" rx="8" fill="var(--xto-fill-color, #F2F3F5)" stroke="var(--xto-border-color, #D9DCE1)" stroke-width="2"/>
36
36
  <rect x="50" y="30" width="100" height="60" rx="4" fill="var(--xto-bg-color, #FFFFFF)"/>
37
- <line x1="60" y1="45" x2="140" y2="45" stroke="var(--xto-border-color-light, #E5E7EB)" stroke-width="2"/>
38
- <line x1="60" y1="55" x2="120" y2="55" stroke="var(--xto-border-color-light, #E5E7EB)" stroke-width="2"/>
39
- <line x1="60" y1="65" x2="100" y2="65" stroke="var(--xto-border-color-light, #E5E7EB)" stroke-width="2"/>
37
+ <line x1="60" y1="45" x2="140" y2="45" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2"/>
38
+ <line x1="60" y1="55" x2="120" y2="55" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2"/>
39
+ <line x1="60" y1="65" x2="100" y2="65" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2"/>
40
40
  <!-- 问号 -->
41
- <text x="100" y="75" text-anchor="middle" fill="var(--xto-color-primary, #4F46E5)" font-size="24" font-weight="600">?</text>
41
+ <text x="100" y="75" text-anchor="middle" fill="var(--xto-color-primary, #12B6AF)" font-size="24" font-weight="600">?</text>
42
42
  <!-- 搜索图标 -->
43
- <circle cx="150" cy="35" r="12" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" fill="none"/>
44
- <line x1="158" y1="43" x2="168" y2="53" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" stroke-linecap="round"/>
43
+ <circle cx="150" cy="35" r="12" stroke="var(--xto-color-primary, #12B6AF)" stroke-width="2" fill="none"/>
44
+ <line x1="158" y1="43" x2="168" y2="53" stroke="var(--xto-color-primary, #12B6AF)" stroke-width="2" stroke-linecap="round"/>
45
45
  </svg>
46
46
  </div>
47
47
 
@@ -89,7 +89,7 @@ const goBack = () => {
89
89
  display: flex;
90
90
  align-items: center;
91
91
  justify-content: center;
92
- background: var(--xto-bg-color-page, #F9FAFB);
92
+ background: var(--xto-bg-color-page, #F7F8FA);
93
93
  position: relative;
94
94
  overflow: hidden;
95
95
  }
@@ -117,7 +117,7 @@ const goBack = () => {
117
117
  height: 400px;
118
118
  top: -100px;
119
119
  right: -100px;
120
- background: var(--xto-color-primary, #4F46E5);
120
+ background: var(--xto-color-primary, #12B6AF);
121
121
  }
122
122
 
123
123
  &.circle-2 {
@@ -125,7 +125,7 @@ const goBack = () => {
125
125
  height: 300px;
126
126
  bottom: -50px;
127
127
  left: -50px;
128
- background: var(--xto-color-info, #6B7280);
128
+ background: var(--xto-color-info, #86909C);
129
129
  }
130
130
 
131
131
  &.circle-3 {
@@ -134,7 +134,7 @@ const goBack = () => {
134
134
  top: 50%;
135
135
  left: 50%;
136
136
  transform: translate(-50%, -50%);
137
- background: var(--xto-color-primary-light-3, #818CF8);
137
+ background: var(--xto-color-primary-light-3, #51DAD3);
138
138
  }
139
139
  }
140
140
  }
@@ -153,7 +153,7 @@ const goBack = () => {
153
153
  .code-digit {
154
154
  font-size: 80px;
155
155
  font-weight: 700;
156
- color: var(--xto-color-text-primary, #1F2937);
156
+ color: var(--xto-color-text-primary, #1F2329);
157
157
  line-height: 1;
158
158
  }
159
159
 
@@ -164,7 +164,7 @@ const goBack = () => {
164
164
  display: flex;
165
165
  align-items: center;
166
166
  justify-content: center;
167
- background: linear-gradient(135deg, var(--xto-color-primary, #4F46E5) 0%, var(--xto-color-primary-light-1, #5B54E8) 100%);
167
+ background: linear-gradient(135deg, var(--xto-color-primary, #12B6AF) 0%, var(--xto-color-primary-light-1, #17C3BB) 100%);
168
168
  border-radius: 50%;
169
169
 
170
170
  .zero-inner {
@@ -184,13 +184,13 @@ const goBack = () => {
184
184
  .error-title {
185
185
  font-size: 24px;
186
186
  font-weight: 600;
187
- color: var(--xto-color-text-primary, #1F2937);
187
+ color: var(--xto-color-text-primary, #1F2329);
188
188
  margin-bottom: 12px;
189
189
  }
190
190
 
191
191
  .error-desc {
192
192
  font-size: 14px;
193
- color: var(--xto-color-text-secondary, #6B7280);
193
+ color: var(--xto-color-text-secondary, #86909C);
194
194
  margin-bottom: 32px;
195
195
  }
196
196
 
@@ -214,13 +214,13 @@ const goBack = () => {
214
214
 
215
215
  .error-tip {
216
216
  padding: 20px;
217
- background: var(--xto-fill-color-light, #F9FAFB);
217
+ background: var(--xto-fill-color-light, #F7F8FA);
218
218
  border-radius: var(--xto-border-radius-large, 8px);
219
219
 
220
220
  p {
221
221
  font-size: 14px;
222
222
  font-weight: 500;
223
- color: var(--xto-color-text-primary, #1F2937);
223
+ color: var(--xto-color-text-primary, #1F2329);
224
224
  margin-bottom: 12px;
225
225
  }
226
226
 
@@ -231,7 +231,7 @@ const goBack = () => {
231
231
 
232
232
  li {
233
233
  font-size: 13px;
234
- color: var(--xto-color-text-secondary, #6B7280);
234
+ color: var(--xto-color-text-secondary, #86909C);
235
235
  padding: 4px 0;
236
236
  position: relative;
237
237
  padding-left: 16px;
@@ -244,7 +244,7 @@ const goBack = () => {
244
244
  transform: translateY(-50%);
245
245
  width: 6px;
246
246
  height: 6px;
247
- background: var(--xto-color-primary, #4F46E5);
247
+ background: var(--xto-color-primary, #12B6AF);
248
248
  border-radius: 50%;
249
249
  opacity: 0.6;
250
250
  }
@@ -252,7 +252,7 @@ const handleLogin = async () => {
252
252
  width: 100%;
253
253
  min-height: 100vh;
254
254
  display: flex;
255
- background: var(--xto-bg-color-page, #F5F7FA);
255
+ background: var(--xto-bg-color-page, #F7F8FA);
256
256
  }
257
257
 
258
258
  // 左侧品牌区域(淡紫蓝渐变网格背景,纯 CSS 无图片资源)
@@ -262,7 +262,7 @@ const handleLogin = async () => {
262
262
  display: flex;
263
263
  align-items: center;
264
264
  justify-content: center;
265
- background: linear-gradient(135deg, #172E6E 0%, #1E3A8A 45%, #1D4ED8 100%);
265
+ background: linear-gradient(135deg, #095755 0%, #0B6B67 45%, #12B6AF 100%);
266
266
  overflow: hidden;
267
267
 
268
268
  @media (max-width: 992px) {
@@ -462,13 +462,13 @@ const handleLogin = async () => {
462
462
  h2 {
463
463
  font-size: 28px;
464
464
  font-weight: 600;
465
- color: var(--xto-color-text-primary, #0F172A);
465
+ color: var(--xto-color-text-primary, #1F2329);
466
466
  margin-bottom: 8px;
467
467
  }
468
468
 
469
469
  p {
470
470
  font-size: 14px;
471
- color: var(--xto-color-text-secondary, #64748B);
471
+ color: var(--xto-color-text-secondary, #86909C);
472
472
  }
473
473
  }
474
474
 
@@ -481,7 +481,7 @@ const handleLogin = async () => {
481
481
  display: block;
482
482
  font-size: 14px;
483
483
  font-weight: 500;
484
- color: var(--xto-color-text-regular, #334155);
484
+ color: var(--xto-color-text-regular, #4E5566);
485
485
  margin-bottom: 8px;
486
486
  }
487
487
 
@@ -495,7 +495,7 @@ const handleLogin = async () => {
495
495
 
496
496
  :deep(.x-input__prefix) {
497
497
  margin-right: 12px;
498
- color: var(--xto-color-text-placeholder, #94A3B8);
498
+ color: var(--xto-color-text-placeholder, #A9AEB8);
499
499
  }
500
500
  }
501
501
 
@@ -507,12 +507,12 @@ const handleLogin = async () => {
507
507
 
508
508
  .forgot-link {
509
509
  font-size: 14px;
510
- color: var(--xto-color-primary, #1D4ED8);
510
+ color: var(--xto-color-primary, #12B6AF);
511
511
  text-decoration: none;
512
512
  transition: color 0.2s;
513
513
 
514
514
  &:hover {
515
- color: var(--xto-color-primary-dark-1, #1E40AF);
515
+ color: var(--xto-color-primary-dark-1, #0D7F7A);
516
516
  }
517
517
  }
518
518
  }
@@ -539,12 +539,12 @@ const handleLogin = async () => {
539
539
  .form-footer {
540
540
  margin-top: 32px;
541
541
  padding-top: 24px;
542
- border-top: 1px solid var(--xto-border-color-lighter, #EDF2F7);
542
+ border-top: 1px solid var(--xto-border-color-lighter, #EDEEF1);
543
543
  text-align: center;
544
544
 
545
545
  p {
546
546
  font-size: 13px;
547
- color: var(--xto-color-text-placeholder, #94A3B8);
547
+ color: var(--xto-color-text-placeholder, #A9AEB8);
548
548
  margin-bottom: 16px;
549
549
  }
550
550
 
@@ -560,12 +560,12 @@ const handleLogin = async () => {
560
560
  display: flex;
561
561
  align-items: center;
562
562
  justify-content: center;
563
- background: var(--xto-fill-color, #F1F5F9);
563
+ background: var(--xto-fill-color, #F2F3F5);
564
564
  border: none;
565
565
  border-radius: 50%;
566
566
  cursor: pointer;
567
567
  transition: all 0.2s ease;
568
- color: var(--xto-color-text-secondary, #64748B);
568
+ color: var(--xto-color-text-secondary, #86909C);
569
569
 
570
570
  svg {
571
571
  width: 20px;
@@ -573,8 +573,8 @@ const handleLogin = async () => {
573
573
  }
574
574
 
575
575
  &:hover {
576
- background: var(--xto-color-primary-light-8, #DBEAFE);
577
- color: var(--xto-color-primary, #1D4ED8);
576
+ background: var(--xto-color-primary-light-8, #DDF6F4);
577
+ color: var(--xto-color-primary, #12B6AF);
578
578
  transform: translateY(-2px);
579
579
  }
580
580
  }
@@ -586,7 +586,7 @@ const handleLogin = async () => {
586
586
 
587
587
  p {
588
588
  font-size: 12px;
589
- color: var(--xto-color-text-placeholder, #94A3B8);
589
+ color: var(--xto-color-text-placeholder, #A9AEB8);
590
590
  }
591
591
  }
592
592
  }
@@ -275,9 +275,9 @@ onMounted(() => {
275
275
  <svg viewBox="0 0 64 41" fill="none">
276
276
  <g transform="translate(0 1)">
277
277
  <ellipse fill="#f5f5f5" cx="32" cy="33" rx="32" ry="7"/>
278
- <g stroke="var(--xto-color-text-placeholder, #9CA3AF)" stroke-width="2">
278
+ <g stroke="var(--xto-color-text-placeholder, #A9AEB8)" stroke-width="2">
279
279
  <path d="M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"/>
280
- <path d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" fill="var(--xto-fill-color, #F3F4F6)"/>
280
+ <path d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" fill="var(--xto-fill-color, #F2F3F5)"/>
281
281
  </g>
282
282
  </g>
283
283
  </svg>
@@ -446,7 +446,7 @@ onMounted(() => {
446
446
  <style lang="scss" scoped>
447
447
  .menu-page {
448
448
  padding: 24px;
449
- background: var(--xto-bg-color-page, #F9FAFB);
449
+ background: var(--xto-bg-color-page, #F7F8FA);
450
450
  min-height: 100%;
451
451
  }
452
452
 
@@ -463,7 +463,7 @@ onMounted(() => {
463
463
  justify-content: space-between;
464
464
  align-items: center;
465
465
  padding: 16px 24px;
466
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
466
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F2F3F5);
467
467
 
468
468
  .toolbar-left {
469
469
  display: flex;
@@ -472,7 +472,7 @@ onMounted(() => {
472
472
 
473
473
  .table-count {
474
474
  font-size: 14px;
475
- color: var(--xto-color-text-secondary, #6B7280);
475
+ color: var(--xto-color-text-secondary, #86909C);
476
476
  }
477
477
  }
478
478
 
@@ -488,14 +488,14 @@ onMounted(() => {
488
488
  th, td {
489
489
  padding: 14px 16px;
490
490
  text-align: left;
491
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
491
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F2F3F5);
492
492
  }
493
493
 
494
494
  th {
495
495
  font-size: 14px;
496
496
  font-weight: 500;
497
- color: var(--xto-color-text-secondary, #6B7280);
498
- background: var(--xto-fill-color-light, #F9FAFB);
497
+ color: var(--xto-color-text-secondary, #86909C);
498
+ background: var(--xto-fill-color-light, #F7F8FA);
499
499
  white-space: nowrap;
500
500
  }
501
501
 
@@ -522,7 +522,7 @@ onMounted(() => {
522
522
  flex-direction: column;
523
523
  align-items: center;
524
524
  gap: 16px;
525
- color: var(--xto-color-text-placeholder, #9CA3AF);
525
+ color: var(--xto-color-text-placeholder, #A9AEB8);
526
526
 
527
527
  svg {
528
528
  width: 64px;
@@ -533,8 +533,8 @@ onMounted(() => {
533
533
  .loading-spinner {
534
534
  width: 32px;
535
535
  height: 32px;
536
- border: 3px solid var(--xto-border-color-lighter, #F3F4F6);
537
- border-top-color: var(--xto-color-primary, #4F46E5);
536
+ border: 3px solid var(--xto-border-color-lighter, #F2F3F5);
537
+ border-top-color: var(--xto-color-primary, #12B6AF);
538
538
  border-radius: 50%;
539
539
  animation: spin 0.8s linear infinite;
540
540
  }
@@ -561,7 +561,7 @@ onMounted(() => {
561
561
  display: inline-block;
562
562
  width: 16px;
563
563
  height: 1px;
564
- background: var(--xto-border-color-light, #E5E7EB);
564
+ background: var(--xto-border-color-light, #E5E6EB);
565
565
  margin-right: 8px;
566
566
  vertical-align: middle;
567
567
  }
@@ -583,7 +583,7 @@ onMounted(() => {
583
583
  display: flex;
584
584
  align-items: center;
585
585
  justify-content: center;
586
- background: var(--xto-fill-color-light, #F9FAFB);
586
+ background: var(--xto-fill-color-light, #F7F8FA);
587
587
  border-radius: var(--xto-border-radius-base, 6px);
588
588
  font-size: 14px;
589
589
  }
@@ -591,12 +591,12 @@ onMounted(() => {
591
591
  .menu-title {
592
592
  font-size: 14px;
593
593
  font-weight: 500;
594
- color: var(--xto-color-text-primary, #1F2937);
594
+ color: var(--xto-color-text-primary, #1F2329);
595
595
  cursor: pointer;
596
596
  transition: color 0.2s;
597
597
 
598
598
  &:hover {
599
- color: var(--xto-color-primary, #4F46E5);
599
+ color: var(--xto-color-primary, #12B6AF);
600
600
  }
601
601
  }
602
602
 
@@ -616,9 +616,9 @@ onMounted(() => {
616
616
  font-family: 'SF Mono', Monaco, Consolas, monospace;
617
617
  font-size: 12px;
618
618
  padding: 4px 8px;
619
- background: var(--xto-fill-color-light, #F9FAFB);
619
+ background: var(--xto-fill-color-light, #F7F8FA);
620
620
  border-radius: var(--xto-border-radius-small, 4px);
621
- color: var(--xto-color-text-secondary, #6B7280);
621
+ color: var(--xto-color-text-secondary, #86909C);
622
622
  }
623
623
 
624
624
  .col-type {
@@ -636,10 +636,10 @@ onMounted(() => {
636
636
  min-width: 24px;
637
637
  height: 24px;
638
638
  padding: 0 8px;
639
- background: var(--xto-fill-color, #F3F4F6);
639
+ background: var(--xto-fill-color, #F2F3F5);
640
640
  border-radius: 12px;
641
641
  font-size: 12px;
642
- color: var(--xto-color-text-secondary, #6B7280);
642
+ color: var(--xto-color-text-secondary, #86909C);
643
643
  }
644
644
 
645
645
  .col-status {
@@ -684,7 +684,7 @@ onMounted(() => {
684
684
 
685
685
  .status-label {
686
686
  font-size: 14px;
687
- color: var(--xto-color-text-secondary, #6B7280);
687
+ color: var(--xto-color-text-secondary, #86909C);
688
688
  }
689
689
  }
690
690
  </style>