import { defineComponent, onMounted, watch, reactive, ref, nextTick, computed } from "vue"; import styles from "./index.module.less"; import backImg from "./image/icon-back.png"; import titmeImg from "./image/modeTitle.png"; import nameImg from "./image/zt.png"; import lxMode from "./image/lxMode.json"; import glMode from "./image/glMode.json"; import pcMode from "./image/pcMode.json"; import modeTitle from "./image/modeTitle.json"; import modeVip from "./image/mode_vip.png"; import modesVip from "./image/mode_svip.png"; import { headTopData, checkMusicBuy } from "./index"; import { getQuery } from "/src/utils/queryString"; import state from "/src/state"; import { studentQueryUserInfo } from "../api"; import { usePageVisibility } from "@vant/use"; import { Vue3Lottie } from "vue3-lottie"; import { popImgs, hanldeConfirmPop, hanldeClosePop, evaluatingData } from "/src/view/evaluating" import { Popup } from "vant"; import AbnormalPop from "/src/view/abnormal-pop"; import { smoothAnimationState } from "../view-detail/smoothAnimation"; import { browser } from "/src/utils"; import { stat } from "fs"; export default defineComponent({ name: "modeView", setup() { const modeImgDom1 = ref(); const modeImgDom2 = ref(); const modeImgDom3 = ref(); const modeImgDom4 = ref(); watch( () => headTopData.modeType, (value, oldValue) => { // headTopData.modeType 值 刚开始是 "" 所以 第一次切换时候不触发播放动画 if (!oldValue) return; nextTick(() => { if (value === "show") { modeImgDom1.value?.pause(); modeImgDom2.value?.pause(); modeImgDom3.value?.pause(); modeImgDom4.value?.stop(); } else if (value === "init") { modeImgDom1.value?.play(); modeImgDom2.value?.play(); modeImgDom3.value?.play(); modeImgDom4.value?.goToAndPlay(0); } }); } ); watch( () => evaluatingData.socketErrorStatus, () => { if (evaluatingData.socketErrorStatus === 2) { setTimeout(() => { evaluatingData.socketErrorPop = false; }, 1000); } } ); const browserInfo = browser(); const isPad = navigator?.userAgent?.includes("UAWEIVRD-W09") || browserInfo?.iPad || browserInfo.isTablet; // vip图标 const showVip = computed(() => { return state.vipType === "NOT_VIP" && state.paymentType !== "FREE" && !state.musicBuyInfo.buyed }); // svip图标 const showsVip = computed(() => { return !state.vipType?.includes("SVIP") && state.paymentType !== "FREE" && !state.musicBuyInfo.buyed }); return () => (
{ if(state.isSingleLine){ smoothAnimationState.isShow.value = state.melodyLine; } // 返回的时候 跳转到之前记录的模式 if(headTopData.oldModeType !== "practise"){ // 点击评测模式进入评测模块的需要检测耳机状态,通过返回按钮进入评测模块的,不检测耳机状态 evaluatingData.needCheckErjiStatus = false; headTopData.handleChangeModeType(headTopData.oldModeType) } headTopData.modeType = "show"; }} /> {/* */} { }
{ if (checkMusicBuy(state.musicBuyInfo)) { if(state.isSingleLine){ smoothAnimationState.isShow.value = state.melodyLine; } headTopData.handleChangeModeType("practise") } }}> { showVip.value && }
{/* { if(state.isSingleLine){ smoothAnimationState.isShow.value = state.melodyLine; } headTopData.handleChangeModeType("practise") }} /> */} {!state.isPercussion &&
{ if (checkMusicBuy(state.musicBuyInfo)) { headTopData.handleChangeModeType("follow") } }}> { showsVip.value && }
// headTopData.handleChangeModeType("follow")} /> } {state.enableEvaluation &&
{ if (checkMusicBuy(state.musicBuyInfo)) { // 点击评测模式进入评测模块的需要检测耳机状态,通过返回按钮进入评测模块的,不检测耳机状态 evaluatingData.needCheckErjiStatus = true; headTopData.handleChangeModeType("evaluating") } }}> { showsVip.value && }
// { // // 点击评测模式进入评测模块的需要检测耳机状态,通过返回按钮进入评测模块的,不检测耳机状态 // evaluatingData.needCheckErjiStatus = true; // headTopData.handleChangeModeType("evaluating") // }} /> }
{/** 延迟检测中途,socket出错,网络提示弹窗 */} {/* { state.modeType !== 'evaluating' &&
} */}
); }, });