|  | @@ -1,4 +1,11 @@
 | 
	
		
			
				|  |  | -import { defineComponent, onMounted, onUnmounted, reactive, ref } from 'vue';
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  defineComponent,
 | 
	
		
			
				|  |  | +  onMounted,
 | 
	
		
			
				|  |  | +  onUnmounted,
 | 
	
		
			
				|  |  | +  reactive,
 | 
	
		
			
				|  |  | +  ref,
 | 
	
		
			
				|  |  | +  watch
 | 
	
		
			
				|  |  | +} from 'vue';
 | 
	
		
			
				|  |  |  import styles from './index.module.less';
 | 
	
		
			
				|  |  |  import { postMessage } from '@/helpers/native-message';
 | 
	
		
			
				|  |  |  import icon_title from './images/icon-title.png';
 | 
	
	
		
			
				|  | @@ -37,11 +44,16 @@ export default defineComponent({
 | 
	
		
			
				|  |  |      modeType: {
 | 
	
		
			
				|  |  |        type: String,
 | 
	
		
			
				|  |  |        default: ''
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    show: {
 | 
	
		
			
				|  |  | +      type: Boolean,
 | 
	
		
			
				|  |  | +      default: false
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    setup(props, { expose }) {
 | 
	
		
			
				|  |  |      const route = useRoute();
 | 
	
		
			
				|  |  |      const state = reactive({
 | 
	
		
			
				|  |  | +      modeType: '' as any,
 | 
	
		
			
				|  |  |        platform: route.query.platform, // microapp 老师端应用里面打开单独处理返回逻辑
 | 
	
		
			
				|  |  |        win: route.query.win,
 | 
	
		
			
				|  |  |        settingStatus: false,
 | 
	
	
		
			
				|  | @@ -150,17 +162,17 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        if (ev.data.api === 'resetPlay') {
 | 
	
		
			
				|  |  | -        reesetSetting();
 | 
	
		
			
				|  |  | +        resetSetting();
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    const reesetSetting = () => {
 | 
	
		
			
				|  |  | +    const resetSetting = () => {
 | 
	
		
			
				|  |  |        try {
 | 
	
		
			
				|  |  |          let dataJson = props.dataJson;
 | 
	
		
			
				|  |  |          if (route.query.dataJson) {
 | 
	
		
			
				|  |  |            dataJson = JSON.parse(route.query.dataJson as any);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        console.log(dataJson, 'dataJson');
 | 
	
		
			
				|  |  | +        console.log(dataJson, 'dataJson', props.dataJson);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          setting.element = dataJson.element;
 | 
	
		
			
				|  |  |          setting.beat = dataJson.beat;
 | 
	
	
		
			
				|  | @@ -176,8 +188,24 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    // watch(
 | 
	
		
			
				|  |  | +    //   () => props.show,
 | 
	
		
			
				|  |  | +    //   val => {
 | 
	
		
			
				|  |  | +    //     console.log(val, props.show);
 | 
	
		
			
				|  |  | +    //     if (!val) {
 | 
	
		
			
				|  |  | +    //       // resetSetting();
 | 
	
		
			
				|  |  | +    //       handleStop();
 | 
	
		
			
				|  |  | +    //     } else {
 | 
	
		
			
				|  |  | +    //       resetSetting();
 | 
	
		
			
				|  |  | +    //     }
 | 
	
		
			
				|  |  | +    //   }
 | 
	
		
			
				|  |  | +    // );
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      onMounted(() => {
 | 
	
		
			
				|  |  | -      reesetSetting();
 | 
	
		
			
				|  |  | +      if (route.query.modeType) {
 | 
	
		
			
				|  |  | +        state.modeType = route.query.modeType;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      resetSetting();
 | 
	
		
			
				|  |  |        state.speedList.forEach((item: any) => {
 | 
	
		
			
				|  |  |          if (item.value === setting.speed) item.color = '#1CACF1';
 | 
	
		
			
				|  |  |        });
 | 
	
	
		
			
				|  | @@ -193,17 +221,18 @@ export default defineComponent({
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      expose({
 | 
	
		
			
				|  |  | -      reesetSetting
 | 
	
		
			
				|  |  | +      resetSetting
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <div
 | 
	
		
			
				|  |  |          class={[
 | 
	
		
			
				|  |  |            styles.tempoPractice,
 | 
	
		
			
				|  |  |            state.win === 'pc' ? styles.pc : '',
 | 
	
		
			
				|  |  | -          state.platform === 'modal' ? styles.modal : ''
 | 
	
		
			
				|  |  | +          state.platform === 'modal' ? styles.modal : '',
 | 
	
		
			
				|  |  | +          state.modeType === 'courseware' ? styles.courseware : ''
 | 
	
		
			
				|  |  |          ]}>
 | 
	
		
			
				|  |  |          <div class={styles.head}>
 | 
	
		
			
				|  |  | -          {props.modeType !== 'courseware' && (
 | 
	
		
			
				|  |  | +          {state.modeType !== 'courseware' && (
 | 
	
		
			
				|  |  |              <div
 | 
	
		
			
				|  |  |                class={[styles.back, styles.iconBack]}
 | 
	
		
			
				|  |  |                onClick={goback}
 | 
	
	
		
			
				|  | @@ -214,7 +243,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            <div class={styles.title}>
 | 
	
		
			
				|  |  |              <img src={icon_title} />
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  | -          {props.modeType !== 'courseware' && (
 | 
	
		
			
				|  |  | +          {state.modeType !== 'courseware' && (
 | 
	
		
			
				|  |  |              <div
 | 
	
		
			
				|  |  |                class={styles.back}
 | 
	
		
			
				|  |  |                style={{ cursor: 'pointer' }}
 | 
	
	
		
			
				|  | @@ -239,10 +268,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  ]}>
 | 
	
		
			
				|  |  |                  {item.map((child: any, jIndex: number) => (
 | 
	
		
			
				|  |  |                    <div
 | 
	
		
			
				|  |  | -                    class={[styles.beat, child.selected ? styles.active : '']}
 | 
	
		
			
				|  |  | -                    onClick={(e: any) => {
 | 
	
		
			
				|  |  | -                      e.stopPropagation();
 | 
	
		
			
				|  |  | -                    }}>
 | 
	
		
			
				|  |  | +                    class={[styles.beat, child.selected ? styles.active : '']}>
 | 
	
		
			
				|  |  |                      <div class={styles.direction}>
 | 
	
		
			
				|  |  |                        <div
 | 
	
		
			
				|  |  |                          class={styles.up}
 | 
	
	
		
			
				|  | @@ -283,11 +309,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        <div
 | 
	
		
			
				|  |  | -          class={styles.footer}
 | 
	
		
			
				|  |  | -          onClick={(e: any) => {
 | 
	
		
			
				|  |  | -            e.stopPropagation();
 | 
	
		
			
				|  |  | -          }}>
 | 
	
		
			
				|  |  | +        <div class={styles.footer}>
 | 
	
		
			
				|  |  |            {/* 播放 */}
 | 
	
		
			
				|  |  |            <div class={styles.play} onClick={handlePlay}>
 | 
	
		
			
				|  |  |              {setting.playState === 'pause' ? (
 | 
	
	
		
			
				|  | @@ -322,6 +344,15 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  if (setting.speed <= 40) return;
 | 
	
		
			
				|  |  |                  setting.speed -= 1;
 | 
	
		
			
				|  |  |                  handleStop();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                state.speedList.forEach((item: any) => {
 | 
	
		
			
				|  |  | +                  if (item.value === setting.speed) {
 | 
	
		
			
				|  |  | +                    item.color = '#1CACF1';
 | 
	
		
			
				|  |  | +                    setting.speed = setting.speed;
 | 
	
		
			
				|  |  | +                  } else {
 | 
	
		
			
				|  |  | +                    item.color = '#060606';
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |                }}
 | 
	
		
			
				|  |  |              />
 | 
	
		
			
				|  |  |              <Popover
 | 
	
	
		
			
				|  | @@ -354,6 +385,15 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  if (setting.speed >= 200) return;
 | 
	
		
			
				|  |  |                  setting.speed += 1;
 | 
	
		
			
				|  |  |                  handleStop();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                state.speedList.forEach((item: any) => {
 | 
	
		
			
				|  |  | +                  if (item.value === setting.speed) {
 | 
	
		
			
				|  |  | +                    item.color = '#1CACF1';
 | 
	
		
			
				|  |  | +                    setting.speed = setting.speed;
 | 
	
		
			
				|  |  | +                  } else {
 | 
	
		
			
				|  |  | +                    item.color = '#060606';
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |                }}
 | 
	
		
			
				|  |  |              />
 | 
	
		
			
				|  |  |            </div>
 |