xto-fronted 0.4.113 → 0.5.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 (114) hide show
  1. package/dist/assets/404-BYUyVmEj.js +1 -0
  2. package/dist/assets/404-CcAc5uFh.css +1 -0
  3. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  4. package/dist/assets/index-4oN1au3P.css +1 -0
  5. package/dist/assets/index-BEwGthu5.js +1 -0
  6. package/dist/assets/index-BG5gsGCY.js +1 -0
  7. package/dist/assets/index-BHABoX0X.css +1 -0
  8. package/dist/assets/index-BRR97dc6.js +1 -0
  9. package/dist/assets/index-BUqGJdah.css +1 -0
  10. package/dist/assets/index-BvN8lC5q.js +1 -0
  11. package/dist/assets/index-C6ibP7SB.css +1 -0
  12. package/dist/assets/index-CJGmoNxx.css +1 -0
  13. package/dist/assets/index-DPrbBY2e.css +1 -0
  14. package/dist/assets/index-DUV7VLAm.js +2 -0
  15. package/dist/assets/index-DcPnYH2c.js +1 -0
  16. package/dist/assets/index-DhwBftHU.css +1 -0
  17. package/dist/assets/index-oc3LDwZZ.js +1 -0
  18. package/dist/assets/index-vuy5HH8m.js +1 -0
  19. package/dist/assets/vendor-CWD9azq9.js +16 -0
  20. package/dist/assets/vue-vendor-sSbh4bdR.js +29 -0
  21. package/dist/assets/xto-base-Bv2ek7Ha.css +1 -0
  22. package/dist/assets/xto-base-kM8Cl-e6.js +1 -0
  23. package/dist/assets/xto-business-CW6DXcvI.css +1 -0
  24. package/dist/assets/xto-core-DsKtn1lm.js +1 -0
  25. package/dist/assets/xto-data-CDPTH0CA.js +1 -0
  26. package/dist/assets/xto-data-CEFTtli6.css +1 -0
  27. package/dist/assets/xto-feedback-Di1AeKNY.css +1 -0
  28. package/dist/assets/xto-feedback-Dp_1dES5.js +1 -0
  29. package/dist/assets/xto-form-Bl3jCZ4e.js +1 -0
  30. package/dist/assets/xto-form-DC11rd9L.css +1 -0
  31. package/dist/assets/xto-layout-BR7iLA0e.css +1 -0
  32. package/dist/assets/xto-navigation-Bl-kwgN_.css +1 -0
  33. package/dist/assets/xto-navigation-Brox2Ork.js +1 -0
  34. package/dist/index.html +28 -0
  35. package/package.json +18 -19
  36. package/src/App.vue +9 -9
  37. package/src/assets/styles/_dark.scss +181 -181
  38. package/src/assets/styles/_reset.scss +14 -14
  39. package/src/assets/styles/_root.scss +153 -132
  40. package/src/assets/styles/_transition.scss +10 -10
  41. package/src/assets/styles/_variables.scss +26 -25
  42. package/src/assets/styles/index.scss +62 -62
  43. package/src/components/Layout/Footer.vue +1 -1
  44. package/src/components/Layout/Header.vue +69 -69
  45. package/src/components/Layout/MixTopMenu.vue +66 -66
  46. package/src/components/Layout/Sidebar.vue +6 -6
  47. package/src/components/Layout/SidebarMenuItem.vue +3 -3
  48. package/src/components/Layout/Tabs.vue +6 -6
  49. package/src/components/Layout/TopMenu.vue +66 -66
  50. package/src/components/Layout/index.vue +7 -7
  51. package/src/stores/app.ts +4 -4
  52. package/src/style.scss +14 -14
  53. package/src/views/dashboard/index.vue +54 -54
  54. package/src/views/error/403.vue +18 -18
  55. package/src/views/error/404.vue +23 -23
  56. package/src/views/login/index.vue +20 -20
  57. package/src/views/system/menu/index.vue +26 -26
  58. package/src/views/system/role/index.vue +27 -27
  59. package/src/views/system/user/index.vue +30 -30
  60. package/dist/App.vue.d.ts +0 -2
  61. package/dist/api/auth.d.ts +0 -8
  62. package/dist/api/index.d.ts +0 -6
  63. package/dist/api/index.js +0 -26
  64. package/dist/api/system.d.ts +0 -16
  65. package/dist/api/user.d.ts +0 -13
  66. package/dist/api.d.ts +0 -2
  67. package/dist/components/Layout/Footer.vue.d.ts +0 -2
  68. package/dist/components/Layout/Header.vue.d.ts +0 -5
  69. package/dist/components/Layout/MixTopMenu.vue.d.ts +0 -10
  70. package/dist/components/Layout/Sidebar.vue.d.ts +0 -13
  71. package/dist/components/Layout/SidebarMenuItem.vue.d.ts +0 -5
  72. package/dist/components/Layout/Tabs.vue.d.ts +0 -2
  73. package/dist/components/Layout/TopMenu.vue.d.ts +0 -10
  74. package/dist/components/Layout/index.vue.d.ts +0 -7
  75. package/dist/composables/useApp.d.ts +0 -30
  76. package/dist/composables/useAuth.d.ts +0 -6
  77. package/dist/composables/useForm.d.ts +0 -20
  78. package/dist/composables/useI18n.d.ts +0 -30
  79. package/dist/composables/useTable.d.ts +0 -29
  80. package/dist/directives/permission.d.ts +0 -4
  81. package/dist/enums/index.d.ts +0 -32
  82. package/dist/index-11ZvkUE8.js +0 -641
  83. package/dist/index-BVEs9eIP.js +0 -3171
  84. package/dist/index-BuVnk-Ka.js +0 -189
  85. package/dist/index-CPUyTvNq.js +0 -479
  86. package/dist/index-CaIet-zn.js +0 -515
  87. package/dist/index.d.ts +0 -63
  88. package/dist/index.js +0 -99
  89. package/dist/main.d.ts +0 -0
  90. package/dist/router/dynamicRoutes.d.ts +0 -30
  91. package/dist/router/guards.d.ts +0 -17
  92. package/dist/router/index.d.ts +0 -6
  93. package/dist/router/layoutRoute.d.ts +0 -23
  94. package/dist/router/staticRoutes.d.ts +0 -2
  95. package/dist/stores/app.d.ts +0 -99
  96. package/dist/stores/auth.d.ts +0 -41
  97. package/dist/stores/index.d.ts +0 -10
  98. package/dist/stores/locale.d.ts +0 -42
  99. package/dist/stores/menu.d.ts +0 -83
  100. package/dist/stores/user.d.ts +0 -101
  101. package/dist/style.css +0 -1
  102. package/dist/user-ChcAx-5W.js +0 -1186
  103. package/dist/utils/auth.d.ts +0 -27
  104. package/dist/utils/config.d.ts +0 -51
  105. package/dist/utils/permission.d.ts +0 -17
  106. package/dist/utils/request.d.ts +0 -34
  107. package/dist/utils/storage.d.ts +0 -24
  108. package/dist/views/dashboard/index.vue.d.ts +0 -2
  109. package/dist/views/error/403.vue.d.ts +0 -2
  110. package/dist/views/error/404.vue.d.ts +0 -2
  111. package/dist/views/login/index.vue.d.ts +0 -4
  112. package/dist/views/system/menu/index.vue.d.ts +0 -4
  113. package/dist/views/system/role/index.vue.d.ts +0 -4
  114. package/dist/views/system/user/index.vue.d.ts +0 -4
