## 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 - 未知控件提示可能无法映射到专用控件,使用文本输入作为安全兜底,并仍由后端校验。 - 脱敏敏感值无法判断是否为完整原值,因此禁止把未修改的脱敏值再次提交。