Parcourir la source

Merge branch 'hqyDev' of http://git.dayaedu.com/liushengqiang/music-score into ktyq-test-new

黄琪勇 il y a 6 jours
Parent
commit
7f76f5cff4

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
dist/css/instrument-024608c8.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
dist/css/instrument-96a844cf.css


+ 16 - 0
dist/instrument.html

@@ -2,7 +2,11 @@
 <html lang="en">
 
 <head>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/polyfills-7a9cdc7d.js"></script>
+=======
+  <script type="module" crossorigin src="./js/polyfills-9c72061f.js"></script>
+>>>>>>> 651e6514cbef0a0678cffe819734295bda426448
 
   <meta charset="UTF-8" />
   <meta name="viewport"
@@ -41,10 +45,17 @@
       })
     }
   </script>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/instrument-db581324.js"></script>
   <link rel="modulepreload" crossorigin href="./js/node_modules-a057846a.js">
   <link rel="modulepreload" crossorigin href="./js/src-5174ef10.js">
   <link rel="stylesheet" href="./css/instrument-96a844cf.css">
+=======
+  <script type="module" crossorigin src="./js/instrument-54dedf30.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/node_modules-a057846a.js">
+  <link rel="modulepreload" crossorigin href="./js/src-5174ef10.js">
+  <link rel="stylesheet" href="./css/instrument-024608c8.css">
+>>>>>>> 651e6514cbef0a0678cffe819734295bda426448
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
   <script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script>
 </head>
@@ -67,8 +78,13 @@
     var vConsole = new window.VConsole();
   </script>   -->
   <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>
+<<<<<<< HEAD
   <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-4b3f9b9c.js"></script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/instrument-legacy-62d94260.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-7a05e04d.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/instrument-legacy-e2e66eaf.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> 651e6514cbef0a0678cffe819734295bda426448
 </body>
 
 </html>

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/index-1fafb7d9.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/index-2e269544.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/index-62a27315.js


+ 1 - 0
dist/js/index-a8d773da.js

@@ -0,0 +1 @@
+import{d as s,g as a,r as e,E as t,o,s as n,c as i,M as r}from"./instrument-54dedf30.js";import"./node_modules-a057846a.js";import"./src-5174ef10.js";const d="_detail_vtlsh_12",l="_container_vtlsh_20",c=s({name:"music-list",setup(){const s=a(),c=e({isLoading:!0,isProductLoading:!1,product:[{state:!1,name:"五线谱",type:t.staff,base64:""},{state:!1,name:"首调",type:t.firstTone,base64:""},{state:!1,name:"固定调",type:t.fixedTone,base64:""}]});o((()=>{window.appName="colexiu",n.xmlUrl=s.xmlUrl,c.isLoading=!1}));const m=async()=>{console.log("渲染完成")};return()=>i("div",{class:d},[i("div",{id:"scrollContainer",class:[l,"hideCursor"]},[!c.isLoading&&i(r,{onRendered:m},null)])])}});export{c as default};

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/index-legacy-5e78d832.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
dist/js/index-legacy-7603fdd1.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/index-legacy-8bdd0a94.js


+ 1 - 0
dist/js/index-legacy-95ed5b1c.js

@@ -0,0 +1 @@
+System.register(["./instrument-legacy-e2e66eaf.js","./node_modules-legacy-f6446c77.js","./src-legacy-30d4c8c3.js"],(function(e,t){"use strict";var n,i,a,o,s,r,l,d,c=document.createElement("style");return c.textContent="._skeleton_vtlsh_1{position:fixed;left:0;top:0;width:100vw;height:100vh;padding:.53333rem .8rem;background-color:#fff;z-index:1000;--van-skeleton-paragraph-height: .8rem}._detail_vtlsh_12{width:100vw;height:100vh;overflow:hidden;overflow-y:auto;--header-height: 1.65333rem;background:var(--container-background)}._detail_vtlsh_12 ._container_vtlsh_20{margin:0 .26667rem;border-radius:.26667rem}._detail_vtlsh_12 #musicAndSelection{overflow:initial!important;height:initial!important;max-height:initial!important}\n",document.head.appendChild(c),{setters:[e=>{n=e.d,i=e.g,a=e.r,o=e.E,s=e.o,r=e.s,l=e.c,d=e.M},null,null],execute:function(){const t="_detail_vtlsh_12",c="_container_vtlsh_20";e("default",n({name:"music-list",setup(){const e=i(),n=a({isLoading:!0,isProductLoading:!1,product:[{state:!1,name:"五线谱",type:o.staff,base64:""},{state:!1,name:"首调",type:o.firstTone,base64:""},{state:!1,name:"固定调",type:o.fixedTone,base64:""}]});s((()=>{window.appName="colexiu",r.xmlUrl=e.xmlUrl,n.isLoading=!1}));const h=async()=>{console.log("渲染完成")};return()=>l("div",{class:t},[l("div",{id:"scrollContainer",class:[c,"hideCursor"]},[!n.isLoading&&l(d,{onRendered:h},null)])])}}))}}}));

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
dist/js/index-legacy-aacbe5a3.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/instrument-54dedf30.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/instrument-legacy-e2e66eaf.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/modeView-f14c173d.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/modeView-legacy-29c62d24.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/polyfills-9c72061f.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/js/polyfills-legacy-7a05e04d.js


