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
@@ -237,9 +237,9 @@ onMounted(() => {
237
237
  <svg viewBox="0 0 64 41" fill="none">
238
238
  <g transform="translate(0 1)">
239
239
  <ellipse fill="#f5f5f5" cx="32" cy="33" rx="32" ry="7"/>
240
- <g stroke="var(--xto-color-text-placeholder, #9CA3AF)" stroke-width="2">
240
+ <g stroke="var(--xto-color-text-placeholder, #A9AEB8)" stroke-width="2">
241
241
  <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"/>
242
- <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)"/>
242
+ <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)"/>
243
243
  </g>
244
244
  </g>
245
245
  </svg>
@@ -351,7 +351,7 @@ onMounted(() => {
351
351
  <style lang="scss" scoped>
352
352
  .role-page {
353
353
  padding: 24px;
354
- background: var(--xto-bg-color-page, #F9FAFB);
354
+ background: var(--xto-bg-color-page, #F7F8FA);
355
355
  min-height: 100%;
356
356
  }
357
357
 
@@ -392,7 +392,7 @@ onMounted(() => {
392
392
  justify-content: space-between;
393
393
  align-items: center;
394
394
  padding: 16px 24px;
395
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
395
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F2F3F5);
396
396
 
397
397
  .toolbar-left {
398
398
  display: flex;
@@ -401,7 +401,7 @@ onMounted(() => {
401
401
 
402
402
  .table-count {
403
403
  font-size: 14px;
404
- color: var(--xto-color-text-secondary, #6B7280);
404
+ color: var(--xto-color-text-secondary, #86909C);
405
405
  }
406
406
  }
407
407
 
@@ -417,14 +417,14 @@ onMounted(() => {
417
417
  th, td {
418
418
  padding: 14px 16px;
419
419
  text-align: left;
420
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
420
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F2F3F5);
421
421
  }
422
422
 
423
423
  th {
424
424
  font-size: 14px;
425
425
  font-weight: 500;
426
- color: var(--xto-color-text-secondary, #6B7280);
427
- background: var(--xto-fill-color-light, #F9FAFB);
426
+ color: var(--xto-color-text-secondary, #86909C);
427
+ background: var(--xto-fill-color-light, #F7F8FA);
428
428
  white-space: nowrap;
429
429
  }
430
430
 
@@ -451,7 +451,7 @@ onMounted(() => {
451
451
  flex-direction: column;
452
452
  align-items: center;
453
453
  gap: 16px;
454
- color: var(--xto-color-text-placeholder, #9CA3AF);
454
+ color: var(--xto-color-text-placeholder, #A9AEB8);
455
455
 
456
456
  svg {
457
457
  width: 64px;
@@ -462,8 +462,8 @@ onMounted(() => {
462
462
  .loading-spinner {
463
463
  width: 32px;
464
464
  height: 32px;
465
- border: 3px solid var(--xto-border-color-lighter, #F3F4F6);
466
- border-top-color: var(--xto-color-primary, #4F46E5);
465
+ border: 3px solid var(--xto-border-color-lighter, #F2F3F5);
466
+ border-top-color: var(--xto-color-primary, #12B6AF);
467
467
  border-radius: 50%;
468
468
  animation: spin 0.8s linear infinite;
469
469
  }
@@ -482,11 +482,11 @@ onMounted(() => {
482
482
  display: inline-block;
483
483
  min-width: 32px;
484
484
  padding: 4px 10px;
485
- background: var(--xto-fill-color, #F3F4F6);
485
+ background: var(--xto-fill-color, #F2F3F5);
486
486
  border-radius: 12px;
487
487
  font-size: 12px;
488
488
  font-weight: 500;
489
- color: var(--xto-color-text-secondary, #6B7280);
489
+ color: var(--xto-color-text-secondary, #86909C);
490
490
  text-align: center;
491
491
  }
492
492
 
@@ -497,7 +497,7 @@ onMounted(() => {
497
497
  .role-name {
498
498
  font-size: 14px;
499
499
  font-weight: 500;
500
- color: var(--xto-color-text-primary, #1F2937);
500
+ color: var(--xto-color-text-primary, #1F2329);
501
501
  }
502
502
 
503
503
  .col-code {
@@ -510,7 +510,7 @@ onMounted(() => {
510
510
 
511
511
  .desc-text {
512
512
  font-size: 14px;
513
- color: var(--xto-color-text-secondary, #6B7280);
513
+ color: var(--xto-color-text-secondary, #86909C);
514
514
  }
515
515
 
516
516
  .col-status {
@@ -525,10 +525,10 @@ onMounted(() => {
525
525
 
526
526
  .status-text {
527
527
  font-size: 13px;
528
- color: var(--xto-color-text-secondary, #6B7280);
528
+ color: var(--xto-color-text-secondary, #86909C);
529
529
 
530
530
  &.enabled {
531
- color: var(--xto-color-success, #10B981);
531
+ color: var(--xto-color-success, #2BC48A);
532
532
  }
533
533
  }
534
534
 
@@ -538,7 +538,7 @@ onMounted(() => {
538
538
 
539
539
  .time-text {
540
540
  font-size: 13px;
541
- color: var(--xto-color-text-secondary, #6B7280);
541
+ color: var(--xto-color-text-secondary, #86909C);
542
542
  }
543
543
 
544
544
  .col-actions {
@@ -562,7 +562,7 @@ onMounted(() => {
562
562
  display: flex;
563
563
  justify-content: flex-end;
564
564
  padding: 16px 24px;
565
- border-top: 1px solid var(--xto-border-color-lighter, #F3F4F6);
565
+ border-top: 1px solid var(--xto-border-color-lighter, #F2F3F5);
566
566
  }
567
567
 
568
568
  // 弹窗表单
@@ -577,7 +577,7 @@ onMounted(() => {
577
577
 
578
578
  .status-label {
579
579
  font-size: 14px;
580
- color: var(--xto-color-text-secondary, #6B7280);
580
+ color: var(--xto-color-text-secondary, #86909C);
581
581
  }
582
582
  }
583
583
  </style>
@@ -247,9 +247,9 @@ onMounted(() => {
247
247
  <svg viewBox="0 0 64 41" fill="none">
248
248
  <g transform="translate(0 1)">
249
249
  <ellipse fill="#f5f5f5" cx="32" cy="33" rx="32" ry="7"/>
250
- <g stroke="var(--xto-color-text-placeholder, #9CA3AF)" stroke-width="2">
250
+ <g stroke="var(--xto-color-text-placeholder, #A9AEB8)" stroke-width="2">
251
251
  <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"/>
252
- <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)"/>
252
+ <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)"/>
253
253
  </g>
254
254
  </g>
255
255
  </svg>
@@ -377,7 +377,7 @@ onMounted(() => {
377
377
  <style lang="scss" scoped>
378
378
  .user-page {
379
379
  padding: 24px;
380
- background: var(--xto-bg-color-page, #F9FAFB);
380
+ background: var(--xto-bg-color-page, #F7F8FA);
381
381
  min-height: 100%;
382
382
  }
383
383
 
@@ -418,7 +418,7 @@ onMounted(() => {
418
418
  justify-content: space-between;
419
419
  align-items: center;
420
420
  padding: 16px 24px;
421
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
421
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F2F3F5);
422
422
 
423
423
  .toolbar-left {
424
424
  display: flex;
@@ -427,7 +427,7 @@ onMounted(() => {
427
427
 
428
428
  .table-count {
429
429
  font-size: 14px;
430
- color: var(--xto-color-text-secondary, #6B7280);
430
+ color: var(--xto-color-text-secondary, #86909C);
431
431
  }
432
432
  }
433
433
 
@@ -443,14 +443,14 @@ onMounted(() => {
443
443
  th, td {
444
444
  padding: 14px 16px;
445
445
  text-align: left;
446
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
446
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F2F3F5);
447
447
  }
448
448
 
449
449
  th {
450
450
  font-size: 14px;
451
451
  font-weight: 500;
452
- color: var(--xto-color-text-secondary, #6B7280);
453
- background: var(--xto-fill-color-light, #F9FAFB);
452
+ color: var(--xto-color-text-secondary, #86909C);
453
+ background: var(--xto-fill-color-light, #F7F8FA);
454
454
  white-space: nowrap;
455
455
  }
456
456
 
@@ -477,7 +477,7 @@ onMounted(() => {
477
477
  flex-direction: column;
478
478
  align-items: center;
479
479
  gap: 16px;
480
- color: var(--xto-color-text-placeholder, #9CA3AF);
480
+ color: var(--xto-color-text-placeholder, #A9AEB8);
481
481
 
482
482
  svg {
483
483
  width: 64px;
@@ -488,8 +488,8 @@ onMounted(() => {
488
488
  .loading-spinner {
489
489
  width: 32px;
490
490
  height: 32px;
491
- border: 3px solid var(--xto-border-color-lighter, #F3F4F6);
492
- border-top-color: var(--xto-color-primary, #4F46E5);
491
+ border: 3px solid var(--xto-border-color-lighter, #F2F3F5);
492
+ border-top-color: var(--xto-color-primary, #12B6AF);
493
493
  border-radius: 50%;
494
494
  animation: spin 0.8s linear infinite;
495
495
  }
@@ -508,11 +508,11 @@ onMounted(() => {
508
508
  display: inline-block;
509
509
  min-width: 32px;
510
510
  padding: 4px 10px;
511
- background: var(--xto-fill-color, #F3F4F6);
511
+ background: var(--xto-fill-color, #F2F3F5);
512
512
  border-radius: 12px;
513
513
  font-size: 12px;
514
514
  font-weight: 500;
515
- color: var(--xto-color-text-secondary, #6B7280);
515
+ color: var(--xto-color-text-secondary, #86909C);
516
516
  text-align: center;
517
517
  }
518
518
 
@@ -532,7 +532,7 @@ onMounted(() => {
532
532
  display: flex;
533
533
  align-items: center;
534
534
  justify-content: center;
535
- background: linear-gradient(135deg, var(--xto-color-primary, #4F46E5) 0%, var(--xto-color-primary-light-1, #5B54E8) 100%);
535
+ background: linear-gradient(135deg, var(--xto-color-primary, #12B6AF) 0%, var(--xto-color-primary-light-1, #17C3BB) 100%);
536
536
  border-radius: 50%;
537
537
  font-size: 16px;
538
538
  font-weight: 500;
@@ -549,12 +549,12 @@ onMounted(() => {
549
549
  .user-nickname {
550
550
  font-size: 14px;
551
551
  font-weight: 500;
552
- color: var(--xto-color-text-primary, #1F2937);
552
+ color: var(--xto-color-text-primary, #1F2329);
553
553
  }
554
554
 
555
555
  .user-username {
556
556
  font-size: 12px;
557
- color: var(--xto-color-text-placeholder, #9CA3AF);
557
+ color: var(--xto-color-text-placeholder, #A9AEB8);
558
558
  }
559
559
 
560
560
  .col-contact {
@@ -570,11 +570,11 @@ onMounted(() => {
570
570
  .contact-email,
571
571
  .contact-phone {
572
572
  font-size: 13px;
573
- color: var(--xto-color-text-regular, #4B5563);
573
+ color: var(--xto-color-text-regular, #4E5566);
574
574
  }
575
575
 
576
576
  .contact-phone {
577
- color: var(--xto-color-text-secondary, #6B7280);
577
+ color: var(--xto-color-text-secondary, #86909C);
578
578
  }
579
579
 
580
580
  .col-roles {
@@ -598,10 +598,10 @@ onMounted(() => {
598
598
 
599
599
  .status-text {
600
600
  font-size: 13px;
601
- color: var(--xto-color-text-secondary, #6B7280);
601
+ color: var(--xto-color-text-secondary, #86909C);
602
602
 
603
603
  &.enabled {
604
- color: var(--xto-color-success, #10B981);
604
+ color: var(--xto-color-success, #2BC48A);
605
605
  }
606
606
  }
607
607
 
@@ -611,7 +611,7 @@ onMounted(() => {
611
611
 
612
612
  .time-text {
613
613
  font-size: 13px;
614
- color: var(--xto-color-text-secondary, #6B7280);
614
+ color: var(--xto-color-text-secondary, #86909C);
615
615
  }
616
616
 
617
617
  .col-actions {
@@ -635,7 +635,7 @@ onMounted(() => {
635
635
  display: flex;
636
636
  justify-content: flex-end;
637
637
  padding: 16px 24px;
638
- border-top: 1px solid var(--xto-border-color-lighter, #F3F4F6);
638
+ border-top: 1px solid var(--xto-border-color-lighter, #F2F3F5);
639
639
  }
640
640
 
641
641
  // 弹窗表单
@@ -650,7 +650,7 @@ onMounted(() => {
650
650
 
651
651
  .status-label {
652
652
  font-size: 14px;
653
- color: var(--xto-color-text-secondary, #6B7280);
653
+ color: var(--xto-color-text-secondary, #86909C);
654
654
  }
655
655
  }
656
656
  </style>