From 688336cac91a03c63bf5d4554be0087ea9febff8 Mon Sep 17 00:00:00 2001 From: zxc <1171051090@qq.com> Date: Fri, 7 Mar 2025 18:41:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=BC=E5=85=A5=E5=90=8E=E6=9C=AA?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8E=86=E5=8F=B2=E6=93=8D=E4=BD=9C=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useImport.ts | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/hooks/useImport.ts b/src/hooks/useImport.ts index 2654c6c1..8baf17e6 100644 --- a/src/hooks/useImport.ts +++ b/src/hooks/useImport.ts @@ -7,6 +7,7 @@ import { decrypt } from '@/utils/crypto' import { type ShapePoolItem, SHAPE_LIST, SHAPE_PATH_FORMULAS } from '@/configs/shapes' import useAddSlidesOrElements from '@/hooks/useAddSlidesOrElements' import useSlideHandler from '@/hooks/useSlideHandler' +import useHistorySnapshot from './useHistorySnapshot' import message from '@/utils/message' import { getSvgPathRange } from '@/utils/svgPathParser' import type { @@ -32,6 +33,7 @@ export default () => { const slidesStore = useSlidesStore() const { theme } = storeToRefs(useSlidesStore()) + const { addHistorySnapshot } = useHistorySnapshot() const { addSlidesFromData } = useAddSlidesOrElements() const { isEmptySlide } = useSlideHandler() @@ -48,8 +50,12 @@ export default () => { if (cover) { slidesStore.updateSlideIndex(0) slidesStore.setSlides(slides) + addHistorySnapshot() + } + else if (isEmptySlide.value) { + slidesStore.setSlides(slides) + addHistorySnapshot() } - else if (isEmptySlide.value) slidesStore.setSlides(slides) else addSlidesFromData(slides) } catch { @@ -129,7 +135,7 @@ export default () => { } // 导入PPTX文件 - const importPPTXFile = (files: FileList) => { + const importPPTXFile = (files: FileList, cover = false) => { const file = files[0] if (!file) return @@ -527,8 +533,18 @@ export default () => { parseElements(item.elements) slides.push(slide) } - slidesStore.updateSlideIndex(0) - slidesStore.setSlides(slides) + + if (cover) { + slidesStore.updateSlideIndex(0) + slidesStore.setSlides(slides) + addHistorySnapshot() + } + else if (isEmptySlide.value) { + slidesStore.setSlides(slides) + addHistorySnapshot() + } + else addSlidesFromData(slides) + exporting.value = false } reader.readAsArrayBuffer(file)