Files
mnote/bugs/04-tree-domain/done/4-43-sidebar-duplicate-migrate-to-tree-commands-v1.md
T

20 lines
924 B
Markdown
Raw Normal View History

2026-05-16 23:48:41 +08:00
# 4-43 [done] 侧栏「复制页面」从 `/api/documents/duplicate` 迁移到 `/api/tree/commands`
> 更新时间:2026-05-16
>
> 状态:`done`
## 问题
`sidebar.tsx:924``handleDuplicateDocument` 直接 `fetch("/api/documents/duplicate")`,走旧 Next.js compat 路由,不经过 Rust tree command 链,不生成 tree domain event。
## 修复
改为调用 `tree-command-client.ts` 中已有的 `copyTreeCommand`POST 到 `/api/tree/commands`,使用 `action: "copy"` + Rust `tree.subtree.copy` 命令。
## 证据
- `wolai-frontend/src/components/sidebar/sidebar.tsx``handleDuplicateDocument` 改为 `copyTreeCommand({ targetParentId: null, items: [{ documentId: node.id, recursive: true }] })`
- `wolai-frontend/src/components/sidebar/sidebar.tsx`import 新增 `copyTreeCommand`
- 验证:单页面复制后 `/api/tree/commands` 应收到 `action: "copy"`,不走 `/api/documents/duplicate`