8.3 KiB
8.3 KiB
权限管理规范
ADDED Requirements
Requirement: 权限列表展示
系统 SHALL 提供权限列表展示功能,以树形表格形式展示系统的完整权限结构。
Scenario: 展示权限树形列表
- WHEN 管理员访问权限管理页面
- THEN 系统以树形表格展示所有权限,包含以下字段:
- 权限名称
- 权限标识(permissionCode)
- 权限类型(菜单/按钮/API)
- 父级权限(如有)
- 菜单路径(menu类型)
- 图标(menu类型)
- 排序序号
- 状态(启用/禁用)
- 创建时间
- 操作按钮
Scenario: 按权限名称搜索
- WHEN 管理员在搜索框输入权限名称并点击查询
- THEN 系统返回名称包含该关键词的权限记录,保持树形结构
Scenario: 按权限标识搜索
- WHEN 管理员在搜索框输入权限标识并点击查询
- THEN 系统返回匹配该标识的权限记录及其父级权限
Scenario: 按权限类型筛选
- WHEN 管理员选择权限类型(菜单/按钮/API)并点击查询
- THEN 系统返回该类型的所有权限,保持树形结构
Scenario: 按权限状态筛选
- WHEN 管理员选择权限状态(启用/禁用)并点击查询
- THEN 系统返回该状态的所有权限
Scenario: 重置搜索条件
- WHEN 管理员点击重置按钮
- THEN 系统清空所有搜索条件并显示完整权限树
Requirement: 新增权限
系统 SHALL 提供新增权限功能,允许管理员创建新的菜单、按钮或 API 权限。
Scenario: 打开新增权限对话框
- WHEN 管理员点击"新增权限"按钮
- THEN 系统弹出新增权限对话框,包含以下字段:
- 权限名称(必填)
- 权限标识(必填,唯一)
- 权限类型(必选:菜单/按钮/API)
- 父级权限(可选,树形选择)
- 菜单路径(权限类型为菜单时必填)
- 菜单图标(权限类型为菜单时可选)
- 排序序号(可选,数字)
- 状态(启用/禁用,默认启用)
- 描述(可选)
Scenario: 成功创建权限
- WHEN 管理员填写完整信息并点击确定
- THEN 系统验证数据有效性,创建权限记录,关闭对话框,刷新权限列表,显示成功提示
Scenario: 权限标识重复
- WHEN 管理员输入已存在的权限标识并提交
- THEN 系统显示"权限标识已存在"错误提示,不创建记录
Scenario: 必填字段校验
- WHEN 管理员未填写必填字段并提交
- THEN 系统高亮显示未填写的必填字段,显示"请填写必填项"提示
Requirement: 编辑权限
系统 SHALL 提供编辑权限功能,允许管理员修改已有权限的信息。
Scenario: 打开编辑权限对话框
- WHEN 管理员点击某个权限的"编辑"按钮
- THEN 系统弹出编辑对话框,预填充该权限的当前信息
Scenario: 成功更新权限
- WHEN 管理员修改信息并点击确定
- THEN 系统验证数据有效性,更新权限记录,关闭对话框,刷新列表,显示成功提示
Scenario: 不允许修改权限标识为重复值
- WHEN 管理员修改权限标识为已存在的其他标识并提交
- THEN 系统显示"权限标识已存在"错误提示,不更新记录
Requirement: 删除权限
系统 SHALL 提供删除权限功能,允许管理员删除不再使用的权限。
Scenario: 删除单个权限(无子权限)
- WHEN 管理员点击某个无子权限的"删除"按钮并确认
- THEN 系统删除该权限记录,刷新列表,显示成功提示
Scenario: 删除权限前二次确认
- WHEN 管理员点击"删除"按钮
- THEN 系统弹出确认对话框,提示"确定要删除该权限吗?此操作不可撤销"
Scenario: 删除有子权限的权限
- WHEN 管理员尝试删除有子权限的权限
- THEN 系统提示"该权限下存在子权限,请先删除子权限",不执行删除
Scenario: 删除已分配给角色的权限
- WHEN 管理员尝试删除已分配给角色的权限
- THEN 系统提示"该权限已分配给角色,请先从角色中移除该权限",不执行删除
Scenario: 取消删除操作
- WHEN 管理员在确认对话框中点击取消
- THEN 系统关闭对话框,不删除权限
Requirement: 批量删除权限
系统 SHALL 提供批量删除权限功能,允许管理员一次性删除多个权限。
Scenario: 选择多个权限并删除
- WHEN 管理员选中多个无子权限的权限并点击"批量删除"按钮并确认
- THEN 系统删除所有选中的权限,刷新列表,显示成功提示(如"成功删除 3 个权限")
Scenario: 批量删除包含有子权限的权限
- WHEN 管理员选中的权限中包含有子权限的权限
- THEN 系统仅删除无子权限的权限,提示"部分权限存在子权限,已跳过删除"
Requirement: 权限状态管理
系统 SHALL 提供权限状态切换功能,允许管理员启用或禁用权限。
Scenario: 切换权限状态
- WHEN 管理员点击权限的状态开关
- THEN 系统更新该权限的状态(启用↔禁用),刷新列表,显示成功提示
Scenario: 禁用父级权限
- WHEN 管理员禁用有子权限的权限
- THEN 系统同时禁用其所有子权限,提示"已同时禁用 X 个子权限"
Requirement: 权限树形展示
系统 SHALL 以树形结构展示权限的层级关系,支持展开/折叠操作。
Scenario: 默认展开第一级
- WHEN 管理员首次访问权限管理页面
- THEN 系统默认展开第一级权限,其余层级折叠
Scenario: 展开/折叠权限节点
- WHEN 管理员点击权限节点的展开/折叠图标
- THEN 系统展开或折叠该节点的子权限
Scenario: 展开全部权限
- WHEN 管理员点击"全部展开"按钮
- THEN 系统展开所有权限节点
Scenario: 折叠全部权限
- WHEN 管理员点击"全部折叠"按钮
- THEN 系统折叠所有权限节点,仅显示第一级
Requirement: 权限类型可视化区分
系统 SHALL 使用不同的视觉样式区分权限类型,提升可读性。
Scenario: 权限类型标签样式
- WHEN 列表中显示权限类型
- THEN 菜单权限显示为蓝色标签,按钮权限显示为绿色标签,API权限显示为橙色标签
Scenario: 权限类型图标
- WHEN 权限为菜单类型且配置了图标
- THEN 在权限名称前显示对应的菜单图标
Requirement: 权限详情查看
系统 SHALL 提供权限详情查看功能,展示权限的完整信息。
Scenario: 查看权限详情
- WHEN 管理员点击权限的"查看"按钮
- THEN 系统弹出详情对话框,展示权限的所有字段信息,包括创建时间、更新时间等
Requirement: 国际化支持
系统 SHALL 支持中英文双语界面,所有文案通过国际化文件管理。
Scenario: 中文界面显示
- WHEN 系统语言设置为中文
- THEN 所有界面文案显示为中文
Scenario: 英文界面显示
- WHEN 系统语言设置为英文
- THEN 所有界面文案显示为英文
Requirement: 访问权限控制
系统 SHALL 限制权限管理页面的访问权限,仅超级管理员可访问。
Scenario: 超级管理员访问
- WHEN 超级管理员访问权限管理页面
- THEN 系统正常显示权限管理界面
Scenario: 普通管理员访问
- WHEN 普通管理员尝试访问权限管理页面
- THEN 系统显示"403 无权访问"页面或重定向到首页
Requirement: 异常处理与用户反馈
系统 SHALL 在操作过程中提供清晰的用户反馈和错误处理。
Scenario: 操作成功反馈
- WHEN 用户执行新增/编辑/删除操作成功
- THEN 系统显示成功消息提示(如"权限创建成功")
Scenario: API 请求失败处理
- WHEN API 请求失败或超时
- THEN 系统显示错误消息,并提示用户重试
Scenario: 数据加载状态
- WHEN 系统正在加载权限数据
- THEN 显示加载动画或骨架屏,防止用户误操作
Scenario: 空数据提示
- WHEN 权限列表为空
- THEN 系统显示"暂无权限数据,点击新增按钮创建权限"提示