lex 11 ay önce
ebeveyn
işleme
953189cec4

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
dist/assets/teacher-legacy.10671104.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
dist/assets/teacher-legacy.a82c8a1b.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
dist/assets/teacher.0e02c00f.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
dist/assets/teacher.700cd90e.js


+ 8 - 0
dist/teacher.html

@@ -52,7 +52,11 @@
             _T_));
     })(Object);
   </script>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./assets/teacher.0e02c00f.js"></script>
+=======
+  <script type="module" crossorigin src="./assets/teacher.700cd90e.js"></script>
+>>>>>>> iteration-20240822-goto
   <link rel="modulepreload" href="./assets/ResizeObserver.es.2ba57d2a.js">
   <link rel="modulepreload" href="./assets/routes-common.914c0f82.js">
   <link rel="stylesheet" href="./assets/ResizeObserver.es.ea6352ab.css">
@@ -65,7 +69,11 @@
   
   <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
   <script nomodule id="vite-legacy-polyfill" src="./assets/polyfills-legacy.d15f7bf4.js"></script>
+<<<<<<< HEAD
   <script nomodule id="vite-legacy-entry" data-src="./assets/teacher-legacy.10671104.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+  <script nomodule id="vite-legacy-entry" data-src="./assets/teacher-legacy.a82c8a1b.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> iteration-20240822-goto
 </body>
 
 </html>

+ 6 - 6
src/tenant/music/courseList/index.module.less

@@ -154,8 +154,8 @@
   position: relative;
 
   .basePlay {
-    width: 20px;
-    height: 20px;
+    width: 20Px;
+    height: 20Px;
     position: absolute;
     left: 50%;
     top: 50%;
@@ -168,10 +168,10 @@
       left: 50%;
       top: 50%;
       transform: translate(-50%, -50%);
-      width: 20px;
-      height: 20px;
-      padding-bottom: 2px;
-      padding-right: 2px;
+      width: 20Px;
+      height: 20Px;
+      // padding-bottom: 2px;
+      // padding-right: 2px;
     }
   }
 

+ 22 - 20
src/tenant/music/coursewarePlay/component/musicScore.tsx