+ 1 - 2
src/helpers/formateMusic.ts

@@ -1467,8 +1467,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				trackIndex: note.trackIndex, // 当前的音符属于第几条分轨
 				isStaccato: note.voiceEntry.isStaccato(),
 				isRestFlag: note.isRestFlag,
-				// noteId: note.NoteToGraphicalNoteObjectId || `restNote${note.sourceMeasure.MeasureNumberXML}`,
-				noteId: note.NoteToGraphicalNoteObjectId === undefined ? `restNote${note.sourceMeasure.MeasureNumberXML}` : note.NoteToGraphicalNoteObjectId,
+				noteId: note.NoteToGraphicalNoteObjectId,
 				measureListIndex: note.sourceMeasure.measureListIndex,
 				MeasureNumberXML: note.sourceMeasure.MeasureNumberXML, // 当前的小节数,(从1开始)
 				_noteLength: _noteLength,

+ 8 - 0
src/page-instrument/view-detail/index.tsx

@@ -650,6 +650,14 @@ export default defineComponent({
             if (state.playState === "play" || followData.start || evaluatingData.startBegin) {
               headerColumnHide.value = !headerColumnHide.value;
             }
+            if(state.playState === "paused") {
+              window.parent.postMessage(
+                {
+                  api: "changeTogge"
+                },
+                "*"
+              );
+            }
           }}
         >
           {/* 曲谱渲染 */}

BIN
src/page-instrument/view-figner/image/more.png


BIN
src/page-instrument/view-figner/image/restore.png


+ 130 - 39
src/page-instrument/view-figner/index.module.less

