|  | @@ -30,6 +30,7 @@ import { listenerMessage, postMessage, promisefiyPostMessage } from '@/helpers/n
 | 
											
												
													
														|  |  import MusicScore from './component/musicScore'
 |  |  import MusicScore from './component/musicScore'
 | 
											
												
													
														|  |  import iconMenu from './image/icon-menu.svg'
 |  |  import iconMenu from './image/icon-menu.svg'
 | 
											
												
													
														|  |  import iconDian from './image/icon-dian.svg'
 |  |  import iconDian from './image/icon-dian.svg'
 | 
											
												
													
														|  | 
 |  | +import iconTouping from './image/icon-touping.svg'
 | 
											
												
													
														|  |  import iconPoint from './image/icon-point.svg'
 |  |  import iconPoint from './image/icon-point.svg'
 | 
											
												
													
														|  |  import iconLoop from './image/icon-loop.svg'
 |  |  import iconLoop from './image/icon-loop.svg'
 | 
											
												
													
														|  |  import iconLoopActive from './image/icon-loop-active.svg'
 |  |  import iconLoopActive from './image/icon-loop-active.svg'
 | 
											
										
											
												
													
														|  | @@ -52,6 +53,7 @@ import 'swiper/less/effect-fade'
 | 
											
												
													
														|  |  import 'swiper/less/effect-flip'
 |  |  import 'swiper/less/effect-flip'
 | 
											
												
													
														|  |  import 'swiper/less/effect-creative'
 |  |  import 'swiper/less/effect-creative'
 | 
											
												
													
														|  |  import { handleCheckVip } from '../hook/useFee'
 |  |  import { handleCheckVip } from '../hook/useFee'
 | 
											
												
													
														|  | 
 |  | +import OGuide from '@/components/o-guide'
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  export default defineComponent({
 |  |  export default defineComponent({
 | 
											
												
													
														|  |    name: 'CoursewarePlay',
 |  |    name: 'CoursewarePlay',
 | 
											
										
											
												
													
														|  | @@ -302,8 +304,7 @@ export default defineComponent({
 | 
											
												
													
														|  |      const swiperDom = ref()
 |  |      const swiperDom = ref()
 | 
											
												
													
														|  |      onMounted(() => {
 |  |      onMounted(() => {
 | 
											
												
													
														|  |        const hasVip = handleCheckVip()
 |  |        const hasVip = handleCheckVip()
 | 
											
												
													
														|  | -      console.error("🚀 ~ hasVip", hasVip)
 |  | 
 | 
											
												
													
														|  | -      if (!hasVip) return;
 |  | 
 | 
											
												
													
														|  | 
 |  | +      if (!hasVip) return
 | 
											
												
													
														|  |        getDetail()
 |  |        getDetail()
 | 
											
												
													
														|  |        getCourseSchedule()
 |  |        getCourseSchedule()
 | 
											
												
													
														|  |        window.addEventListener('message', iframeHandle)
 |  |        window.addEventListener('message', iframeHandle)
 | 
											
										
											
												
													
														|  | @@ -329,7 +330,8 @@ export default defineComponent({
 | 
											
												
													
														|  |        tabActive: '',
 |  |        tabActive: '',
 | 
											
												
													
														|  |        tabName: '',
 |  |        tabName: '',
 | 
											
												
													
														|  |        itemActive: '',
 |  |        itemActive: '',
 | 
											
												
													
														|  | -      itemName: ''
 |  | 
 | 
											
												
													
														|  | 
 |  | +      itemName: '',
 | 
											
												
													
														|  | 
 |  | +      guideOpen: false
 | 
											
												
													
														|  |      })
 |  |      })
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      /**停止所有的播放 */
 |  |      /**停止所有的播放 */
 | 
											
										
											
												
													
														|  | @@ -459,13 +461,6 @@ export default defineComponent({
 | 
											
												
													
														|  |        // console.log(m)
 |  |        // console.log(m)
 | 
											
												
													
														|  |        if (popupData.activeIndex != data.itemList.length - 1) {
 |  |        if (popupData.activeIndex != data.itemList.length - 1) {
 | 
											
												
													
														|  |          swiperDom.value.slideNext(800)
 |  |          swiperDom.value.slideNext(800)
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -        // setTimeout(() => {
 |  | 
 | 
											
												
													
														|  | -        // swipeRef.value?.next()
 |  | 
 | 
											
												
													
														|  | -        // ;(document.querySelector('.swiper-button-next') as any)?.click()
 |  | 
 | 
											
												
													
														|  | -        // swiperDom.value.navigation.nextEl.click()
 |  | 
 | 
											
												
													
														|  | -        // swiperDom.value.slideNext(800)
 |  | 
 | 
											
												
													
														|  | -        // }, 300)
 |  | 
 | 
											
												
													
														|  |        }
 |  |        }
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -551,24 +546,8 @@ export default defineComponent({
 | 
											
												
													
														|  |      const handlePreAndNext = (type: string) => {
 |  |      const handlePreAndNext = (type: string) => {
 | 
											
												
													
														|  |        setTimeout(() => {
 |  |        setTimeout(() => {
 | 
											
												
													
														|  |          if (type === 'up') {
 |  |          if (type === 'up') {
 | 
											
												
													
														|  | -          // swiperRef.value?.allowSlidePrev()
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -          // ;(document.querySelector('.swiper-button-prev') as any)?.click()
 |  | 
 | 
											
												
													
														|  | -          // swiperDom.value.navigation.prevEl.click()
 |  | 
 | 
											
												
													
														|  |            swiperDom.value.slidePrev(800)
 |  |            swiperDom.value.slidePrev(800)
 | 
											
												
													
														|  |          } else {
 |  |          } else {
 | 
											
												
													
														|  | -          // swiperRef.value?.allowSlideNext()
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -          // ;(document.querySelector('.swiper-button-next') as any)?.click()
 |  | 
 | 
											
												
													
														|  | -          // swiperDom.value.navigation.nextEl.click()
 |  | 
 | 
											
												
													
														|  | -          // const nextKonwledgeId = data.itemList[popupData.activeIndex + 1].knowledgePointId
 |  | 
 | 
											
												
													
														|  | -          // console.log(nextKonwledgeId === popupData.tabActive)
 |  | 
 | 
											
												
													
														|  | -          // if (nextKonwledgeId === popupData.tabActive) {
 |  | 
 | 
											
												
													
														|  | -          //   swiperType.value = effects[2]
 |  | 
 | 
											
												
													
														|  | -          // } else {
 |  | 
 | 
											
												
													
														|  | -          //   swiperType.value = effects[3]
 |  | 
 | 
											
												
													
														|  | -          // }
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |            swiperDom.value.slideNext(800)
 |  |            swiperDom.value.slideNext(800)
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |        }, 400)
 |  |        }, 400)
 | 
											
										
											
												
													
														|  | @@ -577,16 +556,6 @@ export default defineComponent({
 | 
											
												
													
														|  |      return () => (
 |  |      return () => (
 | 
											
												
													
														|  |        <div class={styles.playContent}>
 |  |        <div class={styles.playContent}>
 | 
											
												
													
														|  |          <div class={styles.coursewarePlay} style={{ width: parentContainer.width }}>
 |  |          <div class={styles.coursewarePlay} style={{ width: parentContainer.width }}>
 | 
											
												
													
														|  | -          {/* <swiper :modules="modules" :pagination="{ clickable: true }">
 |  | 
 | 
											
												
													
														|  | -    <swiper-slide>Slide 1</swiper-slide>
 |  | 
 | 
											
												
													
														|  | -    <swiper-slide>Slide 2</swiper-slide>
 |  | 
 | 
											
												
													
														|  | -    <swiper-slide>Slide 3</swiper-slide>
 |  | 
 | 
											
												
													
														|  | -  </swiper> */}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -          {/* 
 |  | 
 | 
											
												
													
														|  | -            知识点 翻
 |  | 
 | 
											
												
													
														|  | -            素材滑
 |  | 
 | 
											
												
													
														|  | -          */}
 |  | 
 | 
											
												
													
														|  |            <Swiper
 |  |            <Swiper
 | 
											
												
													
														|  |              style={{ height: '100%' }}
 |  |              style={{ height: '100%' }}
 | 
											
												
													
														|  |              effect="creative"
 |  |              effect="creative"
 | 
											
										
											
												
													
														|  | @@ -596,11 +565,9 @@ export default defineComponent({
 | 
											
												
													
														|  |              navigation
 |  |              navigation
 | 
											
												
													
														|  |              allowTouchMove={false}
 |  |              allowTouchMove={false}
 | 
											
												
													
														|  |              onSwiper={(swiper: any) => {
 |  |              onSwiper={(swiper: any) => {
 | 
											
												
													
														|  | -              // console.log(swiper, 'index')
 |  | 
 | 
											
												
													
														|  |                swiperDom.value = swiper
 |  |                swiperDom.value = swiper
 | 
											
												
													
														|  |              }}
 |  |              }}
 | 
											
												
													
														|  |              onSlideChange={(swiper: any) => {
 |  |              onSlideChange={(swiper: any) => {
 | 
											
												
													
														|  | -              // console.log(swiper, 'index')
 |  | 
 | 
											
												
													
														|  |                handleSwipeChange(swiper.activeIndex)
 |  |                handleSwipeChange(swiper.activeIndex)
 | 
											
												
													
														|  |              }}
 |  |              }}
 | 
											
												
													
														|  |            >
 |  |            >
 | 
											
										
											
												
													
														|  | @@ -608,8 +575,6 @@ export default defineComponent({
 | 
											
												
													
														|  |                return (
 |  |                return (
 | 
											
												
													
														|  |                  <SwiperSlide class={styles.swipeItem}>
 |  |                  <SwiperSlide class={styles.swipeItem}>
 | 
											
												
													
														|  |                    <div
 |  |                    <div
 | 
											
												
													
														|  | -                    // class={[styles.itemDiv]}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |                      class={[styles.itemDiv]}
 |  |                      class={[styles.itemDiv]}
 | 
											
												
													
														|  |                      onClick={() => {
 |  |                      onClick={() => {
 | 
											
												
													
														|  |                        clearTimeout(activeData.timer)
 |  |                        clearTimeout(activeData.timer)
 | 
											
										
											
												
													
														|  | @@ -631,7 +596,6 @@ export default defineComponent({
 | 
											
												
													
														|  |                            playsinline="false"
 |  |                            playsinline="false"
 | 
											
												
													
														|  |                            muted={m.muted}
 |  |                            muted={m.muted}
 | 
											
												
													
														|  |                            preload="auto"
 |  |                            preload="auto"
 | 
											
												
													
														|  | -                          // class="player"
 |  | 
 | 
											
												
													
														|  |                            data-vid={m.id}
 |  |                            data-vid={m.id}
 | 
											
												
													
														|  |                            src={m.content}
 |  |                            src={m.content}
 | 
											
												
													
														|  |                            loop={m.loop}
 |  |                            loop={m.loop}
 | 
											
										
											
												
													
														|  | @@ -763,20 +727,6 @@ export default defineComponent({
 | 
											
												
													
														|  |                )
 |  |                )
 | 
											
												
													
														|  |              })}
 |  |              })}
 | 
											
												
													
														|  |            </Swiper>
 |  |            </Swiper>
 | 
											
												
													
														|  | -          {/* <Swipe
 |  | 
 | 
											
												
													
														|  | -            style={{ height: '100%' }}
 |  | 
 | 
											
												
													
														|  | -            ref={swipeRef}
 |  | 
 | 
											
												
													
														|  | -            showIndicators={false}
 |  | 
 | 
											
												
													
														|  | -            loop={false}
 |  | 
 | 
											
												
													
														|  | -            duration={0}
 |  | 
 | 
											
												
													
														|  | -            // vertical
 |  | 
 | 
											
												
													
														|  | -            lazyRender={true}
 |  | 
 | 
											
												
													
														|  | -            touchable={false}
 |  | 
 | 
											
												
													
														|  | -            initialSwipe={popupData.firstIndex}
 |  | 
 | 
											
												
													
														|  | -            onChange={handleSwipeChange}
 |  | 
 | 
											
												
													
														|  | -          >
 |  | 
 | 
											
												
													
														|  | -            
 |  | 
 | 
											
												
													
														|  | -          </Swipe> */}
 |  | 
 | 
											
												
													
														|  |            <div
 |  |            <div
 | 
											
												
													
														|  |              style={{ transform: activeData.model ? '' : 'translateY(-100%)' }}
 |  |              style={{ transform: activeData.model ? '' : 'translateY(-100%)' }}
 | 
											
												
													
														|  |              id="coursePlayHeader"
 |  |              id="coursePlayHeader"
 | 
											
										
											
												
													
														|  | @@ -793,31 +743,37 @@ export default defineComponent({
 | 
											
												
													
														|  |            <Transition name="right">
 |  |            <Transition name="right">
 | 
											
												
													
														|  |              {activeData.model && (
 |  |              {activeData.model && (
 | 
											
												
													
														|  |                <div class={styles.rightFixedBtns}>
 |  |                <div class={styles.rightFixedBtns}>
 | 
											
												
													
														|  | -                <div
 |  | 
 | 
											
												
													
														|  | -                  class={styles.fullBtn}
 |  | 
 | 
											
												
													
														|  | -                  onClick={() => {
 |  | 
 | 
											
												
													
														|  | -                    clearTimeout(activeData.timer)
 |  | 
 | 
											
												
													
														|  | -                    popupData.open = true
 |  | 
 | 
											
												
													
														|  | -                  }}
 |  | 
 | 
											
												
													
														|  | -                >
 |  | 
 | 
											
												
													
														|  | -                  <img src={iconMenu} />
 |  | 
 | 
											
												
													
														|  | -                  <span>知识点</span>
 |  | 
 | 
											
												
													
														|  | 
 |  | +                <div class={styles.btnsWrap}>
 | 
											
												
													
														|  | 
 |  | +                  <div
 | 
											
												
													
														|  | 
 |  | +                    class={[styles.fullBtn, styles.point]}
 | 
											
												
													
														|  | 
 |  | +                    onClick={() => {
 | 
											
												
													
														|  | 
 |  | +                      clearTimeout(activeData.timer)
 | 
											
												
													
														|  | 
 |  | +                      popupData.open = true
 | 
											
												
													
														|  | 
 |  | +                    }}
 | 
											
												
													
														|  | 
 |  | +                  >
 | 
											
												
													
														|  | 
 |  | +                    <img src={iconMenu} />
 | 
											
												
													
														|  | 
 |  | +                    <span>知识点</span>
 | 
											
												
													
														|  | 
 |  | +                  </div>
 | 
											
												
													
														|  | 
 |  | +                </div>
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                <div class={[styles.btnsWrap, styles.btnsBottom]}>
 | 
											
												
													
														|  | 
 |  | +                  <div class={styles.fullBtn} onClick={() => (popupData.guideOpen = true)}>
 | 
											
												
													
														|  | 
 |  | +                    <img src={iconTouping} />
 | 
											
												
													
														|  | 
 |  | +                    <span>投屏</span>
 | 
											
												
													
														|  | 
 |  | +                  </div>
 | 
											
												
													
														|  | 
 |  | +                  {data.isCourse && (
 | 
											
												
													
														|  | 
 |  | +                    <>
 | 
											
												
													
														|  | 
 |  | +                      <div class={styles.fullBtn} onClick={() => gotoRollCall('student_roll_call')}>
 | 
											
												
													
														|  | 
 |  | +                        <img src={iconDian} />
 | 
											
												
													
														|  | 
 |  | +                        <span>点名</span>
 | 
											
												
													
														|  | 
 |  | +                      </div>
 | 
											
												
													
														|  | 
 |  | +                      <div class={styles.fullBtn} onClick={() => gotoRollCall('sign_out')}>
 | 
											
												
													
														|  | 
 |  | +                        <img src={iconPoint} />
 | 
											
												
													
														|  | 
 |  | +                        <span>签退</span>
 | 
											
												
													
														|  | 
 |  | +                      </div>
 | 
											
												
													
														|  | 
 |  | +                    </>
 | 
											
												
													
														|  | 
 |  | +                  )}
 | 
											
												
													
														|  |                  </div>
 |  |                  </div>
 | 
											
												
													
														|  | -                {data.isCourse && (
 |  | 
 | 
											
												
													
														|  | -                  <>
 |  | 
 | 
											
												
													
														|  | -                    <div
 |  | 
 | 
											
												
													
														|  | -                      class={[styles.fullBtn, styles.point]}
 |  | 
 | 
											
												
													
														|  | -                      onClick={() => gotoRollCall('student_roll_call')}
 |  | 
 | 
											
												
													
														|  | -                    >
 |  | 
 | 
											
												
													
														|  | -                      <img src={iconDian} />
 |  | 
 | 
											
												
													
														|  | -                      <span>点名</span>
 |  | 
 | 
											
												
													
														|  | -                    </div>
 |  | 
 | 
											
												
													
														|  | -                    <div class={styles.fullBtn} onClick={() => gotoRollCall('sign_out')}>
 |  | 
 | 
											
												
													
														|  | -                      <img src={iconPoint} />
 |  | 
 | 
											
												
													
														|  | -                      <span>签退</span>
 |  | 
 | 
											
												
													
														|  | -                    </div>
 |  | 
 | 
											
												
													
														|  | -                  </>
 |  | 
 | 
											
												
													
														|  | -                )}
 |  | 
 | 
											
												
													
														|  |                </div>
 |  |                </div>
 | 
											
												
													
														|  |              )}
 |  |              )}
 | 
											
												
													
														|  |            </Transition>
 |  |            </Transition>
 | 
											
										
											
												
													
														|  | @@ -869,6 +825,16 @@ export default defineComponent({
 | 
											
												
													
														|  |                }}
 |  |                }}
 | 
											
												
													
														|  |              />
 |  |              />
 | 
											
												
													
														|  |            </Popup>
 |  |            </Popup>
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +          <Popup
 | 
											
												
													
														|  | 
 |  | +            class={styles.popup}
 | 
											
												
													
														|  | 
 |  | +            overlayClass={styles.overlayClass}
 | 
											
												
													
														|  | 
 |  | +            position="right"
 | 
											
												
													
														|  | 
 |  | +            round
 | 
											
												
													
														|  | 
 |  | +            v-model:show={popupData.guideOpen}
 | 
											
												
													
														|  | 
 |  | +          >
 | 
											
												
													
														|  | 
 |  | +            <OGuide />
 | 
											
												
													
														|  | 
 |  | +          </Popup>
 | 
											
												
													
														|  |          </div>
 |  |          </div>
 | 
											
												
													
														|  |        </div>
 |  |        </div>
 | 
											
												
													
														|  |      )
 |  |      )
 |