- backend/schemas.py: TemplateUpdate 添加 classes/rules 字段 - backend/models.py: Template 添加 description 列 - backend/routers/templates.py: create/update 打包/解包 mapping_rules.classes (已有) - backend/main.py: seed 腹腔镜胆囊切除术35分类模板 - src/lib/api.ts: updateTemplate 改 PATCH,补齐 color/z_index,_mapTemplate 对齐 TS 接口 - src/store/useStore.ts: 新增 activeTemplateId/setActiveTemplateId - src/components/TemplateRegistry.tsx: 随机颜色(HSL轮盘)、HTML5拖拽排序、批量JSON导入、一键载入腹腔镜模板、handleSave 补齐必填字段 - src/components/OntologyInspector.tsx: 完全重写,从store读取模板,支持模板切换和自定义分类 - src/components/VideoWorkspace.tsx: 进入时自动加载模板列表 - src/components/ProjectLibrary.tsx: 修复状态字符串 TS 严格类型报错 - 工程分析/: 更新实现方案与经验记录 Timestamp: 20260430_222830
968 B
968 B
需求分析 — 模板系统与工作区联动改造
需求背景
用户提出模板库和工作区联动的四个问题:
需求拆解
| 编号 | 需求 | 优先级 |
|---|---|---|
| R1 | 模板库点击"保存"无反应 | P0 |
| R2 | 模板库添加类别颜色都是同一个(cyan),需要颜色轮自动分配 | P0 |
| R3 | z-index 支持拖拽/上下调整顺序 | P0 |
| R4 | 模板支持批量导入模式(颜色+名称数组) | P0 |
| R5 | 预置腹腔镜胆囊切除术模板(35个分类) | P0 |
| R6 | 工作区右侧语义分类与模板库联动 | P0 |
| R7 | 每个项目可以从模板选取分类,也可以自定义添加 | P0 |
根因分析
- 后端
Templateschema 没有classes字段,前端传的classes被 Pydantic 忽略 addClass硬编码颜色#06b6d4- z-index 仅支持数字输入,无拖拽/排序交互
OntologyInspector使用硬编码 mock 数据,与模板库完全隔离