vben
2020-12-08 29461a856826fbb7726848982387ea78f8573754
提交 | 用户 | age
737b1b 1 import type { ProjectConfig, GlobConfig, GlobEnvConfig } from '/@/types/config';
2f6253 2
3 import getProjectSetting from '/@/settings/projectSetting';
4
bb3b8f 5 import { getShortName } from '../../../build/getShortName';
66acb2 6 import { warn } from '/@/utils/log';
737b1b 7 import { getGlobEnvConfig, isDevMode } from '/@/utils/env';
66acb2 8
V 9 const reg = /[a-zA-Z\_]*/;
bb3b8f 10
N 11 const ENV_NAME = getShortName(import.meta.env);
12 const ENV = ((isDevMode()
13   ? getGlobEnvConfig()
14   : window[ENV_NAME as any]) as unknown) as GlobEnvConfig;
737b1b 15
e8aede 16 const {
bb3b8f 17   VITE_GLOB_APP_TITLE,
e8aede 18   VITE_GLOB_API_URL,
B 19   VITE_GLOB_APP_SHORT_NAME,
20   VITE_GLOB_API_URL_PREFIX,
29461a 21   VITE_GLOB_UPLOAD_URL,
bb3b8f 22 } = ENV;
e8aede 23
66acb2 24 if (!reg.test(VITE_GLOB_APP_SHORT_NAME)) {
f7aa93 25   warn(
V 26     `VITE_GLOB_APP_SHORT_NAME Variables can only be characters/underscores, please modify in the environment variables and re-running.`
27   );
66acb2 28 }
V 29
737b1b 30 export const useGlobSetting = (): Readonly<GlobConfig> => {
2f6253 31   // Take global configuration
32   const glob: Readonly<GlobConfig> = {
e8aede 33     title: VITE_GLOB_APP_TITLE,
B 34     apiUrl: VITE_GLOB_API_URL,
35     shortName: VITE_GLOB_APP_SHORT_NAME,
36     urlPrefix: VITE_GLOB_API_URL_PREFIX,
29461a 37     uploadUrl: VITE_GLOB_UPLOAD_URL,
2f6253 38   };
737b1b 39   return glob as Readonly<GlobConfig>;
V 40 };
41
42 export const useProjectSetting = (): ProjectConfig => {
43   // TODO computed
44   return getProjectSetting;
2f6253 45 };