liuyun 8743e68451 chore: archive dict-driven-enums change + sync specs to main specs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 14:44:56 +08:00

1.6 KiB
Raw Permalink Blame History

Dict Specification

Purpose

定义字典域的保护规则与内置字典种子:内置字典类型与字典项受保护(不可删、value 不可改),仅 label/排序/颜色可编辑,并预置 5 个系统内置枚举字典。

Requirements

Requirement: 内置类型保护

内置字典类型(built_in 为真)SHALL 不可被删除。

Scenario: 删除内置类型被拒

  • WHEN 管理员尝试删除内置字典类型
  • THEN 后端拒绝并返回错误(内置类型不可删除)

Requirement: 内置项保护

内置字典项(built_in 为真)SHALL 不可删除、value 不可修改;label/sort/color_type 可修改。

Scenario: 修改内置项 value 被拒

  • WHEN 管理员尝试修改内置字典项的 value
  • THEN 后端拒绝并返回错误(内置项 value 不可修改)

Scenario: 修改内置项 label 与排序

  • WHEN 管理员修改内置字典项的 label 或 sort
  • THEN 修改成功

Requirement: 新增非内置项

内置字典类型下 SHALL 允许新增非内置项(built_in 为假),新项可自由编辑与删除。

Scenario: 内置类型下新增项

  • WHEN 管理员在内置类型下新增字典项
  • THEN 新项 built_in 为假,可正常增删改

Requirement: 内置字典种子

系统 seed SHALL 预置 5 个内置字典类型及字典项(含 label、color_type、sort):common_status、user_status、resource_type、data_scope、login_status。

Scenario: 幂等初始化

  • WHEN 运行 seed 脚本
  • THEN 5 个内置字典类型与字典项被创建,重复运行不重复插入