index.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. /**
  2. * @description ⚠️:此文件仅供主题插件使用,请不要在此文件中导出别的工具函数(仅在页面加载前运行)
  3. */
  4. import type { multipleScopeVarsOptions } from "@pureadmin/theme";
  5. /** 预设主题色 */
  6. const themeColors = {
  7. /* 亮白色 */
  8. // light: {
  9. // subMenuActiveText: "#000000d9",
  10. // menuBg: "#fff",
  11. // menuHover: "#f6f6f6",
  12. // subMenuBg: "#fff",
  13. // subMenuActiveBg: "#e0ebf6",
  14. // menuText: "rgb(0 0 0 / 60%)",
  15. // sidebarLogo: "#fff",
  16. // menuTitleHover: "#000",
  17. // menuActiveBefore: "#4091f7"
  18. // },
  19. light: {
  20. subMenuActiveText: "blue", // 菜单选择颜色及其设置颜色
  21. menuBg: "#fff", //菜单背景色
  22. menuHover: "#F2F2F2", //右侧设置菜单悬浮色
  23. subMenuBg: "#F0F5FD", //子菜单背景色
  24. subMenuActiveBg: "#FF603B", //子菜单选中背景色
  25. menuText: "black", //菜单文字颜色
  26. sidebarLogo: "red", //菜单logo颜色
  27. menuTitleHover: "#000", //菜单悬浮文字颜色
  28. menuActiveBefore: "black" //菜单选中背景色
  29. },
  30. /* 道奇蓝 */
  31. default: {
  32. subMenuActiveText: "#fff",
  33. menuBg: "#001529",
  34. menuHover: "rgb(64 145 247 / 15%)",
  35. subMenuBg: "#0f0303",
  36. subMenuActiveBg: "#4091f7",
  37. menuText: "rgb(254 254 254 / 65%)",
  38. sidebarLogo: "#002140",
  39. menuTitleHover: "#fff",
  40. menuActiveBefore: "#4091f7"
  41. },
  42. /* 深紫罗兰色 */
  43. saucePurple: {
  44. subMenuActiveText: "#fff",
  45. menuBg: "#130824",
  46. menuHover: "rgb(105 58 201 / 15%)",
  47. subMenuBg: "#000",
  48. subMenuActiveBg: "#693ac9",
  49. menuText: "#7a80b4",
  50. sidebarLogo: "#1f0c38",
  51. menuTitleHover: "#fff",
  52. menuActiveBefore: "#693ac9"
  53. },
  54. /* 深粉色 */
  55. pink: {
  56. subMenuActiveText: "#fff",
  57. menuBg: "#28081a",
  58. menuHover: "rgb(216 68 147 / 15%)",
  59. subMenuBg: "#000",
  60. subMenuActiveBg: "#d84493",
  61. menuText: "#7a80b4",
  62. sidebarLogo: "#3f0d29",
  63. menuTitleHover: "#fff",
  64. menuActiveBefore: "#d84493"
  65. },
  66. /* 猩红色 */
  67. dusk: {
  68. subMenuActiveText: "#fff",
  69. menuBg: "#2a0608",
  70. menuHover: "rgb(225 60 57 / 15%)",
  71. subMenuBg: "#000",
  72. subMenuActiveBg: "#e13c39",
  73. menuText: "rgb(254 254 254 / 65.1%)",
  74. sidebarLogo: "#42090c",
  75. menuTitleHover: "#fff",
  76. menuActiveBefore: "#e13c39"
  77. },
  78. /* 橙红色 */
  79. volcano: {
  80. subMenuActiveText: "#fff",
  81. menuBg: "#2b0e05",
  82. menuHover: "rgb(232 95 51 / 15%)",
  83. subMenuBg: "#0f0603",
  84. subMenuActiveBg: "#e85f33",
  85. menuText: "rgb(254 254 254 / 65%)",
  86. sidebarLogo: "#441708",
  87. menuTitleHover: "#fff",
  88. menuActiveBefore: "#e85f33"
  89. },
  90. /* 绿宝石 */
  91. mingQing: {
  92. subMenuActiveText: "#fff",
  93. menuBg: "#032121",
  94. menuHover: "rgb(89 191 193 / 15%)",
  95. subMenuBg: "#000",
  96. subMenuActiveBg: "#59bfc1",
  97. menuText: "#7a80b4",
  98. sidebarLogo: "#053434",
  99. menuTitleHover: "#fff",
  100. menuActiveBefore: "#59bfc1"
  101. },
  102. /* 酸橙绿 */
  103. auroraGreen: {
  104. subMenuActiveText: "#fff",
  105. menuBg: "#0b1e15",
  106. menuHover: "rgb(96 172 128 / 15%)",
  107. subMenuBg: "#000",
  108. subMenuActiveBg: "#60ac80",
  109. menuText: "#7a80b4",
  110. sidebarLogo: "#112f21",
  111. menuTitleHover: "#fff",
  112. menuActiveBefore: "#60ac80"
  113. }
  114. };
  115. /**
  116. * @description 将预设主题色处理成主题插件所需格式
  117. */
  118. export const genScssMultipleScopeVars = (): multipleScopeVarsOptions[] => {
  119. const result = [] as multipleScopeVarsOptions[];
  120. Object.keys(themeColors).forEach(key => {
  121. result.push({
  122. scopeName: `layout-theme-${key}`,
  123. varsContent: `
  124. $subMenuActiveText: ${themeColors[key].subMenuActiveText} !default;
  125. $menuBg: ${themeColors[key].menuBg} !default;
  126. $menuHover: ${themeColors[key].menuHover} !default;
  127. $subMenuBg: ${themeColors[key].subMenuBg} !default;
  128. $subMenuActiveBg: ${themeColors[key].subMenuActiveBg} !default;
  129. $menuText: ${themeColors[key].menuText} !default;
  130. $sidebarLogo: ${themeColors[key].sidebarLogo} !default;
  131. $menuTitleHover: ${themeColors[key].menuTitleHover} !default;
  132. $menuActiveBefore: ${themeColors[key].menuActiveBefore} !default;
  133. `
  134. } as multipleScopeVarsOptions);
  135. });
  136. return result;
  137. };