From dd29428c40aa9d33f62d3c9ad08c21381462d82a Mon Sep 17 00:00:00 2001 From: lzp Date: Fri, 13 Mar 2026 17:31:47 +0800 Subject: [PATCH] 111 --- src/components/Canvas/DepthCanvas/depth-canvas.vue | 1 + src/components/Canvas/DepthCanvas/manager/CanvasManager.ts | 3 +++ src/components/Canvas/DepthCanvas/manager/LayerManager.ts | 3 +++ 3 files changed, 7 insertions(+) diff --git a/src/components/Canvas/DepthCanvas/depth-canvas.vue b/src/components/Canvas/DepthCanvas/depth-canvas.vue index c4a086f..112f3db 100644 --- a/src/components/Canvas/DepthCanvas/depth-canvas.vue +++ b/src/components/Canvas/DepthCanvas/depth-canvas.vue @@ -106,6 +106,7 @@ isReady.value = true // 准备就绪 }) onBeforeUnmount(() => { + observer.value.disconnect() canvasManager.dispose() stateManager.dispose() layerManager.dispose() diff --git a/src/components/Canvas/DepthCanvas/manager/CanvasManager.ts b/src/components/Canvas/DepthCanvas/manager/CanvasManager.ts index 1838b1d..0b24676 100644 --- a/src/components/Canvas/DepthCanvas/manager/CanvasManager.ts +++ b/src/components/Canvas/DepthCanvas/manager/CanvasManager.ts @@ -153,6 +153,9 @@ export class CanvasManager { getObjectById(id: string) { return this.getObjects().find((item: any) => item?.info?.id === id) } + getActiveObject() { + return this.getObjectById(this.layerManager.activeID.value) + } renderAll() { this.canvas.renderAll() } diff --git a/src/components/Canvas/DepthCanvas/manager/LayerManager.ts b/src/components/Canvas/DepthCanvas/manager/LayerManager.ts index 67f6b39..babacdb 100644 --- a/src/components/Canvas/DepthCanvas/manager/LayerManager.ts +++ b/src/components/Canvas/DepthCanvas/manager/LayerManager.ts @@ -22,6 +22,9 @@ export class LayerManager { this.stateManager.toolManager.setTool(OperationType.SELECT) } } + getActiveLayer() { + return this.getLayerById(this.activeID.value) + } getLayerById(id) { return this.layers.value.find((item: any) => item.info.id === id) }