vben
2020-10-21 66acb21edda3fcac61849c7c03c6b396992d8d06
提交 | 用户 | age
bb3b8f 1 import type { ProjectConfig, GlobConfig, SettingWrap, GlobEnvConfig } from '/@/types/config';
2f6253 2
3 import getProjectSetting from '/@/settings/projectSetting';
4
bb3b8f 5 import { getGlobEnvConfig, isDevMode } from '/@/utils/env';
N 6 import { getShortName } from '../../../build/getShortName';
66acb2 7 import { warn } from '/@/utils/log';
V 8
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;
e8aede 15 const {
bb3b8f 16   VITE_GLOB_APP_TITLE,
e8aede 17   VITE_GLOB_API_URL,
B 18   VITE_GLOB_APP_SHORT_NAME,
19   VITE_GLOB_API_URL_PREFIX,
bb3b8f 20 } = ENV;
e8aede 21
66acb2 22 if (!reg.test(VITE_GLOB_APP_SHORT_NAME)) {
V 23   warn(`VITE_GLOB_APP_SHORT_NAME 变量只能是字符/下划线,请在环境变量中修改并重新运行。`);
24 }
25
2f6253 26 export const useSetting = (): SettingWrap => {
27   // Take global configuration
28   const glob: Readonly<GlobConfig> = {
e8aede 29     title: VITE_GLOB_APP_TITLE,
B 30     apiUrl: VITE_GLOB_API_URL,
31     shortName: VITE_GLOB_APP_SHORT_NAME,
32     urlPrefix: VITE_GLOB_API_URL_PREFIX,
2f6253 33   };
34   const projectSetting: Readonly<ProjectConfig> = getProjectSetting;
35   return {
36     globSetting: glob as Readonly<GlobConfig>,
37     projectSetting,
38   };
39 };