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