From dfee3f8f4b693696682e3aff7a63c958264af390 Mon Sep 17 00:00:00 2001 From: pipipi-pikachu Date: Sun, 22 May 2022 20:20:43 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=AF=BC=E5=87=BA=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useExport.ts | 14 ++++++++------ src/plugins/icon.ts | 2 -- src/views/Editor/EditorHeader/index.vue | 12 ++++++------ src/views/Editor/ExportDialog/ExportPPTX.vue | 10 +++++++++- src/views/Editor/ExportDialog/index.vue | 2 +- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/hooks/useExport.ts b/src/hooks/useExport.ts index 5c1af973..c7abd8d4 100644 --- a/src/hooks/useExport.ts +++ b/src/hooks/useExport.ts @@ -331,7 +331,7 @@ export default () => { } // 导出PPTX文件 - const exportPPTX = (_slides: Slide[] = slides.value) => { + const exportPPTX = (_slides: Slide[], masterOverwrite: boolean) => { exporting.value = true const pptx = new pptxgen() @@ -339,11 +339,13 @@ export default () => { else if (viewportRatio.value === 0.75) pptx.layout = 'LAYOUT_4x3' else pptx.layout = 'LAYOUT_16x9' - const { color: bgColor, alpha: bgAlpha } = formatColor(theme.value.backgroundColor) - pptx.defineSlideMaster({ - title: 'PPTIST_MASTER', - background: { color: bgColor, transparency: (1 - bgAlpha) * 100 }, - }) + if (masterOverwrite) { + const { color: bgColor, alpha: bgAlpha } = formatColor(theme.value.backgroundColor) + pptx.defineSlideMaster({ + title: 'PPTIST_MASTER', + background: { color: bgColor, transparency: (1 - bgAlpha) * 100 }, + }) + } for (const slide of _slides) { const pptxSlide = pptx.addSlide() diff --git a/src/plugins/icon.ts b/src/plugins/icon.ts index 9aacf689..b1656254 100644 --- a/src/plugins/icon.ts +++ b/src/plugins/icon.ts @@ -97,7 +97,6 @@ import { ListView, Magic, HighLight, - Printer, Share, } from '@icon-park/vue-next' @@ -197,7 +196,6 @@ const icons = { ListView, Magic, HighLight, - Printer, Share, } diff --git a/src/views/Editor/EditorHeader/index.vue b/src/views/Editor/EditorHeader/index.vue index ba7a6149..ff337105 100644 --- a/src/views/Editor/EditorHeader/index.vue +++ b/src/views/Editor/EditorHeader/index.vue @@ -47,9 +47,14 @@
+ + + @@ -75,7 +80,6 @@ import { useMainStore } from '@/store' import useScreening from '@/hooks/useScreening' import useSlideHandler from '@/hooks/useSlideHandler' import useHistorySnapshot from '@/hooks/useHistorySnapshot' -import useExport from '@/hooks/useExport' import HotkeyDoc from './HotkeyDoc.vue' @@ -91,7 +95,6 @@ export default defineComponent({ const { enterScreening, enterScreeningFromStart } = useScreening() const { createSlide, deleteSlide, resetSlides } = useSlideHandler() const { redo, undo } = useHistorySnapshot() - const { exporting, exportJSON, exportPPTX } = useExport() const setDialogForExport = mainStore.setDialogForExport @@ -115,7 +118,6 @@ export default defineComponent({ showGridLines, showRuler, hotkeyDrawerVisible, - exporting, setDialogForExport, enterScreening, enterScreeningFromStart, @@ -124,8 +126,6 @@ export default defineComponent({ toggleGridLines, toggleRuler, resetSlides, - exportJSON, - exportPPTX, goIssues, } }, diff --git a/src/views/Editor/ExportDialog/ExportPPTX.vue b/src/views/Editor/ExportDialog/ExportPPTX.vue index 111e5e77..3fb03f93 100644 --- a/src/views/Editor/ExportDialog/ExportPPTX.vue +++ b/src/views/Editor/ExportDialog/ExportPPTX.vue @@ -23,9 +23,15 @@ v-model:value="range" />
+
+
覆盖默认母版:
+
+ +
+
- +
@@ -46,6 +52,7 @@ export default defineComponent({ const rangeType = ref<'all' | 'current' | 'custom'>('all') const range = ref<[number, number]>([1, slides.value.length]) + const masterOverwrite = ref(true) const selectedSlides = computed(() => { if (rangeType.value === 'all') return slides.value @@ -64,6 +71,7 @@ export default defineComponent({ slides, rangeType, range, + masterOverwrite, exporting, selectedSlides, exportPPTX, diff --git a/src/views/Editor/ExportDialog/index.vue b/src/views/Editor/ExportDialog/index.vue index e47d0a74..3eeb44b0 100644 --- a/src/views/Editor/ExportDialog/index.vue +++ b/src/views/Editor/ExportDialog/index.vue @@ -99,7 +99,7 @@ export default defineComponent({ } } .content { - height: 500px; + height: 460px; padding: 12px; font-size: 13px;