@@ -26,8 +26,8 @@ export default defineComponent({
     const isLoading = ref(false)
     const pageVisibility = usePageVisibility()
     /** 页面显示和隐藏 */
-    watch(pageVisibility, (value) => {
-      console.log("🚀 ~ value:", value)
+    watch(pageVisibility, value => {
+      console.log('🚀 ~ value:', value)
       if (value == 'hidden') {
         isLoading.value = false
       }
@@ -38,15 +38,14 @@ export default defineComponent({
     const renderSuccess = ref(false)
     const Authorization = sessionStorage.getItem('Authorization') || ''
     const origin = /(localhost|192)/.test(location.host)
-      ? 'https://test.lexiaoya.cn'
+      ? 'https://test.colexiu.com'
       : location.origin
     const query = qs.stringify({
       id: props.music.content,
-      modelType: 'practice',
-      headerHeight: 32,
       Authorization: Authorization
     })
-    const src = `${origin}/orchestra-music-score/?` + query
+
+    const src = `${origin}/accompany/?` + query
     const checkView = () => {
       fetch(src)
         .then(() => {
@@ -68,27 +67,30 @@ export default defineComponent({
     // 去云练习完整版
     const gotoAccomany = () => {
       if (isLoading.value) return
-      if (!browserInfo.ios){
+      if (!browserInfo.ios) {
         isLoading.value = true
       }
       const parmas = qs.stringify({
         id: props.music.content
       })
       const src = `${location.origin}/orchestra-music-score/?` + parmas
-      postMessage({
-        api: 'openAccompanyWebView',
-        content: {
-          url: src,
-          orientation: 0,
-          isHideTitle: true,
-          statusBarTextColor: false,
-          isOpenLight: true
-        }
-      }, () => {
-        if (browserInfo.ios){
-          isLoading.value = true
+      postMessage(
+        {
+          api: 'openAccompanyWebView',
+          content: {
+            url: src,
+            orientation: 0,
+            isHideTitle: true,
+            statusBarTextColor: false,
+            isOpenLight: true
+          }
+        },
+        () => {
+          if (browserInfo.ios) {
+            isLoading.value = true
+          }
         }
-      })
+      )
     }
     listenerMessage('webViewOnResume', () => {
       isLoading.value = false

+ 15 - 1
src/tenant/music/coursewarePlay/component/video-play.tsx

@@ -26,6 +26,7 @@ import {
 import TCPlayer from 'tcplayer.js'
 import 'tcplayer.js/dist/tcplayer.min.css'
 import { Slider, Toast } from 'vant'
+import { musicBuy } from '../../music'
 
 // 秒转分
 export const getSecondRPM = (second: number, type?: string) => {
@@ -326,6 +327,12 @@ export default defineComponent({
       return videoItem.value
     }
 
+    const gotoAccomany = (e: any) => {
+      // 去云练习完整版
+      e.stopPropagation()
+      musicBuy({ id: item.value.materialMusicId })
+    }
+
     expose({
       changePlayBtn,
       toggleHideControl,
@@ -370,7 +377,7 @@ export default defineComponent({
           // }}
         >
           <div class={styles.time}>
-            <div>{getSecondRPM(data.currentTime)}</div>
+            <div>{getSecondRPM(data.currentTime)}</div>/
             <div>{getSecondRPM(data.duration)}</div>
           </div>
           <div class={styles.slider}>
@@ -412,6 +419,13 @@ export default defineComponent({
           </div>
         </div>
 
+        {item.value.materialMusicId && (
+          <div
+            class={[styles.goPractice, data.showBar ? '' : styles.hide]}
+            onClick={gotoAccomany}
+          ></div>
+        )}
+
         <div
           style={{
             display: data.speedControl ? 'block' : 'none'

Dosya farkı çok büyük olduğundan ihmal edildi
+ 4 - 4
src/tenant/music/coursewarePlay/component/video.module.less


BIN
src/tenant/music/coursewarePlay/image/btn_go_practice.png


+ 20 - 1
src/tenant/music/coursewarePlay/index.module.less

@@ -251,7 +251,7 @@
       display: flex;
     }
 
-    .actionBtn > img {
+    .actionBtn>img {
       width: 30px;
       height: 30px;
       display: block;
@@ -269,6 +269,7 @@
 }
 
 :global {
+
   .top-enter-active,
   .top-leave-active {
     transition: transform 0.5s;
@@ -372,3 +373,21 @@
 .popupMore {
   background: rgba(0, 0, 0, 0.8);
 }
+
+
+.goPractice {
+  width: 89px;
+  height: 32px;
+  background: url('./image/btn_go_practice.png') no-repeat center;
+  background-size: contain;
+  position: absolute;
+  right: 12px;
+  bottom: 60px;
+  z-index: 11;
+  transition: all .5s ease;
+
+
+  &.hide {
+    transform: translateX(66px);
+  }
+}

+ 34 - 1
src/tenant/music/coursewarePlay/index.tsx

@@ -45,6 +45,7 @@ import Tool, { ToolItem, ToolType } from './component/tool'
 import Pen from './component/tools/pen'
 // import VideoItem from './component/video-item';
 import VideoPlay from './component/video-play'
+import { musicBuy } from '../music'
 
 export default defineComponent({
   name: 'CoursewarePlay',
@@ -319,8 +320,14 @@ export default defineComponent({
               if (Array.isArray(n.materialList)) {
                 n.materialList = n.materialList.map((item: any) => {
                   index++
+                  const materialRefs = item.materialRefs
+                    ? item.materialRefs
+                    : []
+                  const materialMusicId =
+                    materialRefs.length > 0 ? materialRefs[0].resourceId : null
                   return {
                     ...item,
+                    materialMusicId,
                     content: item.content,
                     knowledgePointId: [item.knowledgePointId],
                     materialId: item.id,
@@ -333,8 +340,16 @@ export default defineComponent({
                 n.children = n.children.map((cn: any) => {
                   cn.materialList = cn.materialList.map((item: any) => {
                     index++
+                    const materialRefs = item.materialRefs
+                      ? item.materialRefs
+                      : []
+                    const materialMusicId =
+                      materialRefs.length > 0
+                        ? materialRefs[0].resourceId
+                        : null
                     return {
                       ...item,
+                      materialMusicId,
                       content: item.content,
                       knowledgePointId: [n.id, item.knowledgePointId],
                       materialId: item.id,
@@ -348,6 +363,7 @@ export default defineComponent({
               return n
             }
           )
+          console.log(data.knowledgePointList, 'data.knowledgePointList')
           getItemList()
         }
       } catch (error) {
@@ -952,7 +968,24 @@ export default defineComponent({
                         </div>
                       )}
                   </Transition>
-                  {isRender && m.typeCode === 'IMG' && <img src={m.content} />}
+                  {isRender && m.typeCode === 'IMG' && (
+                    <>
+                      <img src={m.content} />
+                      {m.materialMusicId && (
+                        <div
+                          class={[
+                            styles.goPractice,
+                            activeData.model ? '' : styles.hide
+                          ]}
+                          onClick={(e: any) => {
+                            // 去云练习完整版
+                            e.stopPropagation()
+                            musicBuy({ id: m.materialMusicId })
+                          }}
+                        ></div>
+                      )}
+                    </>
+                  )}
                   {isRender && m.typeCode === 'SONG' && (
                     <MusicScore
                       activeModel={activeData.model}

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor