From d586c1b1c7614e0651328954c4710e73842c170d Mon Sep 17 00:00:00 2001 From: chilingling Date: Mon, 23 Dec 2024 19:11:45 -0800 Subject: [PATCH] fix: chore bug fix for v2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 修复清空画布报错的 bug 2. 修复区块加载错误的 bug 3. 修复画布拖拽组件到最前面的时候,组件会消失的 bug --- .../canvas/DesignCanvas/src/api/useCanvas.js | 17 ++++++++++------- packages/canvas/render/src/render.js | 2 +- .../materials/src/composable/block-compile.js | 2 +- packages/toolbars/clean/src/Main.vue | 5 ++--- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/canvas/DesignCanvas/src/api/useCanvas.js b/packages/canvas/DesignCanvas/src/api/useCanvas.js index beebdc4058..9c0c6a3b8b 100644 --- a/packages/canvas/DesignCanvas/src/api/useCanvas.js +++ b/packages/canvas/DesignCanvas/src/api/useCanvas.js @@ -297,15 +297,18 @@ const operationTypeMap = { } } - if (position === 'after') { + if (position === 'before') { + parentNode.children.unshift(newNodeData) + } else { parentNode.children.push(newNodeData) - setNode(newNodeData, parentNode) + } - // 递归构建 nodeMap - if (Array.isArray(newNodeData?.children) && newNodeData.children.length) { - const newNode = getNode(newNodeData.id) - generateNodesMap(newNodeData.children, newNode) - } + setNode(newNodeData, parentNode) + + // 递归构建 nodeMap + if (Array.isArray(newNodeData?.children) && newNodeData.children.length) { + const newNode = getNode(newNodeData.id) + generateNodesMap(newNodeData.children, newNode) } return { diff --git a/packages/canvas/render/src/render.js b/packages/canvas/render/src/render.js index 3399273275..6458f045f1 100644 --- a/packages/canvas/render/src/render.js +++ b/packages/canvas/render/src/render.js @@ -215,7 +215,7 @@ export const generateFn = (innerFn, context) => { } // 这里注意如果innerFn返回的是一个promise则需要捕获异常,重新返回默认一条空数据 - if (result.then) { + if (result?.then) { result = new Promise((resolve) => { result.then(resolve).catch((error) => { globalNotify({ diff --git a/packages/plugins/materials/src/composable/block-compile.js b/packages/plugins/materials/src/composable/block-compile.js index 38db57cc5b..54da3fa4be 100644 --- a/packages/plugins/materials/src/composable/block-compile.js +++ b/packages/plugins/materials/src/composable/block-compile.js @@ -27,7 +27,7 @@ export const getBlockCompileRes = async (schema) => { const generateCodeService = getMetaApi('engine.service.generateCode') const blocks = await generateCodeService.getAllNestedBlocksSchema(schema, fetchBlockSchema) - const componentsMap = useResource().resState.componentsMap + const componentsMap = useResource().appSchemaState.componentsMap // 调用 api 得到页面出码结果 let blocksSourceCode = null diff --git a/packages/toolbars/clean/src/Main.vue b/packages/toolbars/clean/src/Main.vue index b34f4a6f2e..2f77f34887 100644 --- a/packages/toolbars/clean/src/Main.vue +++ b/packages/toolbars/clean/src/Main.vue @@ -51,9 +51,8 @@ export default { } ] - } - }).then((res) => { - if (res === 'confirm') { + }, + exec: () => { clearCanvas() } })