| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455 |
- {
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "$id": "./preferences.schema.json",
- "title": "Preferences",
- "description": "Schema for preferences.json (DeepPartial<Preferences>)",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "$schema": {
- "type": "string",
- "description": "JSON Schema 文件路径,用于编辑器提示与校验(例如 ../../../schema/preferences.schema.json)"
- },
- "app": {
- "type": "object",
- "description": "全局配置",
- "additionalProperties": false,
- "properties": {
- "accessMode": {
- "type": "string",
- "description": "权限模式",
- "enum": ["backend", "frontend", "mixed"]
- },
- "authPageLayout": {
- "type": "string",
- "description": "登录注册页面布局",
- "enum": ["panel-center", "panel-left", "panel-right"]
- },
- "checkUpdatesInterval": {
- "type": "number",
- "description": "检查更新轮询时间"
- },
- "colorGrayMode": {
- "type": "boolean",
- "description": "是否开启灰色模式"
- },
- "colorWeakMode": {
- "type": "boolean",
- "description": "是否开启色弱模式"
- },
- "compact": { "type": "boolean", "description": "是否开启紧凑模式" },
- "contentCompact": {
- "type": "string",
- "description": "内容紧凑模式",
- "enum": ["compact", "wide"]
- },
- "contentCompactWidth": {
- "type": "number",
- "description": "内容紧凑宽度"
- },
- "contentPadding": { "type": "number", "description": "内容内边距" },
- "contentPaddingBottom": {
- "type": "number",
- "description": "内容底部内边距"
- },
- "contentPaddingLeft": {
- "type": "number",
- "description": "内容左侧内边距"
- },
- "contentPaddingRight": {
- "type": "number",
- "description": "内容右侧内边距"
- },
- "contentPaddingTop": {
- "type": "number",
- "description": "内容顶部内边距"
- },
- "defaultAvatar": {
- "type": "string",
- "description": "应用默认头像地址"
- },
- "defaultHomePath": { "type": "string", "description": "默认首页地址" },
- "dynamicTitle": {
- "type": "boolean",
- "description": "是否开启动态标题"
- },
- "enableCheckUpdates": {
- "type": "boolean",
- "description": "是否开启检查更新"
- },
- "enableCopyPreferences": {
- "type": "boolean",
- "description": "是否显示复制偏好设置按钮"
- },
- "enablePreferences": {
- "type": "boolean",
- "description": "是否显示偏好设置"
- },
- "enableRefreshToken": {
- "type": "boolean",
- "description": "是否开启 refreshToken"
- },
- "enableStickyPreferencesNavigationBar": {
- "type": "boolean",
- "description": "是否开启首选项导航栏吸顶效果"
- },
- "isMobile": { "type": "boolean", "description": "是否移动端" },
- "layout": {
- "type": "string",
- "description": "布局方式",
- "enum": [
- "full-content",
- "header-mixed-nav",
- "header-nav",
- "header-sidebar-nav",
- "mixed-nav",
- "sidebar-mixed-nav",
- "sidebar-nav"
- ]
- },
- "locale": {
- "type": "string",
- "description": "支持的语言",
- "enum": ["en-US", "zh-CN"]
- },
- "loginExpiredMode": {
- "type": "string",
- "description": "登录过期模式",
- "enum": ["modal", "page"]
- },
- "name": { "type": "string", "description": "应用名称" },
- "preferencesButtonPosition": {
- "type": "string",
- "description": "偏好设置按钮位置",
- "enum": ["auto", "fixed", "header", "user-dropdown"]
- },
- "timezone": { "type": "string", "description": "应用时区" },
- "watermark": { "type": "boolean", "description": "是否开启水印" },
- "watermarkContent": { "type": "string", "description": "水印文案" },
- "zIndex": { "type": "number", "description": "全局 z-index" }
- }
- },
- "breadcrumb": {
- "type": "object",
- "description": "面包屑配置",
- "additionalProperties": false,
- "properties": {
- "enable": { "type": "boolean", "description": "面包屑是否启用" },
- "hideOnlyOne": {
- "type": "boolean",
- "description": "是否在仅一个项时隐藏"
- },
- "showHome": { "type": "boolean", "description": "首页图标是否可见" },
- "showIcon": { "type": "boolean", "description": "图标是否可见" },
- "styleType": {
- "type": "string",
- "description": "面包屑风格",
- "enum": ["background", "normal"]
- }
- }
- },
- "copyright": {
- "type": "object",
- "description": "版权配置",
- "additionalProperties": false,
- "properties": {
- "companyName": { "type": "string", "description": "版权公司名" },
- "companySiteLink": { "type": "string", "description": "版权公司链接" },
- "date": { "type": "string", "description": "版权年份/日期" },
- "enable": { "type": "boolean", "description": "版权是否可见" },
- "icp": { "type": "string", "description": "备案号" },
- "icpLink": { "type": "string", "description": "备案号链接" },
- "settingShow": {
- "type": "boolean",
- "description": "设置面板中是否显示"
- }
- }
- },
- "footer": {
- "type": "object",
- "description": "底栏配置",
- "additionalProperties": false,
- "properties": {
- "enable": { "type": "boolean", "description": "底栏是否可见" },
- "fixed": { "type": "boolean", "description": "底栏是否固定" },
- "height": { "type": "number", "description": "底栏高度" }
- }
- },
- "header": {
- "type": "object",
- "description": "顶栏配置",
- "additionalProperties": false,
- "properties": {
- "enable": { "type": "boolean", "description": "顶栏是否启用" },
- "height": { "type": "number", "description": "顶栏高度" },
- "hidden": {
- "type": "boolean",
- "description": "顶栏是否隐藏(CSS 隐藏)"
- },
- "menuAlign": {
- "type": "string",
- "description": "顶栏菜单位置",
- "enum": ["center", "end", "start"]
- },
- "mode": {
- "type": "string",
- "description": "顶栏显示模式",
- "enum": ["auto", "auto-scroll", "fixed", "static"]
- }
- }
- },
- "logo": {
- "type": "object",
- "description": "Logo 配置",
- "additionalProperties": false,
- "properties": {
- "enable": { "type": "boolean", "description": "Logo 是否可见" },
- "fit": {
- "type": "string",
- "description": "Logo 图片适应方式",
- "enum": ["contain", "cover", "fill", "none", "scale-down"]
- },
- "source": { "type": "string", "description": "Logo 地址" },
- "sourceDark": { "type": "string", "description": "暗色主题 Logo 地址" }
- }
- },
- "navigation": {
- "type": "object",
- "description": "导航配置",
- "additionalProperties": false,
- "properties": {
- "accordion": { "type": "boolean", "description": "导航菜单手风琴模式" },
- "split": {
- "type": "boolean",
- "description": "导航菜单是否切割(layout=mixed-nav 生效)"
- },
- "styleType": {
- "type": "string",
- "description": "导航菜单风格",
- "enum": ["plain", "rounded"]
- }
- }
- },
- "shortcutKeys": {
- "type": "object",
- "description": "快捷键配置",
- "additionalProperties": false,
- "properties": {
- "enable": { "type": "boolean", "description": "是否启用全局快捷键" },
- "globalLockScreen": {
- "type": "boolean",
- "description": "是否启用全局锁屏快捷键"
- },
- "globalLogout": {
- "type": "boolean",
- "description": "是否启用全局注销快捷键"
- },
- "globalPreferences": {
- "type": "boolean",
- "description": "是否启用全局偏好设置快捷键"
- },
- "globalSearch": {
- "type": "boolean",
- "description": "是否启用全局搜索快捷键"
- }
- }
- },
- "sidebar": {
- "type": "object",
- "description": "侧边栏配置",
- "additionalProperties": false,
- "properties": {
- "autoActivateChild": {
- "type": "boolean",
- "description": "点击目录时自动激活子菜单"
- },
- "collapsed": { "type": "boolean", "description": "侧边栏是否折叠" },
- "collapsedButton": {
- "type": "boolean",
- "description": "侧边栏折叠按钮是否可见"
- },
- "collapsedShowTitle": {
- "type": "boolean",
- "description": "折叠时是否显示标题"
- },
- "collapseWidth": { "type": "number", "description": "侧边栏折叠宽度" },
- "draggable": {
- "type": "boolean",
- "description": "侧边栏菜单是否可拖拽"
- },
- "enable": { "type": "boolean", "description": "侧边栏是否可见" },
- "expandOnHover": {
- "type": "boolean",
- "description": "鼠标悬停时是否自动展开"
- },
- "extraCollapse": {
- "type": "boolean",
- "description": "扩展区域是否折叠"
- },
- "extraCollapsedWidth": {
- "type": "number",
- "description": "扩展区域折叠宽度"
- },
- "fixedButton": {
- "type": "boolean",
- "description": "侧边栏固定按钮是否可见"
- },
- "hidden": { "type": "boolean", "description": "侧边栏是否隐藏(CSS)" },
- "mixedWidth": { "type": "number", "description": "混合布局侧边栏宽度" },
- "width": { "type": "number", "description": "侧边栏宽度" }
- }
- },
- "tabbar": {
- "type": "object",
- "description": "标签页配置",
- "additionalProperties": false,
- "properties": {
- "draggable": { "type": "boolean", "description": "是否开启标签页拖拽" },
- "enable": { "type": "boolean", "description": "是否启用标签页" },
- "height": { "type": "number", "description": "标签页高度" },
- "keepAlive": { "type": "boolean", "description": "是否开启标签页缓存" },
- "maxCount": { "type": "number", "description": "标签页最大数量" },
- "middleClickToClose": {
- "type": "boolean",
- "description": "中键点击是否关闭标签"
- },
- "persist": { "type": "boolean", "description": "是否持久化标签页" },
- "showIcon": { "type": "boolean", "description": "是否显示标签页图标" },
- "showMaximize": {
- "type": "boolean",
- "description": "是否显示最大化按钮"
- },
- "showMore": { "type": "boolean", "description": "是否显示更多按钮" },
- "showRefresh": { "type": "boolean", "description": "是否显示刷新按钮" },
- "styleType": {
- "type": "string",
- "description": "标签页风格",
- "enum": ["brisk", "card", "chrome", "plain"]
- },
- "visitHistory": {
- "type": "boolean",
- "description": "是否开启访问历史记录"
- },
- "wheelable": {
- "type": "boolean",
- "description": "是否响应鼠标滚轮切换"
- }
- }
- },
- "theme": {
- "type": "object",
- "description": "主题配置",
- "additionalProperties": false,
- "properties": {
- "builtinType": {
- "description": "内置主题名(支持内置主题,也允许自定义字符串)",
- "anyOf": [
- {
- "type": "string",
- "enum": [
- "custom",
- "deep-blue",
- "deep-green",
- "default",
- "gray",
- "green",
- "neutral",
- "orange",
- "pink",
- "red",
- "rose",
- "sky-blue",
- "slate",
- "stone",
- "violet",
- "yellow",
- "zinc"
- ]
- },
- { "type": "string" }
- ]
- },
- "colorDestructive": { "type": "string", "description": "错误色" },
- "colorPrimary": { "type": "string", "description": "主题色" },
- "colorSuccess": { "type": "string", "description": "成功色" },
- "colorWarning": { "type": "string", "description": "警告色" },
- "fontSize": { "type": "number", "description": "字体大小(px)" },
- "mode": {
- "type": "string",
- "description": "主题模式",
- "enum": ["auto", "dark", "light"]
- },
- "radius": { "type": "string", "description": "全局圆角" },
- "semiDarkHeader": {
- "type": "boolean",
- "description": "浅色主题下是否启用半深色头部"
- },
- "semiDarkSidebar": {
- "type": "boolean",
- "description": "浅色主题下是否启用半深色侧边栏"
- },
- "semiDarkSidebarSub": {
- "type": "boolean",
- "description": "浅色主题下是否启用半深色子菜单"
- }
- }
- },
- "transition": {
- "type": "object",
- "description": "页面动画配置",
- "additionalProperties": false,
- "properties": {
- "enable": { "type": "boolean", "description": "页面切换动画是否启用" },
- "loading": {
- "type": "boolean",
- "description": "是否开启页面加载 loading"
- },
- "name": {
- "description": "页面切换动画名称(支持内置动画,也允许自定义字符串)",
- "anyOf": [
- {
- "type": "string",
- "enum": ["fade", "fade-down", "fade-slide", "fade-up"]
- },
- { "type": "string" }
- ]
- },
- "progress": {
- "type": "boolean",
- "description": "是否开启页面加载进度动画"
- }
- }
- },
- "widget": {
- "type": "object",
- "description": "功能部件配置",
- "additionalProperties": false,
- "properties": {
- "fullscreen": { "type": "boolean", "description": "是否启用全屏部件" },
- "globalSearch": {
- "type": "boolean",
- "description": "是否启用全局搜索部件"
- },
- "languageToggle": {
- "type": "boolean",
- "description": "是否启用语言切换部件"
- },
- "lockScreen": { "type": "boolean", "description": "是否启用锁屏部件" },
- "notification": {
- "type": "boolean",
- "description": "是否启用通知部件"
- },
- "refresh": { "type": "boolean", "description": "是否显示刷新部件" },
- "sidebarToggle": {
- "type": "boolean",
- "description": "是否显示侧边栏开关部件"
- },
- "themeToggle": {
- "type": "boolean",
- "description": "是否显示主题切换部件"
- },
- "timezone": { "type": "boolean", "description": "是否显示时区部件" }
- }
- }
- }
- }
|