@@ -320,6 +320,7 @@
 
             :global {
                 .van-tabs__wrap {
+                    display: none !important;
                     width: 100%;
                     display: flex;
                     justify-content: center;
@@ -354,7 +355,6 @@
                 }
 
                 .van-tabs__content {
-                    padding-top: 16px;
                     height: 130px;
 
                     .van-tab__panel {
@@ -363,45 +363,136 @@
                 }
             }
 
-            .btnBox {
-                height: 100%;
-                display: flex;
-                justify-content: center;
-                align-items: center;
-                margin-top: -16px;
-
-                .btnCon {
-                    border-radius: 17px;
-                    display: flex;
-                    background: rgba(255, 255, 255, 0.5);
-                    padding: 6px 5px 3px 6px;
-
-                    .btnGr {
-                        background: url("./image/btnBg.png") no-repeat;
-                        background-size: 100% 100%;
-                        width: 93px;
-                        height: 56px;
+            // .btnBox {
+            //     height: 100%;
+            //     display: flex;
+            //     justify-content: center;
+            //     align-items: center;
+            //     margin-top: -16px;
+
+            //     .btnCon {
+            //         border-radius: 17px;
+            //         display: flex;
+            //         background: rgba(255, 255, 255, 0.5);
+            //         padding: 6px 5px 3px 6px;
+
+            //         .btnGr {
+            //             background: url("./image/btnBg.png") no-repeat;
+            //             background-size: 100% 100%;
+            //             width: 93px;
+            //             height: 56px;
+            //             display: flex;
+            //             flex-direction: column;
+            //             align-items: center;
+            //             justify-content: center;
+            //             cursor: pointer;
+            //             margin-left: 5px;
+
+            //             &:first-child {
+            //                 margin-left: 0;
+            //             }
+
+            //             >img {
+            //                 width: 19px;
+            //                 height: 19px;
+            //             }
+
+            //             >span {
+            //                 font-weight: 500;
+            //                 font-size: 14px;
+            //                 color: #616161;
+            //                 line-height: 20px;
+            //             }
+            //         }
+            //     }
+            // }
+            .restoreBox{
+                width: 0;
+                height: 0;
+                position: relative;
+                .restoreBtn{
+                    position: absolute;
+                    right: -51px;
+                    top: -74px;
+                    width: 72px;
+                    height: 31px;
+                    background: url("./image/restore.png") no-repeat;
+                    background-size: 100% 100%;
+                }
+            }
+            .moreFun{
+                margin-left: 6px;
+                position: relative;
+                width: 44px;
+                height: 54px;
+                background: url("./image/more.png") no-repeat;
+                background-size: 100% 100%;
+                &:hover{
+                    .btnBox{
+                        display: initial;
+                    } 
+                }
+                .btnBox {
+                    display: none;
+                    position: absolute;
+                    height: 88px;
+                    right: -20px;
+                    top: -86px;
+                    .btnCon {
+                        border-radius: 17px;
                         display: flex;
-                        flex-direction: column;
-                        align-items: center;
-                        justify-content: center;
-                        cursor: pointer;
-                        margin-left: 5px;
-
-                        &:first-child {
-                            margin-left: 0;
-                        }
-
-                        >img {
-                            width: 19px;
-                            height: 19px;
+                        background: #DFD7D3;
+                        padding: 6px 5px 3px 6px;
+                        border: 2px solid #FFFFFF;
+                        position: relative;
+                        .triangle{
+                            position: absolute;
+                            bottom: -12px;
+                            right: 29px;
+                            width: 0;
+                            height: 0;
+                            border-left: 12px solid transparent;
+                            border-right: 12px solid transparent;
+                            border-top: 12px solid #ffffff;
+                            &::after{
+                                content: "";
+                                position: absolute;
+                                bottom: 2px;
+                                left: -10px;
+                                border-left: 10px solid transparent;
+                                border-right: 10px solid transparent;
+                                border-top: 10px solid #DFD7D3;
+                                z-index: 1;
+                            }
                         }
-
-                        >span {
-                            font-weight: 500;
-                            font-size: 14px;
-                            color: #616161;
-                            line-height: 20px;
+    
+                        .btnGr {
+                            background: url("./image/btnBg.png") no-repeat;
+                            background-size: 100% 100%;
+                            width: 93px;
+                            height: 56px;
+                            display: flex;
+                            flex-direction: column;
+                            align-items: center;
+                            justify-content: center;
+                            cursor: pointer;
+                            margin-left: 5px;
+    
+                            &:first-child {
+                                margin-left: 0;
+                            }
+    
+                            >img {
+                                width: 19px;
+                                height: 19px;
+                            }
+    
+                            >span {
+                                font-weight: 500;
+                                font-size: 14px;
+                                color: #616161;
+                                line-height: 20px;
+                            }
                         }
                     }
                 }
@@ -685,7 +776,7 @@
     position: relative;
     display: flex;
     justify-content: center;
-    align-items: flex-start;
+    align-items: center;
     height: 65px;
     flex-shrink: 0;
     cursor: pointer;

+ 74 - 3
src/page-instrument/view-figner/index.tsx

@@ -283,7 +283,12 @@ export default defineComponent({
           data.viewIndex = 1;
         }
       }
-
+      // 音阶模式 默认设置正反面
+      if(data.fingeringMode === "scaleMode"){
+        if(["hulusi-flute", "ocarina", "whistling", "piccolo", "baroque-recorder"].includes(data.subject)){
+          data.viewIndex = 2;
+        }
+      }
       const o: any = {
         "pan-flute": 2,
         ocarina: 2,
@@ -1632,6 +1637,72 @@ export default defineComponent({
                                     </Button>
                                   )}
                                 </div>
+                                <div class={styles.restoreBox}>
+                                  {instrumentTranstion.value && (
+                                            <div class={[styles.restoreBtn]} onClick={() => resetElement()}>
+                                            </div>
+                                    )}
+                                </div>
+                                <div class={styles.moreFun}>
+                                  <div class={styles.btnBox}>
+                                    <div class={styles.btnCon}>
+                                      <div
+                                        class={[styles.btnGr]}
+                                        onClick={(e) => {
+                                          e.stopPropagation();
+                                          //
+                                          // 播放音阶时不能切换
+                                          if (playStatus.gamut) {
+                                            return;
+                                          }
+                                          // 开始答题不能切换
+                                          if (playAction.listenLock) {
+                                            return;
+                                          }
+
+                                          data.changeSubjectShow = true;
+                                        }}
+                                      >
+                                        <img src={icons.icon_change_instrument} />
+                                        <span>切换乐器</span>
+                                      </div>
+                                      {data.subject !== "melodica" && data.fingeringMode === "scaleMode" && (
+                                        <div
+                                          class={styles.btnGr}
+                                          onClick={(e) => {
+                                            e.stopPropagation();
+                                            data.viewIndex++;
+                                            if (data.viewIndex > data.viewTotal) {
+                                              if (["pan-flute", "ocarina", "whistling"].includes(data.subject)) {
+                                                data.viewIndex = 1;
+                                              } else {
+                                                data.viewIndex = 0;
+                                              }
+                                            }
+
+                                            getFingeringData();
+                                          }}
+                                        >
+                                          <img src={icons.icon_toggle} />
+                                          <span>视图</span>
+                                        </div>
+                                      )}
+                                      <div
+                                        class={styles.btnGr}
+                                        onClick={(e) => {
+                                          e.stopPropagation();
+                                          resetElement();
+                                          data.tipShow = !data.tipShow;
+                                          onResize();
+                                        }}
+                                      >
+                                        <img src={icons.icon_2_1} />
+                                        <span>说明</span>
+                                      </div>
+                                      <div class={styles.triangle}></div>
+                                    </div>
+                                  </div>
+                                </div>
                               </div>
                               {data.fingeringMode !== "scaleMode" && (
                                 <div
@@ -1654,7 +1725,7 @@ export default defineComponent({
                             </>
                           ) : (
                             <>
-                              <div class={styles.btnBox}>
+                              {/* <div class={styles.btnBox}>
                                 <div class={styles.btnCon}>
                                   <div
                                     class={[styles.btnGr]}
@@ -1714,7 +1785,7 @@ export default defineComponent({
                                     </div>
                                   )}
                                 </div>
-                              </div>
+                              </div> */}
                             </>
                           )}
                         </Tab>

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
stats.html


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff