import { defineComponent, ref, reactive, onMounted, computed, watch } from 'vue'; import { useRoute } from 'vue-router'; import request from '@/helpers/request'; import MEmpty from '@/components/m-empty'; import styles from './index.module.less'; import musicBg from '../../image/music_bg.png'; import pBg from '../../image/plh.png'; import titleIcon1 from '../../image/title_icon1.png'; import titleIcon2 from '../../image/title_icon2.png'; import playIcon from '../../image/music_play_icon.png'; import pauseIcon from '../../image/music_pause_icon.png'; import emptyIcon from '../../image/ins-empty-icon.png'; import songIcon from '../../image/song_icon.png'; import { NoticeBar } from 'vant'; import PlayItem from '../play-item'; import PlayLoading from '../play-loading'; export default defineComponent({ name: 'InstrumentInfo', props: { id: { type: String, default: '' }, type: { type: String, default: '' }, show: { type: Boolean, default: false } }, emits: ['close', 'select'], setup(props, { emit }) { const route = useRoute(); const forms = reactive({ detailId: route.query.detailId, loading: false, dataInfo: {} as any, musicList: [] as any, title: ' ', playState: 'pause' as 'play' | 'pause', showPlayer: false, listActive: null as any }); /** 选中的item */ const activeItem = computed(() => { return forms.musicList[forms.listActive] || {}; }); const getDetail = async () => { forms.loading = true; try { const { data } = await request.get( '/edu-app/knowledgeWiki/detail/' + props.id ); data.intros = data.intros.replace( /