Files
sionrui/openspec/changes/refactor-task-management/tasks.md

190 lines
5.8 KiB
Markdown
Raw Normal View History

2025-12-21 22:24:16 +08:00
# Tasks: 重构任务管理模块并新增数字人任务列表
## Phase 1: 基础架构搭建
- [ ] 1.1 创建目录结构 `src/views/system/task-management/`
- 创建 `layout/``mix-task/``digital-human-task/``components/``composables/` 子目录
- 创建 `.gitkeep` 文件保持空目录结构
- [ ] 1.2 实现核心布局组件 `TaskLayout.vue`
- 实现左右分栏布局(左侧 240px右侧自适应
- 添加路由切换动画
- 高亮当前激活的导航项
- 实现响应式适配
- [ ] 1.3 配置路由规则
-`router/index.js` 中添加 `/system/task-management` 路由
- 配置子路由:`mix-task``digital-human-task`
- 设置默认重定向到 `mix-task`
- [ ] 1.4 创建通用 Composable
- `useTaskList.js`:列表加载、分页、筛选逻辑
- `useTaskOperations.js`:任务操作(删除、取消、重试)
- `useTaskPolling.js`:状态轮询机制
## Phase 2: 混剪模块迁移
- [ ] 2.1 迁移混剪任务列表
- 复制 `views/material/MixTaskList.vue``task-management/mix-task/index.vue`
- 调整导入路径(使用 `@/` 别名)
- 移除顶部标题栏(布局组件处理)
- 适配新布局的样式
- [ ] 2.2 提取通用组件
- 创建 `components/TaskFilterBar.vue`
- 创建 `components/TaskStatusTag.vue`
- 创建 `components/TaskActionButtons.vue`
- 在混剪列表中应用这些组件
- [ ] 2.3 测试混剪功能
- 验证列表加载正常
- 验证筛选和搜索功能
- 验证分页功能
- 验证任务操作(预览、下载、取消、删除、重试)
## Phase 3: 数字人模块开发
- [ ] 3.1 创建数字人任务列表页面
- 创建 `task-management/digital-human-task/index.vue`
- 实现表格列定义ID、任务名、视频文件、文案、音色、状态、进度、时间、操作
- 集成 API 调用(`getDigitalHumanTaskPage`
- [ ] 3.2 实现数字人任务操作
- 预览:显示生成结果视频
- 下载:下载生成的视频文件
- 删除:删除任务(带确认弹窗)
- 取消:取消正在运行的任务
- 重试:重新生成失败的任务
- [ ] 3.3 实现状态轮询
- 每 5 秒检查一次运行中的任务状态
- 页面隐藏时暂停轮询
- 组件销毁时清理定时器
- [ ] 3.4 调试和测试
- 验证数据显示正确性
- 验证状态同步准确性
- 验证操作流程完整性
## Phase 4: 导航和路由整合
- [ ] 4.1 更新侧边栏导航
- 修改 `components/SidebarNav.vue`
- 移除「素材库」菜单组中的「混剪任务」
- 在「系统管理」菜单组下新增「任务管理」模块,包含:
- 混剪视频任务(`/system/task-management/mix-task`
- 数字人视频任务(`/system/task-management/digital-human-task`
- [ ] 4.2 设置路由重定向(可选)
- 保留旧路由 `/material/mix-task` 一段时间
- 配置重定向到 `/system/task-management/mix-task`
- [ ] 4.3 导航测试
- 验证导航切换正常
- 验证激活状态高亮正确
- 验证页面标题更新
## Phase 5: 测试和优化
- [ ] 5.1 功能测试
- 测试混剪任务列表所有功能
- 测试数字人任务列表所有功能
- 测试左右导航切换
- 测试筛选和搜索功能
- 测试分页功能
- 测试任务操作功能
- [ ] 5.2 兼容性测试
- 测试不同浏览器Chrome、Firefox、Safari、Edge
- 测试不同屏幕尺寸(桌面端、平板、手机)
- 测试 Vue DevTools 调试功能
- [ ] 5.3 性能优化
- 优化 API 调用频次
- 优化列表渲染性能(虚拟滚动,如需要)
- 优化轮询机制(智能暂停/恢复)
- 检查内存泄漏(定时器、事件监听器)
- [ ] 5.4 代码质量检查
- 运行 ESLint 检查
- 运行 TypeScript 类型检查(如果启用)
- 代码覆盖率检查
- 代码审查和重构
## Phase 6: 文档和验收
- [ ] 6.1 更新文档
- 更新 API 文档(如果需要)
- 更新用户使用文档(如果需要)
- 更新开发文档(如果需要)
- [ ] 6.2 验收测试
- 功能验收:所有功能正常运行
- 性能验收:加载时间、响应时间符合要求
- UI 验收:布局、样式、交互符合设计要求
- 兼容性验收:在目标浏览器和设备上正常运行
- [ ] 6.3 部署准备
- 准备部署检查清单
- 确认回滚方案
- 确认监控和告警
## 验收标准
### 功能验收清单
- [ ] 混剪任务列表显示和操作正常
- [ ] 数字人任务列表显示和操作正常
- [ ] 左右导航切换流畅
- [ ] 筛选和搜索功能正常
- [ ] 分页功能正常
- [ ] 任务操作(预览、下载、取消、删除、重试)正常
- [ ] 状态轮询机制正常
- [ ] 错误处理完善
- [ ] 空数据状态友好提示
### 性能验收清单
- [ ] 列表初始加载时间 < 2秒
- [ ] 导航切换响应时间 < 100ms
- [ ] 轮询间隔合理5-10秒
- [ ] 页面切换无卡顿
- [ ] 内存占用合理(无内存泄漏)
### 代码质量验收清单
- [ ] ESLint 检查通过
- [ ] 无 TypeScript 类型错误(如果启用)
- [ ] 代码注释充分
- [ ] 代码结构清晰
- [ ] 组件职责单一
- [ ] 代码复用率高
## 风险监控
### 技术风险
- [ ] API 兼容性风险:持续监控 API 调用错误
- [ ] 样式冲突风险:检查浏览器控制台警告
- [ ] 性能风险:监控页面加载时间和内存使用
### 业务风险
- [ ] 用户体验风险:收集用户反馈
- [ ] 功能完整性风险:对比需求文档验证
- [ ] 回归风险:确保现有功能不受影响
## 资源估算
### 时间估算
- Phase 1: 1-2 小时
- Phase 2: 2-3 小时
- Phase 3: 3-4 小时
- Phase 4: 1 小时
- Phase 5: 2-3 小时
- Phase 6: 1 小时
**总计10-14 小时**
### 人力估算
- 前端开发1 人
- 测试0.5 人
- 代码审查0.5 人
**总计2 人**