# 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 个内置字典类型与字典项被创建,重复运行不重复插入