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

40 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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