Appearance
系统配置
系统配置页面按分组展示动态表单;配置项及其渲染和校验元数据保存在 sys_config 中。各模块可基于同一配置底子接入自己的字段定义,之后再扩展为低代码配置。
系统配置页面展示 general(通用设置)和 user(用户)等分组;上传规则在「文件系统 → 上传配置」Tab 中管理,短信配置有独立页面。general 分组包含 system.general.title;user 分组包含 system.user.enable_phone_login,以开关控制,默认关闭。
上传配置按图片、视频、普通文件三组维护格式和单文件大小上限。图片可从 gif/jpg/jpeg/png/webp 中选择,默认 10 MB、可设 1~100 MB;视频可从 mp4/webm/mov 中选择,默认 100 MB、可设 1~1024 MB;普通文件可添加或删除扩展名,默认 pdf、10 MB,可设 1~1024 MB。可执行文件和网页格式不能启用。设置保存后,新上传按最新值校验,已上传文件不受影响。
配置项字段
- 配置分组:相同配置域和分组编码的项目显示在同一 Tab。可创建自定义分组;内置分组不可删除,包含配置项的分组需先清空才能删除。
- 表单字段:单行输入、多行文本、数字、开关、下拉选择、JSON、单文件上传、单图上传、视频上传、多文件上传或富文本。上传组件支持图片、视频、普通文件及其组合;在单文件或多文件字段的“上传类型 JSON”中填写如
["image","video"]可限制为图片+视频。单文件保存 URL,多文件保存 URL 数组(JSON 配置类型,最多 9 个)。图片可缩放预览,PDF 使用浏览器内置阅读器预览,视频可在当前页面播放,其他文件提供下载操作。富文本使用通用RichTextEditor,支持粘贴图片、多图上传和视频上传插入,保存 HTML。文件默认由 system 资源接口上传;单文件和富文本配置字段均使用 string 配置类型。 - 必填 / 下拉选项:提交时前端校验,后端也按值类型、必填规则和选项元数据拒绝非法值。
- 配置键:遵循
{range}.{group}.{value},例如system.general.title、sms.general.sign_name、sms.system_tpl.captcha_local。range为system或sms;group必须等于所属分组编码;value是组内配置项编码。三段只用小写字母、数字、下划线、连字符,分组和配置项编码以小写字母开头。新建或调整键、分组时校验此约定;内置配置不能删除,内置键不能改名。
使用“字段设置”修改控件、分组归属与校验配置;改值后点“保存本组”。配置项可增删,左侧按配置域显示分组。
系统配置页不显示演示专用的 demo 分组;其 system.demo.* 配置仍由 /demo/config 页面使用。
文件上传进度显示在当前上传框内,不显示所选文件名;多文件上传显示序号与总体百分比。富文本图片、视频上传在正文占位提示中显示进度。达到 100% 后仍需等待服务端确认。
本地短信模式需要把 sms.system_tpl.captcha_local 配置为包含 ${code} 的短信正文,例如 你的验证码是 ${code} , 5 分钟有效, 请不要告知他人。发送时会将占位符替换为验证码,并把完整正文写入应用日志供联调。开启 system.user.enable_phone_login 后,登录页才会在发送器和模板均就绪时显示手机号登录。
本仓库的可选 weiran-demo 模块在 local/test profile 播种组件演示菜单与独立的示例配置分组;下游可省略模块与 packages/manage/src/pages/demo/,生产环境默认不加载。/demo/config 左侧按单行输入、多行文本、数字、开关、下拉、JSON、单文件、多文件、单图、视频、富文本分别分组,每组展示不同初始值、必填与只读状态;「上传组合」组把单文件、多文件、单图、视频、图片+视频与富文本放在同一表单中,用于观察多组件同时上传时的状态。「特殊验证」组集中复现必填、数字、选项、JSON 和上传数量限制。各组示例值保存到 sys_config 的 system.demo.samples JSON 配置,刷新页面后从数据库恢复;旧版演示配置保留供已部署环境兼容。文件选中后立即上传到 system 资源库;上传入口与等比图片缩略图并列,多文件拖动时显示插入位置,也可用箭头调整顺序,图片预览可缩放,PDF 可在页内预览,视频可在页内播放。文件大小和格式按当前上传配置校验,多文件默认最多 9 个,达到数量上限时隐藏上传入口。移除示例文件只移除表单中的 URL 引用,不会删除资源库原文件。
匿名接口 /api-backend/n/system/config/getPublic/{key} 只允许 system.general.title。它不会自动改变前端显示;标题仍由构建变量 VITE_APP_TITLE 提供。
站点内容配置已从页面、接口与数据库移除。表结构和跨接口业务约束见接口与数据约定;接口路径与字段以OpenAPI 文档为准。资源文件的引用与删除规则见资源库引用与删除设计。