anenreo个人数字操作系统文档

← 返回首页

字典系统与运行时选项

# anenreo 字典系统

## 目标

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

## 数据边界

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

## 运行链路

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

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

- 普通业务快照只返回已发布、已启用且具有可读展示名的选项。明显技术编码若仍以自身作为标签,将从运行时选择器隐藏;PC 配置中心使用 `includeDisabled=true` 仍可查看并补齐。
- 已发布字典新增或修改启用项时,技术编码必须配置独立中文业务标签;如暂时不能配置,应保持停用。稳定 `value` 不会因此被改写或删除。

## PC 配置中心

`/settings/dictionaries` 支持:

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

## 安全与测试

- API 始终按当前用户隔离;系统字典可读但不能被普通删除。
- 字典编码和项目编码在所有者范围内唯一。
- 修改携带 revision,防止多个页面静默覆盖。
- 自动测试必须覆盖系统字典保护、用户字典 CRUD、排序、停用以及动态表单实时消费。
- 自动测试必须覆盖技术值与中文标签分离、未配置标签不进入普通运行时快照,以及草稿字典不进入普通业务选择器。


## 2026-10-02 第三批图像复核补充

PC 字典仅对启用状态 success-soft 徽章局部覆写为主题正文前景,原成功软背景保留;禁用状态继续沿用原 neutral 分支。此项来自 f207ad73 实际画面与源码关联,不修改字典值、启用命令或权限。颜色计算、Nuxt 类合并及源码合同已执行,本次修复后的真实浏览器复验仍为 not_run。


## 2026-10-02 第十批字典切换与恢复

字典管理按选择代次隔离 A→B→A 的迟到快照和错误;加载时隐藏旧字典项,项目操作核对当前字典上下文。读取失败与空数据分开,通过 AppStatePanel 的 actions 插槽显式重试。写入单飞并锁定控件与处理器,新建清除旧 revision;已确认写入的回执先保留,后续目录 GET 失败时保持写入冻结,仅允许读取恢复,不重放写命令。删除最后一个字典清理选择;会话变化或卸载阻止迟到回调和后续读取。

编译并挂载实际组件、合成 HTTP/Nuxt/uni 控件的本地回归不等于真实浏览器、设备、API 或数据库验收。真实浏览器复验与新增截图仍 not_run,Catalog 的 24 项 implemented_local、168 项 partial 不变。

R08 设置分层(编码阶段)

R08 CFG-001:保留字典搜索及稳定值合同,加宽选项编辑区,图标、颜色和JSON元数据按需展开。既有字典编码和选项稳定值在编辑页面锁定,显示名仍可独立修改;停用历史值的解释和服务端保护不变。本轮仅完成客户端调整;真实保存、权限、冲突、双端截图及可访问性由统一验收执行,尚未计为业务验收通过。

2026-10-25 只读定义与引用迁移补验

只读账号的字典定义改为带名称、稳定编码、说明、范围和状态的语义定义列表;不再把合法可读内容放入inert表单。只读账号不展示选项编辑侧栏;搜索、目录切换和普通已发布快照仍可用,停用项与编码迁移继续要求schema:write。服务端权限与owner条件没有放宽。

在显式一次性PostgreSQL 17数据库完成多角色HTTP拒绝、零业务副作用及真实审计故障回滚。引用迁移样本包含字段、已发布表单、动态记录和不可变历史:迁移不重写这些引用,新旧编码读取同一字典,稳定业务值不变,迁移后可按旧字段继续保存。PC专用迁移界面与独立事件/快照回读已留证,完整多链迁移和原生设备仍单列待验。

本轮修复43项注释门禁,13个涉及文件去注释语法树保持一致。详细结果及边界见_work/handoff/uiux-production-20261025-phase5/REPORT.md;测试库与临时访问规则均已清理,不连接开发库执行故障注入,不提升70项或Catalog整体完成状态。

2026-10-25 十四批第2批多跳与命名空间

字典创建仅将owner/code现有唯一约束和历史编码保留触发器的PG23505映射为409;主键和未知数据库/审计故障仍传播。历史码和当前码竞争都保留既有命名空间锁与数据库裁决,不新增别名引擎或迁移。

真实PG8项通过:顺序多跳、旧回执精确重放、两个字典争新码及创建争迁移码、owner隔离、二跳审计异常回滚、字典归档与重新发布、24字段/48记录含12归档引用的历史保持。此样本不构成容量或跨库升级证明。

PC预览绑定当前字典id/revision/code及目标编码,旧preview迟到不能重新启用确认;fieldCount只表示当前直接引用旧码,不包括更早历史别名。成功核对后保留不可变事件old→new、原revision、编号和时间,后续字典变化不改写原回执。原32项加新增6项及导航共53项通过。

阶段证据位于_work/handoff/uiux-production-14batches-20261025/agent-dictionary-multihop;PC实际多跳浏览器及完整移动/真机、规模与跨库升级分别验收。

