deploy-ease-platform/frontend/src/pages/Workflow/Definition/Design/MIGRATION.md
dengqichen 1e9606006d 1
2025-10-20 14:38:00 +08:00

3.9 KiB
Raw Blame History

🚀 工作流设计器迁移指南

迁移前检查清单

  • 重构版本功能正常
  • 保存功能已验证
  • 无限循环问题已解决
  • 调试代码已清理
  • 所有核心功能已测试

🎯 迁移方案选择

方案 1安全备份替换推荐

适合场景:生产环境,风险控制 优点:最安全,可快速回滚

# 1. 备份原始文件
mv src/pages/Workflow/Definition/Design/index.tsx src/pages/Workflow/Definition/Design/index.tsx.backup

# 2. 重命名重构版本为新的主文件
mv src/pages/Workflow/Definition/Design/RefactoredIndex.tsx src/pages/Workflow/Definition/Design/index.tsx

# 3. 测试验证无问题后,删除备份(可选)
# rm src/pages/Workflow/Definition/Design/index.tsx.backup

方案 2路由导入切换

适合场景:快速验证,多环境测试 优点:不需要重命名文件

// 修改 src/router/index.tsx 第34行
// 原来:
const WorkflowDesign = lazy(() => import('../pages/Workflow/Definition/Design'));

// 改为:
const WorkflowDesign = lazy(() => import('../pages/Workflow/Definition/Design/RefactoredIndex'));

方案 3渐进式迁移

适合场景:团队协作,逐步验证 优点:可以长期并行存在

保持两个版本同时存在,通过不同路由访问:

  • 原版:/workflow/definition/:id/design
  • 重构版:/workflow/definition/:id/design-refactored

🚀 执行迁移推荐方案1

步骤 1执行文件替换

# 在项目根目录执行
cd src/pages/Workflow/Definition/Design/

# 备份原文件
mv index.tsx index.tsx.backup

# 重构版本成为新的主文件
mv RefactoredIndex.tsx index.tsx

步骤 2清理测试路由

如果不再需要测试路由,可以清理:

// src/router/index.tsx 中删除这些行:
const WorkflowDesignRefactored = lazy(() => import('../pages/Workflow/Definition/Design/RefactoredIndex'));

// 删除这个路由配置:
{
    path: ':id/design-refactored',
    element: (
        <Suspense fallback={<LoadingComponent/>}>
            <WorkflowDesignRefactored/>
        </Suspense>
    )
}

步骤 3验证迁移

  1. 重启开发服务器

    pnpm dev
    
  2. 访问原路径验证

    http://localhost:3000/workflow/definition/3/design
    
  3. 功能完整性测试

    • 页面正常加载
    • 节点面板显示正常
    • 拖拽节点功能正常
    • 节点双击编辑正常
    • 连线功能正常
    • 工具栏所有按钮正常
    • 保存功能正常
    • 撤销/重做功能正常

🔄 回滚方案

如果发现问题需要回滚:

# 快速回滚到原版本
mv index.tsx index.tsx.refactored
mv index.tsx.backup index.tsx

# 重启开发服务器
pnpm dev

🧹 清理工作

迁移成功并稳定运行后,可以清理不需要的文件:

# 删除备份文件
rm index.tsx.backup

# 删除重构相关文档(可选)
rm README.md TESTING.md BUGFIX.md BUGFIX-V2.md MIGRATION.md

📊 迁移前后对比

文件 迁移前 迁移后
主组件 index.tsx (1541行) index.tsx (原RefactoredIndex.tsx, 131行)
代码结构 单体架构 模块化架构
文件数量 1个主文件 13个模块文件
可维护性
功能完整性

🎉 迁移完成验证

迁移完成后,你应该看到:

  • 所有功能正常工作
  • 页面加载流畅
  • 代码结构清晰
  • 便于后续维护

📞 技术支持

如果迁移过程中遇到问题:

  1. 首先尝试回滚到备份版本
  2. 检查控制台错误信息
  3. 对比新旧版本的差异
  4. 逐步验证各个功能模块

恭喜!你已经成功从 1541 行的单体代码重构为现代化的模块架构! 🎊