Browse Source

翻页逻辑修改

黄琪勇 3 months ago
parent
commit
1f0497f26f

+ 2 - 8
src/messageHooks/pptScreen.ts

@@ -1,9 +1,7 @@
 import { onMounted, onUnmounted, watch } from "vue"
 import { useSlidesStore } from "@/store"
-import useExecPlay from "@/views/Screen/hooks/useExecPlay"
 
-export const changePageSlideMes = () => {
-  const { execPrev, execNext } = useExecPlay()
+export const changePageSlideMes = (changePageSlide: (type: "prev" | "next") => void) => {
   const slidesStore = useSlidesStore()
 
   /** 初始化ppt完成之后给父级传递消息 */
@@ -13,11 +11,7 @@ export const changePageSlideMes = () => {
   function handleMessage(event: any) {
     const { type, content } = event.data || {}
     if (type === "changePageSlide") {
-      if (content === "prev") {
-        execPrev()
-      } else if (content === "next") {
-        execNext()
-      }
+      changePageSlide(content)
     }
   }
 

+ 2 - 2
src/views/Editor/CanvasTool/index.vue

@@ -39,7 +39,7 @@
       <FileInput @change="files => insertImageElement(files)">
         <div class="handler-item">
           <img class="itemImg" src="./imgs/sctp.png" alt="" />
-          <div class="tit">上传图片</div>
+          <div class="tit">图片</div>
         </div>
       </FileInput>
       <ElUpload
@@ -55,7 +55,7 @@
       >
         <div class="handler-item">
           <img class="itemImg" src="./imgs/scysp.png" alt="" />
-          <div class="tit">上传音视频</div>
+          <div class="tit">音视频</div>
         </div>
       </ElUpload>
       <div class="handler-item" @click="cloudCoachVisible = true">

+ 5 - 0
src/views/Screen/BaseView.vue

@@ -178,6 +178,11 @@ const contextmenus = (): ContextmenuItem[] => {
   }
   return menusData
 }
+
+defineExpose({
+  execPrev,
+  execNext
+})
 </script>
 
 <style lang="scss" scoped>

+ 17 - 2
src/views/Screen/PresenterView.vue

@@ -104,8 +104,18 @@ const timerlVisible = ref(false)
 const laserPen = ref(false)
 const screenStore = useScreenStore()
 
-const { mousewheelListener, touchStartListener, touchEndListener, turnPrevSlide, turnNextSlide, turnSlideToIndex, turnSlideToId, animationIndex } =
-  useExecPlay()
+const {
+  mousewheelListener,
+  touchStartListener,
+  touchEndListener,
+  turnPrevSlide,
+  turnNextSlide,
+  turnSlideToIndex,
+  turnSlideToId,
+  animationIndex,
+  execPrev,
+  execNext
+} = useExecPlay()
 
 const { slideWidth, slideHeight } = useSlideSize(slideListWrapRef)
 const { exitScreening } = useScreening()
@@ -184,6 +194,11 @@ const contextmenus = (): ContextmenuItem[] => {
   }
   return menusData
 }
+
+defineExpose({
+  execPrev,
+  execNext
+})
 </script>
 
 <style lang="scss" scoped>

+ 11 - 3
src/views/Screen/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="pptist-screen">
-    <BaseView :changeViewMode="changeViewMode" v-if="viewMode === 'base'" />
-    <PresenterView :changeViewMode="changeViewMode" v-else-if="viewMode === 'presenter'" />
+    <BaseView ref="screenViewDom" :changeViewMode="changeViewMode" v-if="viewMode === 'base'" />
+    <PresenterView ref="screenViewDom" :changeViewMode="changeViewMode" v-else-if="viewMode === 'presenter'" />
   </div>
 </template>
 
@@ -22,8 +22,16 @@ const changeViewMode = (mode: "base" | "presenter") => {
 
 const { exitScreening } = useScreening()
 
+const screenViewDom = ref()
 // mes 翻页
-changePageSlideMes()
+changePageSlideMes((type: "prev" | "next") => {
+  /*  翻页 */
+  if (type === "prev") {
+    screenViewDom.value.execPrev()
+  } else if (type === "next") {
+    screenViewDom.value.execNext()
+  }
+})
 
 // 快捷键退出放映
 const keydownListener = (e: KeyboardEvent) => {