| 123456789101112131415161718192021222324252627282930313233 |
- import type { ApplicationConfig } from '@vben/types/global';
- import { useAppConfig } from '@vben/hooks';
- const parse = (value: unknown) => {
- try {
- return JSON.parse(value as string);
- } catch {
- return value;
- }
- };
- function load(tag = 'VITE_GLOB_'): Readonly<ApplicationConfig> {
- const appConfig: ApplicationConfig = useAppConfig(
- import.meta.env,
- import.meta.env.PROD,
- );
- const config = import.meta.env.PROD
- ? window._VBEN_ADMIN_PRO_APP_CONF_
- : import.meta.env;
- for (const [key, value] of Object.entries(config)) {
- if (!key.includes(tag)) continue;
- const k = key.slice(tag.length).toLowerCase();
- (appConfig as any)[k] = parse(value);
- }
- return Object.freeze(appConfig);
- }
- export const globalVariate = load();
|