diff --git a/src/components/Toolbar.vue b/src/components/Toolbar.vue index 7a4fc31..83d0bf3 100644 --- a/src/components/Toolbar.vue +++ b/src/components/Toolbar.vue @@ -8,6 +8,7 @@ {{ t('loadExample') }} {{ t('updateLog') }} {{ t('feedback') }} + 重置工作区 @@ -107,11 +108,13 @@ const refreshLogicFlowCanvas = (message?: string) => { const logicFlowInstance = getLogicFlowInstance(); if (logicFlowInstance) { // 获取当前活动文件的数据 - const currentFileData = filesStore.getTab(filesStore.activeFile); + const currentFileData = filesStore.getTab(filesStore.activeFileId); if (currentFileData) { // 清空画布并重新渲染 logicFlowInstance.clearData(); - logicFlowInstance.render(currentFileData); + // 注意:此处根据你的画布 API 传入 graphRawData 或整个文件数据 + const data = (currentFileData as any).graphRawData || currentFileData; + logicFlowInstance.render(data); console.log(message || 'LogicFlow 画布已重新渲染'); } } @@ -215,6 +218,18 @@ const handleImport = () => { input.click(); }; +const handleResetWorkspace = () => { + ElMessageBox.confirm('确定重置当前工作区?该操作不可撤销', '提示', { + confirmButtonText: '重置', + cancelButtonText: '取消', + type: 'warning', + }).then(() => { + filesStore.resetWorkspace(); + }).catch(() => { + // 用户取消 + }); +}; + const watermark = reactive({ text: localStorage.getItem('watermark.text') || '示例水印', fontSize: Number(localStorage.getItem('watermark.fontSize')) || 30, diff --git a/src/ts/useStore.ts b/src/ts/useStore.ts index 4ccc2b1..4b0e3cb 100644 --- a/src/ts/useStore.ts +++ b/src/ts/useStore.ts @@ -278,7 +278,7 @@ export const useFilesStore = defineStore('files', () => { } // 关闭文件后立即更新 - updateTab(); + // updateTab(); }; // 更新指定 Tab - 内存操作即时,localStorage 操作防抖