fix: 修复保存后刷新网页图层全变成1的问题

问题原因:
1. LogicFlow 的 render() 方法不会自动应用节点的 zIndex 属性
2. 切换标签时,LogicFlow Label 插件对空 _label 数组处理有误导致渲染失败
3. 渲染失败后节点 zIndex 被重置为默认值 1

解决方案:
1. 在 App.vue 中,render() 后立即从保存的数据中恢复每个节点的 zIndex
2. 在 normalizeGraphData() 中清理空的 _label 数组,避免 Label 插件报错
3. 简化 FlowEditor.vue 中的 normalizeAllNodes(),移除不必要的重新分配逻辑
4. 清理调试日志,保持代码整洁

测试:
- 添加节点并调整图层顺序
- 切换标签页
- 刷新浏览器
- 确认图层顺序保持不变
This commit is contained in:
2026-02-13 19:28:21 +08:00
parent 92aa4094f5
commit 9227a61c85
21 changed files with 3175 additions and 62 deletions

View File

@@ -20,10 +20,32 @@ npm run test:coverage
## 测试文件结构
测试文件位于 `src/__tests__/` 目录:
### 目录规范
所有单元测试文件统一放在 `src/__tests__/` 目录下:
```
src/
├── __tests__/
│ ├── schema.test.ts # 数据结构和类型验证测试
│ ├── useStore.test.ts # Store 状态管理和数据操作测试
│ ├── layer-management.spec.ts # 图层管理功能测试
│ └── ... # 其他功能模块测试
├── components/
├── ts/
└── ...
```
### 命名规则
- **单元测试**: `<功能模块名>.test.ts``<功能模块名>.spec.ts`
- **集成测试**: `<功能模块名>.integration.test.ts`
### 现有测试文件
- `schema.test.ts` - 数据结构和类型验证测试
- `useStore.test.ts` - Store 状态管理和数据操作测试
- `layer-management.spec.ts` - 图层管理功能测试(上移、下移、置顶、置底)
## 测试示例