@ovine/core
Version:
Build flexible admin system with json.
76 lines (75 loc) • 2.23 kB
JavaScript
/**
* 项目内常量,禁止重新赋值修改
*/
import { isObject, isString, map } from 'lodash';
export const rootRoute = '/';
export const publicUrl = process.env.PUBLIC_PATH || '/';
export const parentKey = 'parent';
export const routeLimitKey = '$page';
export const appRootId = 'app-root';
export const defaultEnvMode = 'localhost';
export const coreStatic = `${publicUrl}static/ovine/core`;
export const strDelimiter = '@##@';
export const defLoadPageSchema = { schema: { type: 'page', body: '当前页面加载错了...' } };
export const appKey = process.env.APP_KEY;
// 屏幕尺寸定义
export const breakpoints = {
xs: 0,
sm: 576,
md: 768,
lg: 992,
xl: 1200,
};
const getAppKey = (v) => {
if (isString(v) && v.startsWith('lib')) {
return `${appKey}_${v}`;
}
return v;
};
const getAppKeys = (values) => {
const keys = {};
map(values, (v, k) => {
if (isObject(v)) {
keys[k] = getAppKeys(v);
}
else {
keys[k] = getAppKey(v);
}
});
return keys;
};
const msgKeys = {
storeRoot: '$store/',
layoutSpinner: '$store/libLayoutSpinner',
appTheme: 'libAppThemeMsg',
appLocale: 'libAppLocaleMsg',
clearRouteTabs: 'libClearRouteTabsMsg',
routeTabChange: 'libRouteTabChangeMsg',
asideLayoutCtrl: {
msg: 'libAsideLayoutCtrlMsg',
reload: 'libToggleAsideReloadMsg',
toggleScreen: 'libToggleAsideScreenMsg',
toggleFold: 'libToggleAsideFoldMsg',
},
};
// 消息通知相关的 key
export const message = appKey ? getAppKeys(msgKeys) : msgKeys;
const storeKeys = {
appInstance: 'libAppInsStore',
userInfo: 'libUserInfoStore',
appTheme: 'libAppThemeStore',
appLocale: 'libAppLocaleStore',
appLimit: 'libAppLimitStore',
routeTabs: 'libRouteTabsStore',
routeQuery: 'libRouteQueryStore',
supportRouteTabs: 'supportRouteTabsStore',
enableRouteTabs: 'libEnableRouteTabsStore',
routeData: 'libRouteDataStore',
dev: {
code: 'libDevCodeGlobal',
limit: 'libDevLimitStore',
api: 'libDevApiStore',
},
};
// 存储相关的 key
export const storage = appKey ? getAppKeys(storeKeys) : storeKeys;