env.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import type { GlobEnvConfig } from '/#/config';
  2. import { useGlobSetting } from '/@/hooks/setting';
  3. import pkg from '../../package.json';
  4. /**
  5. * Get the global configuration (the configuration will be extracted independently when packaging)
  6. */
  7. export function getGlobEnvConfig(): GlobEnvConfig {
  8. const env = import.meta.env;
  9. return (env as unknown) as GlobEnvConfig;
  10. }
  11. // Generate cache key according to version
  12. export function getStorageShortName() {
  13. const globSetting = useGlobSetting();
  14. return `${globSetting.shortName}__${getEnv()}${`__${pkg.version}`}__`.toUpperCase();
  15. }
  16. /**
  17. * @description: Development model
  18. */
  19. export const devMode = 'development';
  20. /**
  21. * @description: Production mode
  22. */
  23. export const prodMode = 'production';
  24. /**
  25. * @description: Get environment variables
  26. * @returns:
  27. * @example:
  28. */
  29. export function getEnv(): string {
  30. return import.meta.env.MODE;
  31. }
  32. /**
  33. * @description: Is it a development mode
  34. * @returns:
  35. * @example:
  36. */
  37. export function isDevMode(): boolean {
  38. return import.meta.env.DEV;
  39. }
  40. /**
  41. * @description: Is it a production mode
  42. * @returns:
  43. * @example:
  44. */
  45. export function isProdMode(): boolean {
  46. return import.meta.env.PROD;
  47. }
  48. /**
  49. * @description: Whether to open mock
  50. * @returns:
  51. * @example:
  52. */
  53. export function isUseMock(): boolean {
  54. return import.meta.env.VITE_USE_MOCK === 'true';
  55. }