20 lines
924 B
Markdown
20 lines
924 B
Markdown
# 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`
|