useSetting.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import type { ProjectConfig, GlobConfig, SettingWrap, GlobEnvConfig } from '/@/types/config';
  2. import getProjectSetting from '/@/settings/projectSetting';
  3. import { getGlobEnvConfig, isDevMode } from '/@/utils/env';
  4. import { getShortName } from '../../../build/getShortName';
  5. const ENV_NAME = getShortName(import.meta.env);
  6. const ENV = ((isDevMode()
  7. ? getGlobEnvConfig()
  8. : window[ENV_NAME as any]) as unknown) as GlobEnvConfig;
  9. const {
  10. VITE_GLOB_APP_TITLE,
  11. VITE_GLOB_API_URL,
  12. VITE_GLOB_APP_SHORT_NAME,
  13. VITE_GLOB_API_URL_PREFIX,
  14. } = ENV;
  15. export const useSetting = (): SettingWrap => {
  16. // Take global configuration
  17. const glob: Readonly<GlobConfig> = {
  18. title: VITE_GLOB_APP_TITLE,
  19. apiUrl: VITE_GLOB_API_URL,
  20. shortName: VITE_GLOB_APP_SHORT_NAME,
  21. urlPrefix: VITE_GLOB_API_URL_PREFIX,
  22. };
  23. const projectSetting: Readonly<ProjectConfig> = getProjectSetting;
  24. console.log('======================');
  25. console.log(glob);
  26. console.log('======================');
  27. return {
  28. globSetting: glob as Readonly<GlobConfig>,
  29. projectSetting,
  30. };
  31. };