|  | @@ -169,7 +169,11 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        homeworkStatus: true, // 布置作业完成时
 | 
	
		
			
				|  |  |        removeVisiable: false,
 | 
	
		
			
				|  |  |        removeTitle: '',
 | 
	
		
			
				|  |  | -      removeContent: ''
 | 
	
		
			
				|  |  | +      removeContent: '',
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      videoState: 'init' as 'init' | 'play',
 | 
	
		
			
				|  |  | +      videoItemRef: null as any,
 | 
	
		
			
				|  |  | +      animationState: 'start' as 'start' | 'end'
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      const activeData = reactive({
 | 
	
		
			
				|  |  |        // isAutoPlay: false, // 是否自动播放
 | 
	
	
		
			
				|  | @@ -219,6 +223,9 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              isRender: false // 是否渲染了
 | 
	
		
			
				|  |  |            };
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | +        setTimeout(() => {
 | 
	
		
			
				|  |  | +          data.animationState = 'end'
 | 
	
		
			
				|  |  | +        }, 500)
 | 
	
		
			
				|  |  |        } catch {
 | 
	
		
			
				|  |  |          //
 | 
	
		
			
				|  |  |        }
 | 
	
	
		
			
				|  | @@ -537,8 +544,11 @@ export default defineComponent({
 | 
	
		
			
				|  |  |      const handleSwipeChange = (index: number) => {
 | 
	
		
			
				|  |  |        // 如果是当前正在播放 或者是视频最后一个
 | 
	
		
			
				|  |  |        if (popupData.activeIndex == index) return;
 | 
	
		
			
				|  |  | +      data.animationState = 'start'
 | 
	
		
			
				|  |  | +      data.videoState = 'init'
 | 
	
		
			
				|  |  |        handleStop();
 | 
	
		
			
				|  |  |        clearTimeout(acitveTimer.value);
 | 
	
		
			
				|  |  | +      activeData.model = true;
 | 
	
		
			
				|  |  |        checkedAnimation(popupData.activeIndex, index);
 | 
	
		
			
				|  |  |        popupData.activeIndex = index;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -569,6 +579,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                    item.error = false;
 | 
	
		
			
				|  |  |                    //   item.videoEle?.onPlay();
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | +                data.animationState = 'end'
 | 
	
		
			
				|  |  |                });
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
	
		
			
				|  | @@ -861,6 +872,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |      const closeStudyTool = () => {
 | 
	
		
			
				|  |  |        studyData.type = 'init';
 | 
	
		
			
				|  |  |        toggleModel();
 | 
	
		
			
				|  |  | +      setModelOpen();
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      const startShowModal = (
 | 
	
	
		
			
				|  | @@ -1016,7 +1028,13 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        return false;
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    const activeVideoItem = computed(() => {
 | 
	
		
			
				|  |  | +      const item = data.itemList[popupData.activeIndex]
 | 
	
		
			
				|  |  | +      if (item && item.type && item.type.toLocaleUpperCase() === 'VIDEO') {
 | 
	
		
			
				|  |  | +        return item
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      return {}
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <div id="playContent" class={[styles.playContent, 'wrap']}>
 | 
	
		
			
				|  |  |          <div
 | 
	
	
		
			
				|  | @@ -1032,13 +1050,43 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            }}>
 | 
	
		
			
				|  |  |            <div
 | 
	
		
			
				|  |  |              class={styles.coursewarePlay}
 | 
	
		
			
				|  |  | -            style={{ width: parentContainer.width }}
 | 
	
		
			
				|  |  | -            onClick={(e: Event) => {
 | 
	
		
			
				|  |  | -              e.stopPropagation();
 | 
	
		
			
				|  |  | -              setModelOpen();
 | 
	
		
			
				|  |  | -            }}>
 | 
	
		
			
				|  |  | +            style={{ width: parentContainer.width }}>
 | 
	
		
			
				|  |  |              {!popupData.chapterLoading ? (
 | 
	
		
			
				|  |  |                <div class={styles.wraps}>
 | 
	
		
			
				|  |  | +                <div
 | 
	
		
			
				|  |  | +                  style={
 | 
	
		
			
				|  |  | +                    activeVideoItem.value.type &&
 | 
	
		
			
				|  |  | +                    data.animationState === 'end' &&
 | 
	
		
			
				|  |  | +                    data.videoState === 'play'
 | 
	
		
			
				|  |  | +                      ? {
 | 
	
		
			
				|  |  | +                          zIndex: 15,
 | 
	
		
			
				|  |  | +                          opacity: 1
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                      : { opacity: 0, zIndex: -1 }
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                  class={styles.itemDiv}
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <VideoPlay
 | 
	
		
			
				|  |  | +                    ref={(el: any) => data.videoItemRef = el}
 | 
	
		
			
				|  |  | +                    item={activeVideoItem.value}
 | 
	
		
			
				|  |  | +                    showModel={activeData.model}
 | 
	
		
			
				|  |  | +                    onClose={setModelOpen}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    onCanplay={() => {
 | 
	
		
			
				|  |  | +                      data.videoState = 'play'
 | 
	
		
			
				|  |  | +                    }}
 | 
	
		
			
				|  |  | +                    onPause={() => {
 | 
	
		
			
				|  |  | +                      clearTimeout(activeData.timer)
 | 
	
		
			
				|  |  | +                      activeData.model = true
 | 
	
		
			
				|  |  | +                    }}
 | 
	
		
			
				|  |  | +                    onEnded={() => {
 | 
	
		
			
				|  |  | +                      const _index = popupData.activeIndex + 1
 | 
	
		
			
				|  |  | +                      if (_index < data.itemList.length) {
 | 
	
		
			
				|  |  | +                        handleSwipeChange(_index);
 | 
	
		
			
				|  |  | +                      }
 | 
	
		
			
				|  |  | +                    }}
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  |                  {data.itemList.map((m: any, mIndex: number) => {
 | 
	
		
			
				|  |  |                    const isRender = Math.abs(popupData.activeIndex - mIndex) < 2;
 | 
	
		
			
				|  |  |                    const isEmtry = Math.abs(popupData.activeIndex - mIndex) > 4;
 | 
	
	
		
			
				|  | @@ -1087,7 +1135,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                        }}>
 | 
	
		
			
				|  |  |                        {m.type === 'VIDEO' ? (
 | 
	
		
			
				|  |  |                          <>
 | 
	
		
			
				|  |  | -                          <VideoPlay
 | 
	
		
			
				|  |  | +                          <img src={m.coverImg} onLoad={() => {
 | 
	
		
			
				|  |  | +                            m.isprepare = true;
 | 
	
		
			
				|  |  | +                          }} />
 | 
	
		
			
				|  |  | +                          {/* <VideoPlay
 | 
	
		
			
				|  |  |                              ref={(v: any) => (data.videoRefs[mIndex] = v)}
 | 
	
		
			
				|  |  |                              item={m}
 | 
	
		
			
				|  |  |                              isEmtry={isEmtry}
 | 
	
	
		
			
				|  | @@ -1112,9 +1163,9 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                                console.log('video error');
 | 
	
		
			
				|  |  |                                m.error = true;
 | 
	
		
			
				|  |  |                              }}
 | 
	
		
			
				|  |  | -                          />
 | 
	
		
			
				|  |  | +                          /> */}
 | 
	
		
			
				|  |  |                            <Transition name="van-fade">
 | 
	
		
			
				|  |  | -                            {!m.isprepare && (
 | 
	
		
			
				|  |  | +                            { (
 | 
	
		
			
				|  |  |                                <div class={styles.loadWrap}>
 | 
	
		
			
				|  |  |                                  <Vue3Lottie
 | 
	
		
			
				|  |  |                                    animationData={playLoadData}></Vue3Lottie>
 | 
	
	
		
			
				|  | @@ -1184,6 +1235,9 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          <div
 | 
	
		
			
				|  |  |            onClick={(e: any) => {
 | 
	
		
			
				|  |  |              e.stopPropagation();
 | 
	
		
			
				|  |  | +            if (activeData.timer){
 | 
	
		
			
				|  |  | +              setModelOpen();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |            }}
 | 
	
		
			
				|  |  |            class={[
 | 
	
		
			
				|  |  |              styles.switchDisplaySection,
 |