# 🚀 工作流设计器迁移指南 ## ✅ 迁移前检查清单 - [x] 重构版本功能正常 - [x] 保存功能已验证 - [x] 无限循环问题已解决 - [x] 调试代码已清理 - [x] 所有核心功能已测试 ## 🎯 迁移方案选择 ### 方案 1:安全备份替换(推荐)⭐ **适合场景**:生产环境,风险控制 **优点**:最安全,可快速回滚 ```bash # 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:路由导入切换 **适合场景**:快速验证,多环境测试 **优点**:不需要重命名文件 ```typescript // 修改 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:执行文件替换 ```bash # 在项目根目录执行 cd src/pages/Workflow/Definition/Design/ # 备份原文件 mv index.tsx index.tsx.backup # 重构版本成为新的主文件 mv RefactoredIndex.tsx index.tsx ``` ### 步骤 2:清理测试路由 如果不再需要测试路由,可以清理: ```typescript // src/router/index.tsx 中删除这些行: const WorkflowDesignRefactored = lazy(() => import('../pages/Workflow/Definition/Design/RefactoredIndex')); // 删除这个路由配置: { path: ':id/design-refactored', element: ( }> ) } ``` ### 步骤 3:验证迁移 1. **重启开发服务器**: ```bash pnpm dev ``` 2. **访问原路径验证**: ``` http://localhost:3000/workflow/definition/3/design ``` 3. **功能完整性测试**: - [ ] 页面正常加载 - [ ] 节点面板显示正常 - [ ] 拖拽节点功能正常 - [ ] 节点双击编辑正常 - [ ] 连线功能正常 - [ ] 工具栏所有按钮正常 - [ ] 保存功能正常 - [ ] 撤销/重做功能正常 ## 🔄 回滚方案 如果发现问题需要回滚: ```bash # 快速回滚到原版本 mv index.tsx index.tsx.refactored mv index.tsx.backup index.tsx # 重启开发服务器 pnpm dev ``` ## 🧹 清理工作 迁移成功并稳定运行后,可以清理不需要的文件: ```bash # 删除备份文件 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 行的单体代码重构为现代化的模块架构!** 🎊