@@ -584,7 +584,7 @@ onUnmounted(() => {
584
584
  &__logo-text {
585
585
  font-size: 16px;
586
586
  font-weight: 600;
587
- color: var(--color-primary);
587
+ color: var(--xto-color-primary, #4F46E5);
588
588
  }
589
589
 
590
590
  &__menu {
@@ -676,9 +676,9 @@ onUnmounted(() => {
676
676
  height: 16px;
677
677
  font-size: 12px;
678
678
  font-weight: 600;
679
- color: var(--color-primary);
680
- background-color: var(--color-primary-light-8);
681
- border-radius: 4px;
679
+ color: var(--xto-color-primary, #4F46E5);
680
+ background-color: var(--xto-color-primary-light-8, #C7D2FE);
681
+ border-radius: var(--xto-border-radius-small, 4px);
682
682
  }
683
683
 
684
684
  // 右侧操作区域
@@ -692,28 +692,28 @@ onUnmounted(() => {
692
692
  position: relative;
693
693
  display: flex;
694
694
  align-items: center;
695
- background-color: var(--color-fill-light);
696
- border-radius: var(--border-radius-base);
695
+ background-color: var(--xto-fill-color-light, #F9FAFB);
696
+ border-radius: var(--xto-border-radius-base, 6px);
697
697
  padding: 0 12px;
698
698
  height: 32px;
699
699
  width: 200px;
700
700
 
701
701
  &-icon {
702
- color: var(--color-text-secondary);
702
+ color: var(--xto-color-text-secondary, #6B7280);
703
703
  }
704
704
 
705
705
  &-input {
706
706
  flex: 1;
707
707
  height: 100%;
708
708
  font-size: 14px;
709
- color: var(--color-text-primary);
709
+ color: var(--xto-color-text-primary, #1F2937);
710
710
  background: transparent;
711
711
  border: none;
712
712
  outline: none;
713
713
  padding-left: 8px;
714
714
 
715
715
  &::placeholder {
716
- color: var(--color-text-placeholder);
716
+ color: var(--xto-color-text-placeholder, #9CA3AF);
717
717
  }
718
718
  }
719
719
 
@@ -725,9 +725,9 @@ onUnmounted(() => {
725
725
  min-width: 200px;
726
726
  max-height: 300px;
727
727
  overflow-y: auto;
728
- background-color: var(--bg-color);
729
- border-radius: var(--border-radius-base);
730
- box-shadow: var(--box-shadow);
728
+ background-color: var(--xto-bg-color, #FFFFFF);
729
+ border-radius: var(--xto-border-radius-base, 6px);
730
+ box-shadow: var(--xto-shadow-elevated, 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1));
731
731
  z-index: 100;
732
732
  }
733
733
 
@@ -744,17 +744,17 @@ onUnmounted(() => {
744
744
  transition: background-color 0.2s;
745
745
 
746
746
  &:hover {
747
- background-color: var(--color-fill);
747
+ background-color: var(--xto-fill-color, #F3F4F6);
748
748
  }
749
749
 
750
750
  &-title {
751
751
  font-size: 14px;
752
- color: var(--color-text-primary);
752
+ color: var(--xto-color-text-primary, #1F2937);
753
753
  }
754
754
 
755
755
  &-parent {
756
756
  font-size: 12px;
757
- color: var(--color-text-secondary);
757
+ color: var(--xto-color-text-secondary, #6B7280);
758
758
  margin-left: auto;
759
759
  }
760
760
  }
@@ -776,15 +776,15 @@ onUnmounted(() => {
776
776
  height: 16px;
777
777
  font-size: 12px;
778
778
  font-weight: 600;
779
- color: var(--color-primary);
780
- background-color: var(--color-primary-light-8);
781
- border-radius: 4px;
779
+ color: var(--xto-color-primary, #4F46E5);
780
+ background-color: var(--xto-color-primary-light-8, #C7D2FE);
781
+ border-radius: var(--xto-border-radius-small, 4px);
782
782
  }
783
783
 
784
784
  &-empty {
785
785
  padding: 16px 12px;
786
786
  text-align: center;
787
- color: var(--color-text-secondary);
787
+ color: var(--xto-color-text-secondary, #6B7280);
788
788
  font-size: 14px;
789
789
  }
790
790
  }
@@ -796,13 +796,13 @@ onUnmounted(() => {
796
796
  align-items: center;
797
797
  justify-content: center;
798
798
  cursor: pointer;
799
- border-radius: var(--border-radius-base);
800
- color: var(--color-text-regular);
799
+ border-radius: var(--xto-border-radius-base, 6px);
800
+ color: var(--xto-color-text-regular, #4B5563);
801
801
  transition: all 0.2s;
802
802
 
803
803
  &:hover {
804
- background-color: var(--color-fill);
805
- color: var(--color-primary);
804
+ background-color: var(--xto-fill-color, #F3F4F6);
805
+ color: var(--xto-color-primary, #4F46E5);
806
806
  }
807
807
  }
808
808
 
@@ -817,17 +817,17 @@ onUnmounted(() => {
817
817
  gap: 8px;
818
818
  cursor: pointer;
819
819
  padding: 4px 8px;
820
- border-radius: var(--border-radius-base);
820
+ border-radius: var(--xto-border-radius-base, 6px);
821
821
  transition: background-color 0.2s;
822
822
 
823
823
  &:hover {
824
- background-color: var(--color-fill);
824
+ background-color: var(--xto-fill-color, #F3F4F6);
825
825
  }
826
826
  }
827
827
 
828
828
  &-name {
829
829
  font-size: 14px;
830
- color: var(--color-text-primary);
830
+ color: var(--xto-color-text-primary, #1F2937);
831
831
  max-width: 100px;
832
832
  overflow: hidden;
833
833
  text-overflow: ellipsis;
@@ -836,7 +836,7 @@ onUnmounted(() => {
836
836
 
837
837
  &-arrow {
838
838
  font-size: 10px;
839
- color: var(--color-text-secondary);
839
+ color: var(--xto-color-text-secondary, #6B7280);
840
840
  transition: transform 0.2s;
841
841
 
842
842
  &.is-active {
@@ -849,11 +849,11 @@ onUnmounted(() => {
849
849
  width: 32px;
850
850
  height: 32px;
851
851
  border-radius: 50%;
852
- background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light-3));
852
+ background: linear-gradient(135deg, var(--xto-color-primary, #4F46E5), var(--xto-color-primary-light-3, #818CF8));
853
853
  display: flex;
854
854
  align-items: center;
855
855
  justify-content: center;
856
- color: #fff;
856
+ color: var(--xto-bg-color, #FFFFFF);
857
857
  font-size: 14px;
858
858
  font-weight: 500;
859
859
  }
@@ -864,9 +864,9 @@ onUnmounted(() => {
864
864
  top: calc(100% + 8px);
865
865
  right: 0;
866
866
  min-width: 200px;
867
- background-color: var(--bg-color);
868
- border-radius: var(--border-radius-base);
869
- box-shadow: var(--box-shadow);
867
+ background-color: var(--xto-bg-color, #FFFFFF);
868
+ border-radius: var(--xto-border-radius-base, 6px);
869
+ box-shadow: var(--xto-shadow-elevated, 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1));
870
870
  overflow: hidden;
871
871
  z-index: 100;
872
872
 
@@ -881,11 +881,11 @@ onUnmounted(() => {
881
881
  width: 40px;
882
882
  height: 40px;
883
883
  border-radius: 50%;
884
- background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light-3));
884
+ background: linear-gradient(135deg, var(--xto-color-primary, #4F46E5), var(--xto-color-primary-light-3, #818CF8));
885
885
  display: flex;
886
886
  align-items: center;
887
887
  justify-content: center;
888
- color: #fff;
888
+ color: var(--xto-bg-color, #FFFFFF);
889
889
  font-size: 16px;
890
890
  font-weight: 500;
891
891
  }
@@ -897,18 +897,18 @@ onUnmounted(() => {
897
897
  &-name {
898
898
  font-size: 14px;
899
899
  font-weight: 500;
900
- color: var(--color-text-primary);
900
+ color: var(--xto-color-text-primary, #1F2937);
901
901
  }
902
902
 
903
903
  &-role {
904
904
  font-size: 12px;
905
- color: var(--color-text-secondary);
905
+ color: var(--xto-color-text-secondary, #6B7280);
906
906
  margin-top: 2px;
907
907
  }
908
908
 
909
909
  &-divider {
910
910
  height: 1px;
911
- background-color: var(--color-border-lighter);
911
+ background-color: var(--xto-border-color-lighter, #F3F4F6);
912
912
  }
913
913
 
914
914
  &-menu {
@@ -922,20 +922,20 @@ onUnmounted(() => {
922
922
  padding: 10px 16px;
923
923
  cursor: pointer;
924
924
  font-size: 14px;
925
- color: var(--color-text-regular);
925
+ color: var(--xto-color-text-regular, #4B5563);
926
926
  transition: all 0.2s;
927
927
 
928
928
  &:hover {
929
- background-color: var(--color-fill);
930
- color: var(--color-text-primary);
929
+ background-color: var(--xto-fill-color, #F3F4F6);
930
+ color: var(--xto-color-text-primary, #1F2937);
931
931
  }
932
932
 
933
933
  &--danger {
934
- color: var(--color-danger);
934
+ color: var(--xto-color-danger, #EF4444);
935
935
 
936
936
  &:hover {
937
- background-color: var(--color-danger-light);
938
- color: var(--color-danger);
937
+ background-color: var(--xto-color-danger-light, #FEE2E2);
938
+ color: var(--xto-color-danger, #EF4444);
939
939
  }
940
940
  }
941
941
  }
@@ -951,7 +951,7 @@ onUnmounted(() => {
951
951
  .settings-title {
952
952
  font-size: 14px;
953
953
  font-weight: 500;
954
- color: var(--color-text-primary);
954
+ color: var(--xto-color-text-primary, #1F2937);
955
955
  margin-bottom: 12px;
956
956
  }
957
957
 
@@ -967,31 +967,31 @@ onUnmounted(() => {
967
967
  align-items: center;
968
968
  gap: 8px;
969
969
  padding: 12px;
970
- border: 1px solid var(--color-border);
971
- border-radius: var(--border-radius-base);
970
+ border: 1px solid var(--xto-border-color, #D1D5DB);
971
+ border-radius: var(--xto-border-radius-base, 6px);
972
972
  cursor: pointer;
973
973
  transition: all 0.2s;
974
974
 
975
975
  &:hover {
976
- border-color: var(--color-primary-light-5);
976
+ border-color: var(--xto-color-primary-light-5, #A5B4FC);
977
977
  }
978
978
 
979
979
  &.is-active {
980
- border-color: var(--color-primary);
981
- background-color: var(--color-primary-light-9);
980
+ border-color: var(--xto-color-primary, #4F46E5);
981
+ background-color: var(--xto-color-primary-light-9, #EEF2FF);
982
982
  }
983
983
 
984
984
  &__preview {
985
985
  width: 48px;
986
986
  height: 36px;
987
- border: 1px solid var(--color-border-light);
987
+ border: 1px solid var(--xto-border-color-light, #E5E7EB);
988
988
  border-radius: 2px;
989
989
  overflow: hidden;
990
990
  }
991
991
 
992
992
  &__label {
993
993
  font-size: 12px;
994
- color: var(--color-text-regular);
994
+ color: var(--xto-color-text-regular, #4B5563);
995
995
  }
996
996
  }
997
997
 
@@ -1003,7 +1003,7 @@ onUnmounted(() => {
1003
1003
  .preview-aside {
1004
1004
  width: 25%;
1005
1005
  height: 100%;
1006
- background-color: var(--color-primary-light-7);
1006
+ background-color: var(--xto-color-primary-light-7, #E0E7FF);
1007
1007
  }
1008
1008
 
1009
1009
  .preview-main {
@@ -1013,12 +1013,12 @@ onUnmounted(() => {
1013
1013
 
1014
1014
  .preview-header {
1015
1015
  height: 20%;
1016
- background-color: var(--color-border-light);
1016
+ background-color: var(--xto-border-color-light, #E5E7EB);
1017
1017
  }
1018
1018
 
1019
1019
  .preview-content {
1020
1020
  flex: 1;
1021
- background-color: var(--bg-color-page);
1021
+ background-color: var(--xto-bg-color-page, #F9FAFB);
1022
1022
  }
1023
1023
  }
1024
1024
  }
@@ -1030,12 +1030,12 @@ onUnmounted(() => {
1030
1030
 
1031
1031
  .preview-header-full {
1032
1032
  height: 25%;
1033
- background-color: var(--color-primary-light-7);
1033
+ background-color: var(--xto-color-primary-light-7, #E0E7FF);
1034
1034
  }
1035
1035
 
1036
1036
  .preview-content-full {
1037
1037
  flex: 1;
1038
- background-color: var(--bg-color-page);
1038
+ background-color: var(--xto-bg-color-page, #F9FAFB);
1039
1039
  }
1040
1040
  }
1041
1041
 
@@ -1046,12 +1046,12 @@ onUnmounted(() => {
1046
1046
 
1047
1047
  .preview-header-mix {
1048
1048
  height: 25%;
1049
- background-color: var(--color-primary-light-7);
1049
+ background-color: var(--xto-color-primary-light-7, #E0E7FF);
1050
1050
  display: flex;
1051
1051
 
1052
1052
  .preview-mix-left {
1053
1053
  width: 30%;
1054
- background-color: var(--color-primary);
1054
+ background-color: var(--xto-color-primary, #4F46E5);
1055
1055
  }
1056
1056
  }
1057
1057
 
@@ -1061,12 +1061,12 @@ onUnmounted(() => {
1061
1061
 
1062
1062
  .preview-mix-aside {
1063
1063
  width: 25%;
1064
- background-color: var(--color-primary-light-8);
1064
+ background-color: var(--xto-color-primary-light-8, #C7D2FE);
1065
1065
  }
1066
1066
 
1067
1067
  .preview-mix-content {
1068
1068
  flex: 1;
1069
- background-color: var(--bg-color-page);
1069
+ background-color: var(--xto-bg-color-page, #F9FAFB);
1070
1070
  }
1071
1071
  }
1072
1072
  }
@@ -1079,7 +1079,7 @@ onUnmounted(() => {
1079
1079
  .color-option {
1080
1080
  width: 24px;
1081
1081
  height: 24px;
1082
- border-radius: 4px;
1082
+ border-radius: var(--xto-border-radius-small, 4px);
1083
1083
  cursor: pointer;
1084
1084
  display: flex;
1085
1085
  align-items: center;
@@ -1091,7 +1091,7 @@ onUnmounted(() => {
1091
1091
  }
1092
1092
 
1093
1093
  &.is-active {
1094
- box-shadow: 0 0 0 2px var(--bg-color), 0 0 0 4px var(--color-primary);
1094
+ box-shadow: 0 0 0 2px var(--xto-bg-color, #FFFFFF), 0 0 0 4px var(--xto-color-primary, #4F46E5);
1095
1095
  }
1096
1096
  }
1097
1097
 
@@ -1108,7 +1108,7 @@ onUnmounted(() => {
1108
1108
 
1109
1109
  span {
1110
1110
  font-size: 14px;
1111
- color: var(--color-text-regular);
1111
+ color: var(--xto-color-text-regular, #4B5563);
1112
1112
  }
1113
1113
  }
1114
1114
 
@@ -1123,7 +1123,7 @@ onUnmounted(() => {
1123
1123
  width: 100%;
1124
1124
  height: 100%;
1125
1125
  border-radius: 11px;
1126
- background-color: var(--color-border);
1126
+ background-color: var(--xto-border-color, #D1D5DB);
1127
1127
  position: relative;
1128
1128
  transition: background-color 0.2s;
1129
1129
 
@@ -1134,7 +1134,7 @@ onUnmounted(() => {
1134
1134
  left: 2px;
1135
1135
  width: 18px;
1136
1136
  height: 18px;
1137
- background-color: #fff;
1137
+ background-color: var(--xto-bg-color, #FFFFFF);
1138
1138
  border-radius: 50%;
1139
1139
  transition: left 0.2s;
1140
1140
  }
@@ -1142,7 +1142,7 @@ onUnmounted(() => {
1142
1142
 
1143
1143
  &.is-checked {
1144
1144
  .switch-core {
1145
- background-color: var(--color-primary);
1145
+ background-color: var(--xto-color-primary, #4F46E5);
1146
1146
 
1147
1147
  &::after {
1148
1148
  left: 24px;
@@ -138,8 +138,8 @@ const showMixSidebar = computed(() => {
138
138
  .layout__mix-top-menu {
139
139
  width: 100%;
140
140
  height: 50px;
141
- background-color: var(--bg-color);
142
- border-bottom: 1px solid var(--color-border-lighter);
141
+ background-color: var(--xto-bg-color, #FFFFFF);
142
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
143
143
  flex-shrink: 0;
144
144
  }
145
145
 
@@ -162,8 +162,8 @@ const showMixSidebar = computed(() => {
162
162
  width: 100%;
163
163
  height: 50px;
164
164
  box-sizing: border-box;
165
- background-color: var(--bg-color);
166
- border-bottom: 1px solid var(--color-border-lighter);
165
+ background-color: var(--xto-bg-color, #FFFFFF);
166
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
167
167
  flex-shrink: 0;
168
168
  }
169
169
 
@@ -185,15 +185,15 @@ const showMixSidebar = computed(() => {
185
185
  &__header {
186
186
  height: 50px;
187
187
  box-sizing: border-box;
188
- background-color: var(--bg-color);
189
- border-bottom: 1px solid var(--color-border-lighter);
188
+ background-color: var(--xto-bg-color, #FFFFFF);
189
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
190
190
  flex-shrink: 0;
191
191
  }
192
192
 
193
193
  &__content {
194
194
  flex: 1;
195
195
  overflow: auto;
196
- background-color: var(--bg-color-page);
196
+ background-color: var(--xto-bg-color-page, #F9FAFB);
197
197
  padding: 0;
198
198
  }
199
199
  }
package/src/stores/app.ts CHANGED
@@ -21,7 +21,7 @@ export const useAppStore = defineStore('app', () => {
21
21
  const showTabs = ref<boolean>(local.get<boolean>('showTabs') ?? true)
22
22
  const showFooter = ref<boolean>(local.get<boolean>('showFooter') ?? true)
23
23
  const showBreadcrumb = ref<boolean>(local.get<boolean>('showBreadcrumb') ?? true)
24
- const primaryColor = ref<string>(local.get<string>('primaryColor') || '#409eff')
24
+ const primaryColor = ref<string>(local.get<string>('primaryColor') || '#4F46E5')
25
25
  const cachedViews = ref<string[]>([])
26
26
  const mixSubMenus = ref<any[]>([])
27
27
 
@@ -105,7 +105,7 @@ export const useAppStore = defineStore('app', () => {
105
105
  // 设置主题色
106
106
  const setPrimaryColor = (color: string) => {
107
107
  primaryColor.value = color
108
- document.documentElement.style.setProperty('--color-primary', color)
108
+ document.documentElement.style.setProperty('--xto-color-primary', color)
109
109
  local.set('primaryColor', color)
110
110
  }
111
111
 
@@ -137,8 +137,8 @@ export const useAppStore = defineStore('app', () => {
137
137
  // 初始化主题
138
138
  const initTheme = () => {
139
139
  updateTheme()
140
- if (primaryColor.value !== '#409eff') {
141
- document.documentElement.style.setProperty('--color-primary', primaryColor.value)
140
+ if (primaryColor.value !== '#4F46E5') {
141
+ document.documentElement.style.setProperty('--xto-color-primary', primaryColor.value)
142
142
  }
143
143
  }
144
144
 
package/src/style.scss CHANGED
@@ -1,14 +1,14 @@
1
- /**
2
- * xto-fronted 样式入口
3
- * 组件样式已包含在各自的 Vue 组件中(scoped)
4
- */
5
-
6
- /* 导入全局样式(包含灰色模式、暗黑模式等) */
7
- @import './assets/styles/index.scss';
8
-
9
- /* 全局样式变量(可选) */
10
- :root {
11
- --bg-color: #ffffff;
12
- --bg-color-page: #f5f7fa;
13
- --color-border-lighter: #e4e7ed;
14
- }
1
+ /**
2
+ * xto-fronted 样式入口
3
+ * 组件样式已包含在各自的 Vue 组件中(scoped)
4
+ */
5
+
6
+ /* 导入全局样式(包含灰色模式、暗黑模式等) */
7
+ @import './assets/styles/index.scss';
8
+
9
+ /* 全局样式变量(与 @xto/core 主题系统对齐) */
10
+ :root {
11
+ --xto-bg-color: #FFFFFF;
12
+ --xto-bg-color-page: #F9FAFB;
13
+ --xto-border-color-lighter: #F3F4F6;
14
+ }