preferences.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import {
  2. defineOverridesPreferences,
  3. definePreferencesExtension,
  4. } from '@vben/preferences';
  5. interface WebAntdPreferencesExtension {
  6. defaultTableSize: number;
  7. enableFormFullscreen: boolean;
  8. reportTitle: string;
  9. tenantMode: 'multi' | 'single';
  10. }
  11. /**
  12. * @description 项目配置文件
  13. * 只需要覆盖项目中的一部分配置,不需要的配置不用覆盖,会自动使用默认配置
  14. * !!! 更改配置后请清空缓存,否则可能不生效
  15. */
  16. export const overridesPreferences = defineOverridesPreferences({
  17. // overrides
  18. app: {
  19. name: import.meta.env.VITE_APP_TITLE,
  20. },
  21. });
  22. export const preferencesExtension =
  23. definePreferencesExtension<WebAntdPreferencesExtension>({
  24. tabLabel: 'preferences.antd.tabLabel',
  25. title: 'preferences.antd.title',
  26. fields: [
  27. {
  28. component: 'switch',
  29. defaultValue: true,
  30. key: 'enableFormFullscreen',
  31. label: 'preferences.antd.fields.enableFormFullscreen.label',
  32. tip: 'preferences.antd.fields.enableFormFullscreen.tip',
  33. },
  34. {
  35. component: 'select',
  36. defaultValue: 'single',
  37. key: 'tenantMode',
  38. label: 'preferences.antd.fields.tenantMode.label',
  39. options: [
  40. {
  41. label: 'preferences.antd.fields.tenantMode.options.single.label',
  42. value: 'single',
  43. },
  44. {
  45. label: 'preferences.antd.fields.tenantMode.options.multi.label',
  46. value: 'multi',
  47. },
  48. ],
  49. },
  50. {
  51. component: 'number',
  52. componentProps: {
  53. max: 200,
  54. min: 10,
  55. step: 10,
  56. },
  57. defaultValue: 20,
  58. key: 'defaultTableSize',
  59. label: 'preferences.antd.fields.defaultTableSize.label',
  60. },
  61. {
  62. component: 'input',
  63. defaultValue: '',
  64. key: 'reportTitle',
  65. label: 'preferences.antd.fields.reportTitle.label',
  66. placeholder: 'preferences.antd.fields.reportTitle.placeholder',
  67. },
  68. ],
  69. });