ether-docs/02-DESIGN/domains/permission-upgrade-v3/task_list.md

159 lines
3.8 KiB
Markdown
Raw 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.

# 权限体系升级任务清单
**文档版本**: v1.0
**创建日期**: 2026-02-27
---
## 任务概览
| 阶段 | 任务数 | 预计工作量 |
|------|--------|-----------|
| 阶段1: 后端基础升级 | 6 | 2天 |
| 阶段2: 前端权限增强 | 4 | 2天 |
| 阶段3: 数据迁移 | 1 | 0.5天 |
| 阶段4: 测试验证 | 4 | 1.5天 |
| **总计** | **15** | **6天** |
---
## 阶段1: 后端基础升级
### Task 1: 后端数据范围枚举扩展
- [ ] 扩展 DataScope 枚举,新增 PROJECT 级别
- [ ] 更新 DataScopeHelper 工具类
- [ ] 更新 DataScopeContext 上下文
- [ ] 编译验证
- [ ] 提交代码
### Task 2: 后端角色模板扩展
- [ ] 更新 RoleTemplate.java新增7个角色定义
- [ ] 编译验证
- [ ] 提交代码
### Task 3: 后端按钮级权限编码定义
- [ ] 创建 PermissionTemplate.java
- [ ] 定义40+按钮权限编码
- [ ] 编译验证
- [ ] 提交代码
### Task 4: 后端状态驱动权限配置
- [ ] 创建 WorkOrderAction 枚举
- [ ] 更新 WorkOrderStatus 枚举,添加状态-操作映射
- [ ] 编译验证
- [ ] 提交代码
### Task 5: 后端权限服务增强
- [ ] 添加 hasActionPermission 方法
- [ ] 添加 getAllowedActions 方法
- [ ] 编译验证
- [ ] 提交代码
### Task 6: 后端API接口扩展
- [ ] 添加 /check-action 接口
- [ ] 添加 /allowed-actions 接口
- [ ] 编译验证
- [ ] 提交代码
---
## 阶段2: 前端权限增强
### Task 7: 前端管理后台权限Store增强
- [ ] 添加 checkActionPermission 方法
- [ ] 添加 getAllowedActions 方法
- [ ] TypeScript 类型检查
- [ ] 提交代码
### Task 8: 前端管理后台权限指令增强
- [ ] 增强 v-permission 指令支持状态检查配置
- [ ] 添加 PermissionConfig 类型
- [ ] TypeScript 类型检查
- [ ] 提交代码
### Task 9: 前端员工端权限Store新增
- [ ] 创建 permission.ts Store
- [ ] 实现 hasPermissionCode 方法
- [ ] 实现 checkActionPermission 方法
- [ ] TypeScript 类型检查
- [ ] 提交代码
### Task 10: 前端员工端权限指令新增
- [ ] 创建 permission.ts 指令文件
- [ ] 实现 v-permission 指令
- [ ] 实现 v-disable-permission 指令
- [ ] 在 main.ts 注册指令
- [ ] TypeScript 类型检查
- [ ] 提交代码
---
## 阶段3: 数据迁移
### Task 11: 数据库迁移脚本
- [ ] 创建 permission-upgrade-v3.sql 升级脚本
- [ ] 创建 permission-upgrade-v3-rollback.sql 回滚脚本
- [ ] 测试脚本执行
- [ ] 提交代码
---
## 阶段4: 测试验证
### Task 12: 后端单元测试
- [ ] 创建 PermissionServiceV3Test.java
- [ ] 测试数据范围枚举
- [ ] 测试新角色模板
- [ ] 测试按钮级权限
- [ ] 测试状态驱动权限
- [ ] 运行测试通过
- [ ] 提交代码
### Task 13: 前端单元测试
- [ ] 创建 permissionStore.test.ts
- [ ] 测试 hasPermissionCode
- [ ] 测试 hasAnyPermission
- [ ] 测试 checkActionPermission
- [ ] 运行测试通过
- [ ] 提交代码
### Task 14: E2E测试方案
- [ ] 创建 E2E 测试计划文档
- [ ] 定义测试用例
- [ ] 准备测试数据
- [ ] 提交文档
### Task 15: 最终验证与文档更新
- [ ] 验证所有服务启动
- [ ] 执行数据库迁移
- [ ] 运行所有测试
- [ ] 更新文档版本
- [ ] 提交代码
---
## 验收清单
### 功能验收
- [ ] 所有13个角色可正常创建和使用
- [ ] 所有40+按钮权限可正常检查
- [ ] 状态驱动权限正确工作
- [ ] 数据范围权限正确过滤
- [ ] 三端权限检查正常工作
### 兼容性验收
- [ ] 现有用户可正常登录
- [ ] 现有功能不受影响
- [ ] 现有数据完整保留
### 性能验收
- [ ] 权限检查响应时间 < 100ms
- [ ] 页面加载时间无明显增加
- [ ] 数据库查询性能正常
### 测试验收
- [ ] 单元测试覆盖率 > 80%
- [ ] 集成测试全部通过
- [ ] E2E测试全部通过
- [ ] 无P0/P1级别缺陷