Browse Source

feat: 添加获取和设置PPT页面的方法

新增setPPTSlide和getPPTSlide方法,用于在window上暴露PPT页面的操作能力,支持通过JSON字符串添加页面和获取当前页面内容
lsc 1 week ago
parent
commit
2edb7788ed
1 changed files with 22 additions and 1 deletions
  1. 22 1
      src/views/Editor/index3.vue

+ 22 - 1
src/views/Editor/index3.vue

@@ -419,7 +419,28 @@ const setTitle2 = (newTitle: string, type: number = 1) => {
 }
 
 
-Object.assign(window, { getCourseDetail, setTitle })
+// 往后添加 PPT 页面(json 字符串,数组或 { slides: [...] } 均可)
+const setPPTSlide = (json: string) => {
+  if (!json) return
+  try {
+    const parsed = typeof json === 'string' ? JSON.parse(json) : json
+    const newSlides = Array.isArray(parsed) ? parsed : parsed.slides
+    if (Array.isArray(newSlides) && newSlides.length) {
+      slidesStore.addSlide(newSlides)
+      console.log('setPPTSlide 成功,当前共', slidesStore.slides.length, '页')
+    }
+  }
+  catch (e) {
+    console.error('setPPTSlide 失败:', e)
+  }
+}
+
+// 获取当前整个 PPT 页面内容(返回 slides 数组的 JSON 字符串)
+const getPPTSlide = () => {
+  return JSON.stringify(slidesStore.slides)
+}
+
+Object.assign(window, { getCourseDetail, setTitle, setPPTSlide, getPPTSlide })
 
 onMounted(() => {
   if (!props.courseid) {