fix: 导入PPTX文件的一些错误处理

This commit is contained in:
zxc 2024-09-05 21:35:00 +08:00
parent 3d7d1a7cc5
commit d7cf6fa6f1

View File

@ -45,7 +45,10 @@ export default () => {
reader.addEventListener('load', () => { reader.addEventListener('load', () => {
try { try {
const slides = JSON.parse(decrypt(reader.result as string)) const slides = JSON.parse(decrypt(reader.result as string))
if (cover) slidesStore.setSlides(slides) if (cover) {
slidesStore.updateSlideIndex(0)
slidesStore.setSlides(slides)
}
else if (isEmptySlide.value) slidesStore.setSlides(slides) else if (isEmptySlide.value) slidesStore.setSlides(slides)
else addSlidesFromData(slides) else addSlidesFromData(slides)
} }
@ -303,14 +306,17 @@ export default () => {
} }
} }
if (el.shapType === 'custom') { if (el.shapType === 'custom') {
element.special = true if (el.path!.indexOf('NaN') !== -1) element.path = ''
element.path = el.path! else {
element.special = true
const { maxX, maxY } = getSvgPathRange(element.path) element.path = el.path!
element.viewBox = [maxX || originWidth, maxY || originHeight]
const { maxX, maxY } = getSvgPathRange(element.path)
element.viewBox = [maxX || originWidth, maxY || originHeight]
}
} }
slide.elements.push(element) if (element.path) slide.elements.push(element)
} }
} }
else if (el.type === 'table') { else if (el.type === 'table') {
@ -457,6 +463,7 @@ export default () => {
parseElements(item.elements) parseElements(item.elements)
slides.push(slide) slides.push(slide)
} }
slidesStore.updateSlideIndex(0)
slidesStore.setSlides(slides) slidesStore.setSlides(slides)
exporting.value = false exporting.value = false
} }