|
@@ -33,7 +33,7 @@ const convertFontSizePtToPx = (html: string, ratio: number) => {
|
|
|
|
|
|
export default () => {
|
|
|
const slidesStore = useSlidesStore()
|
|
|
- const { theme } = storeToRefs(useSlidesStore())
|
|
|
+ const { slides, theme, viewportRatio, title, viewportSize } = storeToRefs(useSlidesStore())
|
|
|
|
|
|
const { addHistorySnapshot } = useHistorySnapshot()
|
|
|
const { addSlidesFromData } = useAddSlidesOrElements()
|
|
@@ -101,9 +101,23 @@ export default () => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 暴露到window对象
|
|
|
+ // 导出JSON文件
|
|
|
+ const exportJSON2 = () => {
|
|
|
+ const json = {
|
|
|
+ title: title.value,
|
|
|
+ width: viewportSize.value,
|
|
|
+ height: viewportSize.value * viewportRatio.value,
|
|
|
+ theme: theme.value,
|
|
|
+ slides: slides.value,
|
|
|
+ }
|
|
|
+ return json
|
|
|
+ }
|
|
|
+
|
|
|
+ // 优化暴露到 window 对象的方式,避免重复赋值
|
|
|
if (typeof window !== 'undefined') {
|
|
|
- (window as any).readJSON = readJSON
|
|
|
+ const win = window as any
|
|
|
+ if (!win.exportJSON) win.exportJSON = exportJSON2
|
|
|
+ if (!win.readJSON) win.readJSON = readJSON
|
|
|
}
|
|
|
|
|
|
// 导入pptist文件
|
|
@@ -808,6 +822,7 @@ export default () => {
|
|
|
importJSON,
|
|
|
importPPTXFile,
|
|
|
readJSON,
|
|
|
+ exportJSON2,
|
|
|
exporting,
|
|
|
}
|
|
|
}
|