1.4 KiB
1.4 KiB
Context
系统配置由后端注册,前端不能假设固定字段。列表接口返回控件提示、值类型、枚举和范围,更新接口要求配置 Key 与路径一致且值字符串化。
Goals / Non-Goals
- Goals:
- 在设置管理提供统一的模块筛选、分页和配置编辑入口。
- 动态遵循后端配置元数据进行展示和校验。
- 防止误修改只读配置和敏感配置脱敏值。
- Non-Goals:
- 不在前端维护配置 Key 白名单或复制后端注册规则。
- 不对 JSON 配置做业务语义解析。
- 不绕过后端对已注册配置、范围和枚举的最终校验。
Decisions
- 列表数据读取
data.list,分页使用page、page_size和total。 - 编辑控件优先根据
control渲染,value_type作为值转换和校验兜底。 bool以开关展示并提交true/false字符串;int以数字输入展示并提交十进制字符串;其他类型以输入框或文本域提交字符串。readonly=true的配置不显示可编辑操作;sensitive=true的值仅显示接口返回值,只有用户主动输入新值时才提交更新。
Risks / Trade-offs
- 未知控件提示可能无法映射到专用控件,使用文本输入作为安全兜底,并仍由后端校验。
- 脱敏敏感值无法判断是否为完整原值,因此禁止把未修改的脱敏值再次提交。