2026-10-25 原迁移事件的本地化阅读

已核实迁移事件继续显示原oldCode→newCode与当次合法正整数业务版本;当前字典后续变动不改写原回执。事件ID保留原稳定值,仅在真实技术偏好开启后追加;正文时间经presentDateTime显示,time的datetime属性保留完整ISO机器锚点。

原预览摘要、body/key冻结、精确事件GET、unknown恢复和会话保护不变;偏好切换不新增POST或GET。原38项组件旅程与15项导航保留,补2项后对应55项;不跨报告重复累计。真实PG多跳8/8与构建PC可见原事件/独立回读是既有独立证据,最新本地化源码的完整主题/设备仍待浏览器复核。

2026-10-27 动态字典读取归属与移动多选

R53补正式PC/H5动态字典请求归属,A/B/ABA、旧失败/finally、空码、会话/卸载不回填;读取时清选项不改业务值,单多选统一禁用,合法历史别名保持。Web新增8与原2共10、H5新增8与原3共11通过,双端类型0、四源原注释门禁0。Terra实际双端受控503后各控件显式GET恢复及本地选择;H5审图发现选中/未选同外观,正式组件补主题底色/边框/勾选/pressed语义,390浅深实点复验44px无横溢出。夹具9笔配置写均唯一成功,页面零记录提交;目标PG完整图与9审计前后严格相等、记录0,12份草稿逐字保留。

R53仅证明当前source dev运行与所列局部浏览器场景;503由真实上游200后注入,不是真实PG故障。会话/ABA只在受控SFC测试,Wot滚轮单击乙未选、键盘可选留证;全部只读/权限/主题/设备、容量和跨库升级/恢复仍待。下一片R54修字典页两原生确认,仅主题取消保稿/失效边界;原14/70完整验收仍0,正式3000/4000/5173不切换。

2026-10-27 字典主题删除确认

R54/SET10正式字典与字典项两原生确认改Nuxt主题弹窗,冻结原目标/稳定编码值/界面版本与代次,取消不写不清稿;重复/旧回调、撤权/会话/卸载失效。原DELETE+独立GET函数体保持,仅项快照code取冻结字典。最终5新增反例对冻结旧源实际RED,原15旅程中13体逐字保持、两删除旅程显式点击主题确认且断言增加;相关3spec73、Web类型0、两源原注释门禁0。Terra实际两种弹窗、44px、Tab循环、Escape/取消保稿;发现关闭焦点BODY后修复,新页两类精确返回原触发按钮及最终深色图复验。R54零业务写,目标PG图/9审计严格等R53,记录0,14草稿逐字保留。

字典DELETE现合同未接收expectedRevision,服务器并发基线、事务故障、真实最终删除及全部角色/撤权屏幕仍待,不把本片主题确认称领域删除验收。390浅色DOM显示358px弹窗/两44px按钮/无页面横溢出,但PNG右裁切,手机像素待验;完整主题/真机触摸/读屏、容量及跨库升级/恢复仍待。正式3000/4000/5173未切换,原14批/70项完整验收仍0。

2026-10-27 字典删除目标版本与审计事务

R55/SET10两类DELETE要求原正整数expectedRevision,锁后核目标版本、owner/id/revision最终谓词与returning;字典沿用编码命名空间→定义锁,项按定义→项锁,原系统/安全/迁移/字段引用拒绝保留。定义/子项删除与原审计同ALS事务,Web只发送R54冻结票据版本。真实旧源缺基线200已留证且失败夹具独立协调不重放;新8项PG全过,另1定向多跳归档兼容通过:两类12非法400/旧409、各2真实等待路径后200404且单审计、两类原审计INSERT后SQL22012及独立连接事实全回滚、401/自身reader403/跨owner404/安全保护。API14/Web33与双类型0、八源原注释门禁0,原48断言逐条保持;旧多跳只补请求body,原业务断言全保留。Terra新Web主题/键盘/取消保稿零写,15稿逐字保持;红/绿/兼容owner终态与旧UI图/9审计独立回读严格相同,控制锁PID已关闭。

DELETE字典或字典项均必须提供JSON正文expectedRevision,值为原审阅的目标正整数revision;缺失或非法400、旧目标版本409。定义版本不代表全部子项集合。

版本仅指删除目标:定义revision不代表全部子项集合,新增字段/子项与删除的完整引用锁协议仍待核验,不能据此声称全图并发安全。真实浏览器最终删除/409恢复/未知写及全部撤权屏幕未验;本轮浏览器仍只读旧7781,新服务器合同由临时源码Nest真实HTTP/PG证明。Web390截图裁切未复试,手机像素/全主题/真机触摸/读屏、容量与跨库升级恢复仍待;正式3000/4000/5173未切换,原14/70完整验收仍0。