Browse Source

Merge branch 'iteration-20240410-video' into online

lex 1 year ago
parent
commit
9580d51530

+ 13 - 7
src/views/exercise-after-class/index.tsx

@@ -84,6 +84,7 @@ export default defineComponent({
     const data = reactive({
       videoData: null as any,
       trainings: [] as any[],
+      expireTimeFlag: false, // 作业是否结束
       trainingTimes: 0,
       itemList: [] as any,
       showHead: true,
@@ -108,6 +109,7 @@ export default defineComponent({
             hideLoading: true
           }
         )
+        data.expireTimeFlag = res.data?.expireTimeFlag || false
         if (Array.isArray(res?.data?.trainings)) {
           const trainings = res?.data?.trainings || []
           const tempLessonTraining: any = []
@@ -152,8 +154,9 @@ export default defineComponent({
             loop: false,
             videoEle: null,
             timer: null,
-            muted: true, // 静音
-            autoplay: true //自动播放
+            // muted: state.user.data?.vipMember ? false : true, // 静音
+            muted: true,
+            autoplay: state.user.data?.vipMember ? true : false //自动播放
           }
         })
         data.itemList = data.trainings.filter((n: any) => n.materialId == route.query.materialId)
@@ -198,7 +201,7 @@ export default defineComponent({
 
     // 达到指标,记录
     const addTrainingRecord = async (m: any) => {
-      if (data.recordLoading) return
+      if (data.recordLoading || data.expireTimeFlag) return
       console.log('记录观看次数')
       data.recordLoading = true
       const query = route.query
@@ -397,10 +400,13 @@ export default defineComponent({
                   返回
                 </div>
                 <div class={styles.menu}>{popupData.tabName}</div>
-                <div class={styles.nums}>
-                  观看视频模仿并练习:{data.videoData?.trainingTimes || 0}/
-                  {data.videoData?.trainingContent?.practiceTimes || 0}
-                </div>
+                {/* 判断作业是否过期 */}
+                {!data.expireTimeFlag && (
+                  <div class={styles.nums}>
+                    观看视频模仿并练习:{data.videoData?.trainingTimes || 0}/
+                    {data.videoData?.trainingContent?.practiceTimes || 0}
+                  </div>
+                )}
               </div>
             )}
           </Transition>

+ 20 - 4
src/views/exercise-after-class/video-class.tsx

@@ -44,10 +44,10 @@ export default defineComponent({
           if (item.value.autoplay && videoItem.value) {
             videoItem.value?.play()
           } else {
-            // item.value.muted = false
-            // item.value.videoEle?.muted(false)
-            // item.value.videoEle?.volume(1)
-            // item.value.videoEle?.pause()
+            item.value.muted = false
+            item.value.videoEle?.muted(false)
+            item.value.videoEle?.volume(1)
+            item.value.videoEle?.pause()
           }
 
           // 获取时长
@@ -56,6 +56,19 @@ export default defineComponent({
           item.value.videoEle = videoEle
           item.value.loaded = true
           emit('loadedmetadata', videoItem.value)
+
+          if (item.value.autoplay && videoItem.value) {
+            item.value.muted = false
+            item.value.videoEle?.muted(false)
+            item.value.videoEle?.volume(1)
+            // item.value.videoEle?.pause()
+            videoItem.value?.play()
+          } else {
+            item.value.muted = false
+            item.value.videoEle?.muted(false)
+            item.value.videoEle?.volume(1)
+            item.value.videoEle?.pause()
+          }
         })
 
         // 视频播放时加载
@@ -76,6 +89,9 @@ export default defineComponent({
           //暂停
           item.value.paused = true
           item.value.videoEle?.pause()
+          setTimeout(() => {
+            item.value.videoEle?.pause()
+          }, 100)
         })
 
         videoItem.value.on('play', () => {