4.5 KiB
4.5 KiB
Change: 重构任务管理模块并新增数字人任务列表
Why
当前系统中混剪任务列表位于 MaterialList 模块下,结构不够清晰,且缺少数字人生成任务的列表管理。用户需要一个统一的、组件化的任务管理中心,能够:
- 统一管理混剪和数字人任务
- 提供一致的交互体验
- 实现左右分栏布局,便于切换不同任务类型
- 提升代码复用性和可维护性
What Changes
前端变更
- 新增 任务管理模块
task-management,包含左右分栏布局 - 新增 数字人任务列表页面
digital-human-task - 迁移 混剪任务列表从
MaterialList到task-management/mix-task - 重构 通用组件:筛选栏、状态标签、操作按钮等
- 更新 侧边栏导航:在「系统管理」菜单组下新增「任务管理」子菜单
- 移除 原「素材库」菜单组下的「混剪任务」项
后端变更
- 复用 现有 API:
MixTaskService、DigitalHumanTaskService - 无 数据库结构变更
目录结构变更
src/views/
├── task-management/ # [新增] 任务管理中心
│ ├── layout/
│ │ └── TaskLayout.vue # 左右分栏布局
│ ├── mix-task/
│ │ └── index.vue # 混剪任务列表(迁移)
│ ├── digital-human-task/
│ │ └── index.vue # 数字人任务列表(新建)
│ ├── components/ # 通用组件
│ └── composables/ # 复用逻辑
Impact
受影响的 Specs
mix-task:更新任务列表路径和组件结构digital-human-task:新增数字人任务管理规范task-management:新增任务中心布局规范
受影响的代码
- 前端路由配置(
router/index.js) - 侧边栏导航组件(
SidebarNav.vue) - 混剪任务列表(
MixTaskList.vue→task-management/mix-task/index.vue) - 数字人功能页面(复用现有 API)
Architecture Decisions
1. 布局设计
采用左右分栏布局:
- 左侧:任务类型导航(240px 固定宽度)
- 右侧:动态内容区域(自适应)
- 使用 Vue Router 的子路由机制实现内容切换
2. 组件复用
通过 Composable 提取通用逻辑:
useTaskList:列表加载、分页、筛选useTaskOperations:任务操作(删除、取消、重试)useTaskPolling:状态轮询机制
3. 状态管理
- 使用组合式 API(Composition API)
- 避免全局状态,组件内部管理状态
- 路由切换时清理定时器,防止内存泄漏
4. 导航设计
在系统管理菜单组下新增「任务管理」模块:
- 路径:
/system/task-management - 子路由:
/system/task-management/mix-task- 混剪任务/system/task-management/digital-human-task- 数字人任务
- 移除「素材库」下的「混剪任务」菜单项
Dependencies
- 依赖现有 API:
MixTaskService、DigitalHumanTaskService - 依赖现有 UI 组件库:Ant Design Vue
- 依赖现有路由系统:Vue Router 4
Risks
技术风险
- API 兼容性:数字人任务分页 API 参数可能与混剪任务不一致
- 应对:在 Composable 中分别处理不同 API 的参数格式
- 样式冲突:原有组件样式可能与新布局冲突
- 应对:使用 scoped CSS,避免全局样式污染
- 性能问题:两个列表同时轮询可能导致性能问题
- 应对:实现智能轮询,页面隐藏时暂停
业务风险
- 用户迁移:原有混剪任务列表路径变更
- 应对:保留旧路由一段时间,重定向到新路径
- 功能缺失:数字人任务列表功能可能不完整
- 应对:参考混剪任务列表实现,确保功能对等
Rollback Plan
如需回滚:
- 保留
MixTaskList.vue文件 - 恢复
router/index.js中的原路由配置 - 恢复
SidebarNav.vue中的原菜单配置 - 删除新创建的
task-management目录
Success Metrics
功能指标
- 混剪任务列表功能 100% 保持
- 数字人任务列表功能完整实现
- 左右导航切换流畅(< 100ms)
- 列表加载时间 < 2秒
代码质量指标
- 代码复用率提升 30%(通过 Composable)
- 新增代码覆盖率 > 80%
- 无 TypeScript 类型错误
- ESLint 检查通过
用户体验指标
- 页面切换动画流畅
- 空数据状态友好提示
- 错误处理完善
- 响应式布局适配移动端