Kaynağa Gözat

课件播放优化

liushengqiang 2 yıl önce
ebeveyn
işleme
9785533ff7
2 değiştirilmiş dosya ile 19 ekleme ve 15 silme
  1. 4 1
      src/router/index.ts
  2. 15 14
      src/views/coursewarePlay/index.tsx

+ 4 - 1
src/router/index.ts

@@ -40,8 +40,11 @@ const router: Router = createRouter({
   }
 })
 
+const whitePath = ['/coursewarePlay']
 router.beforeEach((to, from, next) => {
-  baseEvent.emit('toastShow')
+  if (!whitePath.includes(to.path)){
+    baseEvent.emit('toastShow')
+  }
   // console.log(to, from)
   document.title = (to.meta.title || '管乐团') as any
   next()

+ 15 - 14
src/views/coursewarePlay/index.tsx

@@ -326,15 +326,13 @@ export default defineComponent({
     const handleStop = () => {
       for (let i = 0; i < data.itemList.length; i++) {
         const activeItem = data.itemList[i]
-        if (popupData.activeIndex !== i) {
-          if (activeItem.type === 'VIDEO' && activeItem.videoEle) {
-            activeItem.videoEle.stop()
-          }
-          // console.log('🚀 ~ activeItem:', activeItem)
-          // 停止曲谱的播放
-          if (activeItem.type === 'SONG') {
-            activeItem.iframeRef?.contentWindow?.postMessage({ api: 'setPlayState' }, '*')
-          }
+        if (activeItem.type === 'VIDEO' && activeItem.videoEle) {
+          activeItem.videoEle.stop()
+        }
+        // console.log('🚀 ~ activeItem:', activeItem)
+        // 停止曲谱的播放
+        if (activeItem.type === 'SONG') {
+          activeItem.iframeRef?.contentWindow?.postMessage({ api: 'setPlayState' }, '*')
         }
       }
     }
@@ -453,13 +451,14 @@ export default defineComponent({
       }
     ]
 
+    const acitveTimer = ref()
     // 轮播切换
     const handleSwipeChange = (index: number) => {
       if (popupData.activeIndex == index) return
-      // console.log('轮播切换')
       popupData.activeIndex = index
-      setTimeout(() => {
-        handleStop()
+      handleStop()
+      clearTimeout(acitveTimer.value)
+      acitveTimer.value = setTimeout(() => {
         const item = data.itemList[index]
         if (item) {
           popupData.tabActive = item.knowledgePointId
@@ -677,9 +676,11 @@ export default defineComponent({
           <div
             class={styles.menu}
             onClick={() => {
-              showIndex.value += 1
               if (showIndex.value > 0) {
-                effectIndex.value = effectIndex.value >= effects.length ? 0 : effectIndex.value + 1
+                effectIndex.value =
+                  effectIndex.value < effects.length - 1 ? effectIndex.value + 1 : 0
+              } else {
+                showIndex.value += 1
               }
               setModelOpen()
             }}