index.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import type {
  2. CustomPreferencesRecord,
  3. Preferences,
  4. PreferencesExtension,
  5. } from '@vben-core/preferences';
  6. import type { DeepPartial } from '@vben-core/typings';
  7. import { merge } from '@vben-core/shared/utils';
  8. /**
  9. * 如果你想所有的app都使用相同的默认偏好设置,你可以在这里定义
  10. * 而不是去修改 @vben-core/preferences 中的默认偏好设置
  11. * @param preferences
  12. * @returns
  13. */
  14. function defineOverridesPreferences(preferences: DeepPartial<Preferences>) {
  15. return merge(preferences, {
  16. app: {
  17. timezone: 'Asia/Shanghai',
  18. defaultHomePath: import.meta.env.VITE_APP_HOME_PATH as string,
  19. // enablePreferences: false,
  20. accessMode: 'mixed',
  21. },
  22. sidebar: {
  23. width: 240,
  24. },
  25. breadcrumb: {
  26. showHome: true,
  27. hideOnlyOne: true,
  28. },
  29. tabbar: {
  30. middleClickToClose: true,
  31. styleType: 'plain',
  32. },
  33. copyright: {
  34. date: new Date().getFullYear().toString(),
  35. companyName: '杭州六智科技有限公司',
  36. companySiteLink: import.meta.env.BASE_URL,
  37. },
  38. theme: {
  39. mode: 'light',
  40. radius: '0.25',
  41. },
  42. } satisfies DeepPartial<Preferences>);
  43. }
  44. function definePreferencesExtension<
  45. TCustomPreferences extends object = CustomPreferencesRecord,
  46. >(extension: PreferencesExtension<TCustomPreferences>) {
  47. return extension;
  48. }
  49. export { defineOverridesPreferences, definePreferencesExtension };
  50. export * from '@vben-core/preferences';