config.d.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum';
  2. import {
  3. ContentEnum,
  4. PermissionModeEnum,
  5. ThemeEnum,
  6. RouterTransitionEnum,
  7. SettingButtonPositionEnum,
  8. } from '/@/enums/appEnum';
  9. import { CacheTypeEnum } from '/@/enums/cacheEnum';
  10. export type LocaleType = 'zh_CN' | 'en' | 'ru' | 'ja' | 'ko';
  11. export interface MenuSetting {
  12. bgColor: string;
  13. fixed: boolean;
  14. collapsed: boolean;
  15. canDrag: boolean;
  16. show: boolean;
  17. hidden: boolean;
  18. split: boolean;
  19. menuWidth: number;
  20. mode: MenuModeEnum;
  21. type: MenuTypeEnum;
  22. theme: ThemeEnum;
  23. topMenuAlign: 'start' | 'center' | 'end';
  24. trigger: TriggerEnum;
  25. accordion: boolean;
  26. closeMixSidebarOnChange: boolean;
  27. collapsedShowTitle: boolean;
  28. mixSideTrigger: MixSidebarTriggerEnum;
  29. mixSideFixed: boolean;
  30. }
  31. export interface MultiTabsSetting {
  32. show: boolean;
  33. showQuick: boolean;
  34. canDrag: boolean;
  35. showRedo: boolean;
  36. showFold: boolean;
  37. }
  38. export interface HeaderSetting {
  39. bgColor: string;
  40. fixed: boolean;
  41. show: boolean;
  42. theme: ThemeEnum;
  43. // Turn on full screen
  44. showFullScreen: boolean;
  45. // Whether to show the lock screen
  46. useLockPage: boolean;
  47. // Show document button
  48. showDoc: boolean;
  49. // Show message center button
  50. showNotice: boolean;
  51. showSearch: boolean;
  52. }
  53. export interface LocaleSetting {
  54. showPicker: boolean;
  55. // Current language
  56. locale: LocaleType;
  57. // default language
  58. fallback: LocaleType;
  59. // available Locales
  60. availableLocales: LocaleType[];
  61. }
  62. export interface TransitionSetting {
  63. // Whether to open the page switching animation
  64. enable: boolean;
  65. // Route basic switching animation
  66. basicTransition: RouterTransitionEnum;
  67. // Whether to open page switching loading
  68. openPageLoading: boolean;
  69. // Whether to open the top progress bar
  70. openNProgress: boolean;
  71. }
  72. export interface ProjectConfig {
  73. // Storage location of permission related information
  74. permissionCacheType: CacheTypeEnum;
  75. // Whether to show the configuration button
  76. showSettingButton: boolean;
  77. // Whether to show the theme switch button
  78. showDarkModeToggle: boolean;
  79. // Configure where the button is displayed
  80. settingButtonPosition: SettingButtonPositionEnum;
  81. // Permission mode
  82. permissionMode: PermissionModeEnum;
  83. // Website gray mode, open for possible mourning dates
  84. grayMode: boolean;
  85. // Whether to turn on the color weak mode
  86. colorWeak: boolean;
  87. // Theme color
  88. themeColor: string;
  89. // The main interface is displayed in full screen, the menu is not displayed, and the top
  90. fullContent: boolean;
  91. // content width
  92. contentMode: ContentEnum;
  93. // Whether to display the logo
  94. showLogo: boolean;
  95. // Whether to show the global footer
  96. showFooter: boolean;
  97. // menuType: MenuTypeEnum;
  98. headerSetting: HeaderSetting;
  99. // menuSetting
  100. menuSetting: MenuSetting;
  101. // Multi-tab settings
  102. multiTabsSetting: MultiTabsSetting;
  103. // Animation configuration
  104. transitionSetting: TransitionSetting;
  105. // pageLayout whether to enable keep-alive
  106. openKeepAlive: boolean;
  107. // Lock screen time
  108. lockTime: number;
  109. // Show breadcrumbs
  110. showBreadCrumb: boolean;
  111. // Show breadcrumb icon
  112. showBreadCrumbIcon: boolean;
  113. // Use error-handler-plugin
  114. useErrorHandle: boolean;
  115. // Whether to open back to top
  116. useOpenBackTop: boolean;
  117. // Is it possible to embed iframe pages
  118. canEmbedIFramePage: boolean;
  119. // Whether to delete unclosed messages and notify when switching the interface
  120. closeMessageOnSwitch: boolean;
  121. // Whether to cancel the http request that has been sent but not responded when switching the interface.
  122. removeAllHttpPending: boolean;
  123. }
  124. export interface GlobConfig {
  125. // Site title
  126. title: string;
  127. // Service interface url
  128. apiUrl: string;
  129. // Upload url
  130. uploadUrl?: string;
  131. // Service interface url prefix
  132. urlPrefix?: string;
  133. // Project abbreviation
  134. shortName: string;
  135. }
  136. export interface GlobEnvConfig {
  137. // Site title
  138. VITE_GLOB_APP_TITLE: string;
  139. // Service interface url
  140. VITE_GLOB_API_URL: string;
  141. // Service interface url prefix
  142. VITE_GLOB_API_URL_PREFIX?: string;
  143. // Project abbreviation
  144. VITE_GLOB_APP_SHORT_NAME: string;
  145. // Upload url
  146. VITE_GLOB_UPLOAD_URL?: string;
  147. }