110 lines
3.0 KiB
TypeScript
110 lines
3.0 KiB
TypeScript
/**
|
||
* 系统设置默认值配置
|
||
*
|
||
* 统一管理系统设置的所有默认值
|
||
*
|
||
* ## 主要功能
|
||
*
|
||
* - 菜单相关默认配置
|
||
* - 主题相关默认配置
|
||
* - 界面显示默认配置
|
||
* - 功能开关默认配置
|
||
* - 样式相关默认配置
|
||
*
|
||
* ## 注意事项
|
||
*
|
||
* 1. 修改此文件的配置项时,需要同步更新以下文件:
|
||
* - src/components/core/layouts/art-settings-panel/widget/SettingActions.vue(复制配置和重置配置逻辑)
|
||
* - src/store/modules/setting.ts(Store 状态定义)
|
||
* 2. 可以通过设置面板的"复制配置"按钮快速生成配置代码
|
||
* 3. 枚举类型的值需要与 src/enums/appEnum.ts 中的定义保持一致
|
||
*/
|
||
|
||
import AppConfig from '@/config'
|
||
import { SystemThemeEnum, MenuThemeEnum, MenuTypeEnum, ContainerWidthEnum } from '@/enums/appEnum'
|
||
|
||
/**
|
||
* 系统设置默认值配置
|
||
*/
|
||
export const SETTING_DEFAULT_CONFIG = {
|
||
/** 菜单类型 */
|
||
menuType: MenuTypeEnum.LEFT,
|
||
/** 菜单展开宽度 */
|
||
menuOpenWidth: 230,
|
||
/** 菜单是否展开 */
|
||
menuOpen: true,
|
||
/** 双菜单是否显示文本 */
|
||
dualMenuShowText: false,
|
||
/** 系统主题类型 */
|
||
systemThemeType: SystemThemeEnum.AUTO,
|
||
/** 系统主题模式 */
|
||
systemThemeMode: SystemThemeEnum.AUTO,
|
||
/** 菜单风格 */
|
||
menuThemeType: MenuThemeEnum.DESIGN,
|
||
/** 系统主题颜色 */
|
||
systemThemeColor: AppConfig.systemMainColor[0],
|
||
/** 是否显示菜单按钮 */
|
||
showMenuButton: true,
|
||
/** 是否显示快速入口 */
|
||
showFastEnter: true,
|
||
/** 是否显示刷新按钮 */
|
||
showRefreshButton: true,
|
||
/** 是否显示面包屑 */
|
||
showCrumbs: true,
|
||
/** 是否显示工作台标签 */
|
||
showWorkTab: true,
|
||
/** 是否显示语言切换 */
|
||
showLanguage: true,
|
||
/** 是否显示进度条 */
|
||
showNprogress: false,
|
||
/** 是否显示设置引导 */
|
||
showSettingGuide: true,
|
||
/** 是否显示节日文本 */
|
||
showFestivalText: false,
|
||
/** 是否显示水印 */
|
||
watermarkVisible: false,
|
||
/** 是否自动关闭 */
|
||
autoClose: false,
|
||
/** 是否唯一展开 */
|
||
uniqueOpened: true,
|
||
/** 是否色弱模式 */
|
||
colorWeak: false,
|
||
/** 是否刷新 */
|
||
refresh: false,
|
||
/** 是否加载节日烟花 */
|
||
holidayFireworksLoaded: false,
|
||
/** 边框模式 */
|
||
boxBorderMode: true,
|
||
/** 页面过渡效果 */
|
||
pageTransition: 'slide-left',
|
||
/** 标签页样式 */
|
||
tabStyle: 'tab-default',
|
||
/** 自定义圆角 */
|
||
customRadius: '0.75',
|
||
/** 容器宽度 */
|
||
containerWidth: ContainerWidthEnum.FULL,
|
||
/** 节日日期 */
|
||
festivalDate: ''
|
||
}
|
||
|
||
/**
|
||
* 获取设置默认值
|
||
* @returns 设置默认值对象
|
||
*/
|
||
export function getSettingDefaults() {
|
||
return { ...SETTING_DEFAULT_CONFIG }
|
||
}
|
||
|
||
/**
|
||
* 重置为默认设置
|
||
* @param currentSettings 当前设置对象
|
||
*/
|
||
export function resetToDefaults(currentSettings: Record<string, any>) {
|
||
const defaults = getSettingDefaults()
|
||
Object.keys(defaults).forEach((key) => {
|
||
if (key in currentSettings) {
|
||
currentSettings[key] = defaults[key as keyof typeof defaults]
|
||
}
|
||
})
|
||
}
|