فهرست منبع

进入曲目 改为弹窗

黄琪勇 9 ماه پیش
والد
کامیت
477728f4d2

+ 0 - 0
src/views/coursewarePlay/components/practiceForm/index.ts → src/businessComponents/practiceForm/index.ts


+ 1 - 1
src/views/coursewarePlay/components/practiceForm/practiceForm.vue → src/businessComponents/practiceForm/practiceForm.vue

@@ -1,5 +1,5 @@
 <!--
-* @FileDescription: 去练习 弹窗
+* @FileDescription: 云教练 弹窗
 * @Author: 黄琪勇
 * @Date:2024-09-05 19:13:16
 -->

+ 3 - 1
src/views/cloudPractice/cloudPractice.tsx

@@ -33,12 +33,13 @@ import { formatXML, getCustomInfo, onlyVisible } from "./instrument"
 import { useFunction } from "./useData"
 import userStore from "@/store/modules/user"
 import PlayLoading from "./component/play-loading"
+import PracticeForm from "@/businessComponents/practiceForm"
 
 export default defineComponent({
    name: "cloudPractice",
    setup() {
       const userStoreHook = userStore()
-      const { goToCloud } = useFunction()
+      const { goToCloud, isPracticeShow, practiceUrl, handlePracticeClose } = useFunction()
       const navs = [
          {
             name: "主页",
@@ -1085,6 +1086,7 @@ export default defineComponent({
                   }}
                />
             )}
+            <PracticeForm v-model={isPracticeShow.value} practiceUrl={practiceUrl.value} onClose={handlePracticeClose} />
          </NavContainer>
       )
    }

+ 15 - 7
src/views/cloudPractice/useData.ts

@@ -19,16 +19,24 @@ export const useFunction = () => {
    const loading = ref(false)
 
    /** 跳转云教练 */
-   const goToCloud = (musicId: string, partIndex = 0) => {
+   const isPracticeShow = ref(false)
+   const practiceUrl = ref("")
+   function goToCloud(musicId: string, partIndex = 0) {
+      //  GYM,GYT,KLX 区分   云教练
       const urlObj = {
-         GYT: `${URL_TEACH_GYT}?id=${musicId}&modelType=practice&modeType=json&part-index=${partIndex}&Authorization=${getToken()}`,
-         GYM: `${URL_TEACH_GYM}?Authorization=${getToken()}&platform=web&part-index=${partIndex}&liveConfig=1#/detail/${musicId}?isHideBack=true`,
-         KLX: `${URL_TEACH_KLX}??Authorization=${getToken()}&id=${musicId}&isHideBack=true&part-index=${partIndex}&limitModel=practice`
+         GYT: `${URL_TEACH_GYT}?id=${musicId}&modelType=practice&modeType=json&part-index=${partIndex}&Authorization=${getToken()}&isYjt=1&&isHideBack=false`,
+         GYM: `${URL_TEACH_GYM}#/detail/${musicId}?Authorization=${getToken()}&platform=web&part-index=${partIndex}&liveConfig=1&isYjt=1`,
+         KLX: `${URL_TEACH_KLX}??Authorization=${getToken()}&id=${musicId}&limitModel=practice&part-index=${partIndex}&isYjt=1`
       }
-      window.open(urlObj[userStoreHook.roles!], "_blank")
+      isPracticeShow.value = true
+      practiceUrl.value = urlObj[userStoreHook.roles!]
+      //window.open(urlObj[userStoreHook.roles!], "_blank")
    }
-
-   return { loading, goToCloud }
+   function handlePracticeClose() {
+      isPracticeShow.value = false
+      practiceUrl.value = ""
+   }
+   return { loading, goToCloud, isPracticeShow, practiceUrl, handlePracticeClose }
 }
 
 // function chunkArray(array: any[], size: number) {

+ 1 - 1
src/views/coursewarePlay/coursewarePlay.vue

@@ -130,7 +130,7 @@ import { ElMessageBox } from "element-plus"
 import courseCollapse from "./components/courseCollapse"
 import pen from "./components/pen"
 import playRecordTime from "./components/playRecordTime"
-import practiceForm from "./components/practiceForm"
+import practiceForm from "@/businessComponents/practiceForm"
 import useDialogConfirm from "@/hooks/useDialogConfirm"
 import { getRecentCourseSchedule_gym } from "@/api/homePage.api"
 import { getToken } from "@/libs/auth"