|  | @@ -1,5 +1,11 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -  <div class="enjoyPlayer">
 | 
	
		
			
				|  |  | +  <div
 | 
	
		
			
				|  |  | +    class="enjoyPlayer"
 | 
	
		
			
				|  |  | +    v-click-outside="handleListOutside"
 | 
	
		
			
				|  |  | +    :style="{
 | 
	
		
			
				|  |  | +      transform: `scale(${scaleStyle})`
 | 
	
		
			
				|  |  | +    }"
 | 
	
		
			
				|  |  | +  >
 | 
	
		
			
				|  |  |      <div v-if="!isBase" v-show="isShowEnjoyPlayerList" class="enjoyPlayerList">
 | 
	
		
			
				|  |  |        <div class="titNameCon">
 | 
	
		
			
				|  |  |          <div class="titName">
 | 
	
	
		
			
				|  | @@ -8,6 +14,7 @@
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |        <div class="enjoyPlayerListCon">
 | 
	
		
			
				|  |  |          <draggable
 | 
	
		
			
				|  |  | +          :forceFallback="true"
 | 
	
		
			
				|  |  |            :handle="'.drag-handle_enjoyPlayer'"
 | 
	
		
			
				|  |  |            v-model="elementInfo.enjoyList"
 | 
	
		
			
				|  |  |            itemKey="id"
 | 
	
	
		
			
				|  | @@ -78,6 +85,7 @@ import message from "@/utils/message"
 | 
	
		
			
				|  |  |  import type { PPTEnjoyElement } from "@/types/slides"
 | 
	
		
			
				|  |  |  import { useSlidesStore, useMainStore } from "@/store"
 | 
	
		
			
				|  |  |  import draggable from "vuedraggable"
 | 
	
		
			
				|  |  | +import queryParams from "@/queryParams"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const slidesStore = useSlidesStore()
 | 
	
		
			
				|  |  |  const mainStore = useMainStore()
 | 
	
	
		
			
				|  | @@ -94,6 +102,14 @@ const props = withDefaults(
 | 
	
		
			
				|  |  |      isBase: false
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  )
 | 
	
		
			
				|  |  | +// 学生端 不是isBase预览下面的缩放比例
 | 
	
		
			
				|  |  | +const scaleStyle = queryParams.fromType === "CLASS" && !props.isBase && props.isScreening ? 1.5 : 1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function handleListOutside() {
 | 
	
		
			
				|  |  | +  if (!props.isBase && isShowEnjoyPlayerList.value) {
 | 
	
		
			
				|  |  | +    hanleEnjoyList()
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const isShowEnjoyPlayerList = ref(false)
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -290,7 +306,7 @@ const handleError = () => message.error("音频加载失败")
 | 
	
		
			
				|  |  |  const thumbMove = (e: MouseEvent | TouchEvent) => {
 | 
	
		
			
				|  |  |    if (!audioRef.value || !playBarWrap.value) return
 | 
	
		
			
				|  |  |    const clientX = "clientX" in e ? e.clientX : e.changedTouches[0].clientX
 | 
	
		
			
				|  |  | -  let percentage = (clientX - getBoundingClientRectViewLeft(playBarWrap.value)) / playBarWrap.value.clientWidth / props.scale
 | 
	
		
			
				|  |  | +  let percentage = (clientX - getBoundingClientRectViewLeft(playBarWrap.value)) / playBarWrap.value.clientWidth / props.scale / scaleStyle
 | 
	
		
			
				|  |  |    percentage = Math.max(percentage, 0)
 | 
	
		
			
				|  |  |    percentage = Math.min(percentage, 1)
 | 
	
		
			
				|  |  |    const time = percentage * duration.value
 | 
	
	
		
			
				|  | @@ -303,7 +319,7 @@ const thumbUp = (e: MouseEvent | TouchEvent) => {
 | 
	
		
			
				|  |  |    if (!audioRef.value || !playBarWrap.value) return
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    const clientX = "clientX" in e ? e.clientX : e.changedTouches[0].clientX
 | 
	
		
			
				|  |  | -  let percentage = (clientX - getBoundingClientRectViewLeft(playBarWrap.value)) / playBarWrap.value.clientWidth / props.scale
 | 
	
		
			
				|  |  | +  let percentage = (clientX - getBoundingClientRectViewLeft(playBarWrap.value)) / playBarWrap.value.clientWidth / props.scale / scaleStyle
 | 
	
		
			
				|  |  |    percentage = Math.max(percentage, 0)
 | 
	
		
			
				|  |  |    percentage = Math.min(percentage, 1)
 | 
	
		
			
				|  |  |    const time = percentage * duration.value
 | 
	
	
		
			
				|  | @@ -331,7 +347,7 @@ const handleMousedownPlayBar = () => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
		
			
				|  |  |  .enjoyPlayer {
 | 
	
		
			
				|  |  | -  transform-origin: left top;
 | 
	
		
			
				|  |  | +  transform-origin: center bottom;
 | 
	
		
			
				|  |  |    .playerCon {
 | 
	
		
			
				|  |  |      background: linear-gradient(180deg, #ffffff 0%, #dfdfdf 100%);
 | 
	
		
			
				|  |  |      box-shadow:
 | 
	
	
		
			
				|  | @@ -474,7 +490,7 @@ const handleMousedownPlayBar = () => {
 | 
	
		
			
				|  |  |      bottom: 51px;
 | 
	
		
			
				|  |  |      box-shadow: 0px 3px 22px 0px rgba(0, 0, 0, 0.12);
 | 
	
		
			
				|  |  |      border-radius: 20px 20px 0px 0px;
 | 
	
		
			
				|  |  | -    background-color: rgba(255, 255, 255, 0.9);
 | 
	
		
			
				|  |  | +    background-color: rgb(255, 255, 255);
 | 
	
		
			
				|  |  |      padding: 20px 0 61px 10px;
 | 
	
		
			
				|  |  |      .titNameCon {
 | 
	
		
			
				|  |  |        padding-left: 10px;
 | 
	
	
		
			
				|  | @@ -513,7 +529,7 @@ const handleMousedownPlayBar = () => {
 | 
	
		
			
				|  |  |          justify-content: space-between;
 | 
	
		
			
				|  |  |          align-items: center;
 | 
	
		
			
				|  |  |          &.active {
 | 
	
		
			
				|  |  | -          background: rgba(85, 176, 255, 0.15);
 | 
	
		
			
				|  |  | +          background: #e6f3ff;
 | 
	
		
			
				|  |  |            border-radius: 10px;
 | 
	
		
			
				|  |  |            .itemLeft {
 | 
	
		
			
				|  |  |              color: #198cfe;
 |