import { getEnvConfig } from './environments';
import type { CubeFrontConfig } from './types';
import { defaultConfig } from './defaultConfig';
/**
* 获取当前环境配置
*/
export function getConfig(): CubeFrontConfig {
return getEnvConfig();
}
/**
* 合并配置
*/
export function mergeConfig(config?: Partial<CubeFrontConfig>): CubeFrontConfig {
// 深度合并配置
return {
...defaultConfig,
...config,
base: {
...defaultConfig.base,
...(config?.base || {}),
},
ui: {
...defaultConfig.ui,
...(config?.ui || {}),
layout: {
...defaultConfig.ui.layout,
...(config?.ui?.layout || {}),
},
theme: {
...defaultConfig.ui.theme,
...(config?.ui?.theme || {}),
},
},
request: {
...defaultConfig.request,
...(config?.request || {}),
},
auth: {
...defaultConfig.auth,
...(config?.auth || {}),
reLoginParams: {
...(defaultConfig.auth.reLoginParams || {}),
...(config?.auth?.reLoginParams || {}),
},
},
};
}
// 导出配置类型
export type {
CubeFrontConfig,
BaseConfig, // 替代 AppConfig
AuthConfig, // 替代 LoginConfig
RequestConfig, // 替代 RequestConfig
UIConfig, // 包含原 LayoutConfig 和 ThemeConfig
} from './types';
// 导出默认配置
export { defaultConfig } from './defaultConfig';
|