anenreo个人数字操作系统文档

← 返回首页

字典系统与运行时选项

# anenreo 字典系统

## 目标

字典系统把状态、类型、来源、情绪、附件种类、时间精度等可枚举选项从页面源码中移出,形成由 PostgreSQL 持久化、PC 配置中心维护、Web 与移动端运行时共同读取的统一选项来源。

## 数据边界

- `dictionary_definition`:保存字典编码、中文名称、系统保护标记、发布状态和修订号。
- `dictionary_item`:保存字典项编码、中文标签、排序、启停、图标、颜色和扩展元数据。
- 系统字典不可删除;用户字典允许增删改,但仍受 ownerId、乐观锁和审计约束。
- 隐私等级等安全枚举在运行时仍由代码实施硬性约束,字典只能提供展示和选择,不能放宽安全规则。

## 运行链路

```text
字段定义.dictionaryCode
        ↓
DictionaryService
        ↓
Web DynamicDictionarySelect / MobileDictionaryPicker
        ↓
保存字典项 code,而不是保存页面中文文案
```

字典项修改后,动态表单重新请求即可读取新选项;不需要重新编译前端。

## PC 配置中心

`/settings/dictionaries` 支持:

- 新建用户字典;
- 修改名称和说明;
- 新增、修改、排序、启停字典项;
- 查看系统字典保护状态;
- 在字段设计器中选择字典。

## 安全与测试

- API 始终按当前用户隔离;系统字典可读但不能被普通删除。
- 字典编码和项目编码在所有者范围内唯一。
- 修改携带 revision,防止多个页面静默覆盖。
- 自动测试必须覆盖系统字典保护、用户字典 CRUD、排序、停用以及动态表单实时消费。