Browse Source

Merge branch 'feature-tianyong-newVersion' of http://git.dayaedu.com/liushengqiang/music-score into hqyDevNewVersion

黄琪勇 1 year ago
parent
commit
536f781810
56 changed files with 76 additions and 24 deletions
  1. 0 0
      dist/css/index-968368af.css
  2. 0 0
      dist/css/index-d42b0794.css
  3. 1 0
      dist/css/instrument-6f0402ec.css
  4. 0 0
      dist/css/instrument-97bdbeed.css
  5. 0 0
      dist/js/colexiu-3cb42bc4.js
  6. 0 0
      dist/js/colexiu-b602372b.js
  7. 0 0
      dist/js/colexiu-legacy-77abd01d.js
  8. 0 0
      dist/js/colexiu-legacy-a67feda6.js
  9. 0 0
      dist/js/gym-00a1b91c.js
  10. 0 0
      dist/js/gym-7325014b.js
  11. 0 0
      dist/js/gym-legacy-f6b02e38.js
  12. 0 0
      dist/js/gym-legacy-fe9d627f.js
  13. 0 0
      dist/js/index-0234cd80.js
  14. 0 0
      dist/js/index-1ec06e8d.js
  15. 0 0
      dist/js/index-251f9ba1.js
  16. 0 0
      dist/js/index-29d709b3.js
  17. 0 0
      dist/js/index-407ca705.js
  18. 0 0
      dist/js/index-85109b3a.js
  19. 1 1
      dist/js/index-8951c3c4.js
  20. 0 0
      dist/js/index-959bd08d.js
  21. 0 0
      dist/js/index-b4f0c310.js
  22. 0 0
      dist/js/index-legacy-088bdc83.js
  23. 0 0
      dist/js/index-legacy-29ed7cd8.js
  24. 0 0
      dist/js/index-legacy-4e8ed36f.js
  25. 0 0
      dist/js/index-legacy-7455adc9.js
  26. 0 0
      dist/js/index-legacy-7df26bee.js
  27. 0 0
      dist/js/index-legacy-97301b87.js
  28. 0 0
      dist/js/index-legacy-a08a0c73.js
  29. 0 0
      dist/js/index-legacy-ace370c9.js
  30. 0 0
      dist/js/index-legacy-c8990208.js
  31. 1 1
      dist/js/index-legacy-e552d843.js
  32. 0 0
      dist/js/instrument-1ac24d7b.js
  33. 0 0
      dist/js/instrument-72949220.js
  34. 0 0
      dist/js/instrument-legacy-2604ab22.js
  35. 0 0
      dist/js/instrument-legacy-e213d3ed.js
  36. 0 0
      dist/js/orchestra-6a67a30f.js
  37. 0 0
      dist/js/orchestra-d861e53a.js
  38. 0 0
      dist/js/orchestra-legacy-ab3a1c19.js
  39. 0 0
      dist/js/orchestra-legacy-da2ca18f.js
  40. 0 0
      dist/js/polyfills-75f3dc9c.js
  41. 0 0
      dist/js/polyfills-legacy-83ab37be.js
  42. 0 0
      dist/js/report-share-98205d57.js
  43. 0 0
      dist/js/report-share-legacy-d1d62ef9.js
  44. BIN
      dist/mp3/timer-f5d3d904.mp3
  45. BIN
      dist/png/bg2-3017b51c.png
  46. BIN
      dist/png/bg3-efb2a621.png
  47. BIN
      dist/png/empty-9b9d0b72.png
  48. BIN
      dist/png/okBtn-c0f17350.png
  49. BIN
      dist/png/step1-a1605946.png
  50. BIN
      dist/png/step2-1b0ed4a9.png
  51. BIN
      dist/png/step3-0de404ad.png
  52. 18 0
      src/page-instrument/follow-model/index.module.less
  53. 19 4
      src/page-instrument/follow-model/index.tsx
  54. 6 1
      src/page-instrument/header-top/index.tsx
  55. 20 16
      src/page-instrument/header-top/settting/index.tsx
  56. 10 1
      src/page-instrument/view-detail/index.tsx

File diff suppressed because it is too large
+ 0 - 0
dist/css/index-968368af.css


File diff suppressed because it is too large
+ 0 - 0
dist/css/index-d42b0794.css


+ 1 - 0
dist/css/instrument-6f0402ec.css

@@ -0,0 +1 @@
+body{user-select:none}:root{--van-primary-color: #1CACF1;--color-primary: #1CACF1;--active-stave-box: rgba(25, 140, 254, .2)}.center-closeBtn>.van-icon-cross{background:linear-gradient(90deg,#5BECFF,#259CFE);color:#fff;border-radius:50%;top:0;right:0;transform:translate(20%,-40%);width:.66667rem;height:.66667rem}.center-closeBtn>.van-icon-cross:before,.center-closeBtn>.van-icon-cross:after{content:"";position:absolute;height:.37333rem;width:.02667rem;top:.13333rem;right:.32rem;background:#fff}.center-closeBtn>.van-icon-cross:before{transform:rotate(45deg)}.center-closeBtn>.van-icon-cross:after{transform:rotate(-45deg)}.shiyiBox>.van-icon-cross{display:none!important}.normal-close>.van-icon-cross{width:.4rem;height:.4rem;cursor:pointer}.normal-close>.van-icon-cross:before,.normal-close>.van-icon-cross:after{content:"";position:absolute;height:.4rem;width:.04rem;top:.10667rem;right:.24rem;background:rgba(255,255,255,.8)}.normal-close>.van-icon-cross:before{transform:rotate(45deg)}.normal-close>.van-icon-cross:after{transform:rotate(-45deg)}

File diff suppressed because it is too large
+ 0 - 0
dist/css/instrument-97bdbeed.css


File diff suppressed because it is too large
+ 0 - 0
dist/js/colexiu-3cb42bc4.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/colexiu-b602372b.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/colexiu-legacy-77abd01d.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/colexiu-legacy-a67feda6.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/gym-00a1b91c.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/gym-7325014b.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/gym-legacy-f6b02e38.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/gym-legacy-fe9d627f.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-0234cd80.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-1ec06e8d.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-251f9ba1.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-29d709b3.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-407ca705.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-85109b3a.js


+ 1 - 1
dist/js/index-072d3f1f.js → dist/js/index-8951c3c4.js

@@ -1 +1 @@
-import{d as i,g as l,n as d,cb as e,c,m as r,h as s,au as u}from"./index-eb921452.js";const m="_skeleton_vtlsh_1",f="_detail_vtlsh_12",p="_container_vtlsh_20",a={skeleton:m,detail:f,container:p},y=i({name:"music-list",setup(){const n=l(),t=d({isLoading:!0,isProductLoading:!1,product:[{state:!1,name:"五线谱",type:e.staff,base64:""},{state:!1,name:"首调",type:e.firstTone,base64:""},{state:!1,name:"固定调",type:e.fixedTone,base64:""}]});c(()=>{window.appName="colexiu",r.xmlUrl=n.xmlUrl,t.isLoading=!1});const o=async()=>{console.log("渲染完成")};return()=>s("div",{class:a.detail},[s("div",{id:"scrollContainer",class:[a.container,"hideCursor"]},[!t.isLoading&&s(u,{onRendered:o},null)])])}});export{y as default};
+import{d as i,g as l,n as d,bL as e,c,m as r,h as s,au as u}from"./index-0234cd80.js";const m="_skeleton_vtlsh_1",f="_detail_vtlsh_12",p="_container_vtlsh_20",a={skeleton:m,detail:f,container:p},y=i({name:"music-list",setup(){const n=l(),t=d({isLoading:!0,isProductLoading:!1,product:[{state:!1,name:"五线谱",type:e.staff,base64:""},{state:!1,name:"首调",type:e.firstTone,base64:""},{state:!1,name:"固定调",type:e.fixedTone,base64:""}]});c(()=>{window.appName="colexiu",r.xmlUrl=n.xmlUrl,t.isLoading=!1});const o=async()=>{console.log("渲染完成")};return()=>s("div",{class:a.detail},[s("div",{id:"scrollContainer",class:[a.container,"hideCursor"]},[!t.isLoading&&s(u,{onRendered:o},null)])])}});export{y as default};

File diff suppressed because it is too large
+ 0 - 0
dist/js/index-959bd08d.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-b4f0c310.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-088bdc83.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-29ed7cd8.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-4e8ed36f.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-7455adc9.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-7df26bee.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-97301b87.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-a08a0c73.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-ace370c9.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/index-legacy-c8990208.js


+ 1 - 1
dist/js/index-legacy-2c7eae14.js → dist/js/index-legacy-e552d843.js

@@ -1 +1 @@
-System.register(["./index-legacy-7455adc9.js"],(function(e,t){"use strict";var i,n,a,o,r,s,d,l,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=>{i=e.d,n=e.g,a=e.n,o=e.cb,r=e.c,s=e.m,d=e.h,l=e.au}],execute:function(){const t="_detail_vtlsh_12",c="_container_vtlsh_20";e("default",i({name:"music-list",setup(){const e=n(),i=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:""}]});r((()=>{window.appName="colexiu",s.xmlUrl=e.xmlUrl,i.isLoading=!1}));const h=async()=>{console.log("渲染完成")};return()=>d("div",{class:t},[d("div",{id:"scrollContainer",class:[c,"hideCursor"]},[!i.isLoading&&d(l,{onRendered:h},null)])])}}))}}}));
+System.register(["./index-legacy-088bdc83.js"],(function(e,t){"use strict";var i,n,a,o,r,s,d,l,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=>{i=e.d,n=e.g,a=e.n,o=e.bL,r=e.c,s=e.m,d=e.h,l=e.au}],execute:function(){const t="_detail_vtlsh_12",c="_container_vtlsh_20";e("default",i({name:"music-list",setup(){const e=n(),i=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:""}]});r((()=>{window.appName="colexiu",s.xmlUrl=e.xmlUrl,i.isLoading=!1}));const h=async()=>{console.log("渲染完成")};return()=>d("div",{class:t},[d("div",{id:"scrollContainer",class:[c,"hideCursor"]},[!i.isLoading&&d(l,{onRendered:h},null)])])}}))}}}));

File diff suppressed because it is too large
+ 0 - 0
dist/js/instrument-1ac24d7b.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/instrument-72949220.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/instrument-legacy-2604ab22.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/instrument-legacy-e213d3ed.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/orchestra-6a67a30f.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/orchestra-d861e53a.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/orchestra-legacy-ab3a1c19.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/orchestra-legacy-da2ca18f.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/polyfills-75f3dc9c.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/polyfills-legacy-83ab37be.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/report-share-98205d57.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/report-share-legacy-d1d62ef9.js


BIN
dist/mp3/timer-f5d3d904.mp3


BIN
dist/png/bg2-3017b51c.png


BIN
dist/png/bg3-efb2a621.png


BIN
dist/png/empty-9b9d0b72.png


BIN
dist/png/okBtn-c0f17350.png


BIN
dist/png/step1-a1605946.png


BIN
dist/png/step2-1b0ed4a9.png


BIN
dist/png/step3-0de404ad.png


+ 18 - 0
src/page-instrument/follow-model/index.module.less

@@ -66,4 +66,22 @@
       border-radius: 50%;
       transform: rotate(-20deg);
   }
+}
+
+.operatingBtn{
+  position: fixed;
+  right: 30px;
+  bottom: 0;
+  height: var(--header-height);
+  z-index: 99;
+  display: flex;
+  align-items: center;
+  .iconBtn{
+      width: 50px;
+      height: 50px;
+      cursor: pointer;
+      & + .iconBtn{
+          margin-left: 20px;
+      }
+  }
 }

+ 19 - 4
src/page-instrument/follow-model/index.tsx

@@ -6,13 +6,14 @@ import { Popup } from "vant";
 import Microphone from "./microphone";
 import state, { IPlatform } from "/src/state";
 import PcEndIcon from "../header-top/image/pc_end_icon.png"
+import { headImg } from "/src/page-instrument/header-top/image";
 
 export default defineComponent({
 	name: "follow-model",
 	setup() {
 		return () => (
 			<>
-				<Transition name="pop-center">
+				{/* <Transition name="pop-center">
 					{!followData.start && (
 						<div class={styles.startBtn} key="start">
 							<img
@@ -35,13 +36,27 @@ export default defineComponent({
 							/>
 						</div>
 					)}
-				</Transition>
-				<div style={{ display: followData.start ? "" : "none" }} class={styles.noteState}>
+				</Transition> */}
+				<div class={styles.operatingBtn}>
+					{!followData.start && (
+						<img class={styles.iconBtn} src={headImg("icon_play.png")} 
+						onClick={() => {
+							handleFollowStart()
+						}} />
+						)}
+					{followData.start && (
+						<>
+						<img class={styles.iconBtn} src={headImg("icon_reset.png")} onClick={()=>handleFollowEnd()} />  
+						<img class={styles.iconBtn} src={headImg("submit.png")} onClick={() => handleFollowEnd()}/> 
+						</>
+					)} 
+				</div>				
+				{/* <div style={{ display: followData.start ? "" : "none" }} class={styles.noteState}>
 					<span style={{ background: "#ffca67" }} class={styles.dot}></span>
 					<span>低</span>
 					<span style={{ background: "rgb(255, 0, 0)" }} class={styles.dot}></span>
 					<span>高</span>
-				</div>
+				</div> */}
 				<Popup
 					teleport="body"
 					closeOnClickOverlay={false}

+ 6 - 1
src/page-instrument/header-top/index.tsx

@@ -9,7 +9,7 @@ import { Badge, Circle, Popover, Popup, showConfirmDialog, showToast, NoticeBar
 import Speed from "./speed";
 import { evaluatingData, handleStartEvaluat } from "/src/view/evaluating";
 import Settting from "./settting";
-import state, { IPlatform, handleChangeSection, handleResetPlay, handleRessetState, togglePlay, IPlayState } from "/src/state";
+import state, { IPlatform, handleChangeSection, handleResetPlay, handleRessetState, togglePlay, IPlayState, refreshMusicSvg } from "/src/state";
 import { getAudioCurrentTime } from "/src/view/audio-list";
 import { followData, toggleFollow } from "/src/view/follow-practice";
 import { api_back } from "/src/helpers/communication";
@@ -78,6 +78,11 @@ export const headTopData = reactive({
       // evaluatingData.rendered = true;
       // evaluatingData.soundEffectMode = true;
     } else if (value === "follow") {
+      // 跟练模式,只有一行谱模式
+      if (!state.isSingleLine) {
+        state.isSingleLine = true
+        refreshMusicSvg()
+      }
       toggleFollow();
     }
     headTopData.modeType = "show";

+ 20 - 16
src/page-instrument/header-top/settting/index.tsx

@@ -72,22 +72,26 @@ export default defineComponent({
                                 <div class={styles.timeName}>毫秒</div>    
                             </div>
                         </div>
-                        <div class={styles.cellBox}>
-                            <div class={styles.tit}>切换谱面</div>
-                            <div class={styles.radioBox}>
-                                {
-                                    [{name:'单行谱',value:true},{name:'多行谱',value:false}].map(item=>{
-                                        return <div class={ state.isSingleLine===item.value && styles.active } onClick={ ()=>{ 
-                                            state.isSingleLine = item.value 
-                                            // resetRenderMusicScore(state.musicRenderType)
-                                            headTopData.settingMode = false
-                                            refreshMusicSvg();
-                                            // musicScoreRef.value?.refreshMusicScore()
-                                        } }>{item.name}</div>
-                                    })
-                                }
-                            </div>
-                        </div>
+                        {/** 练习模式才有单行/多行谱切换功能,跟练、评测只有单行谱模式 */}
+                        {
+                            state.modeType === 'practise' ? 
+                            <div class={styles.cellBox}>
+                                <div class={styles.tit}>切换谱面</div>
+                                <div class={styles.radioBox}>
+                                    {
+                                        [{name:'单行谱',value:true},{name:'多行谱',value:false}].map(item=>{
+                                            return <div class={ state.isSingleLine===item.value && styles.active } onClick={ ()=>{ 
+                                                state.isSingleLine = item.value 
+                                                // resetRenderMusicScore(state.musicRenderType)
+                                                headTopData.settingMode = false
+                                                refreshMusicSvg();
+                                                // musicScoreRef.value?.refreshMusicScore()
+                                            } }>{item.name}</div>
+                                        })
+                                    }
+                                </div>
+                            </div> : null                        
+                        }
                         <div class={styles.cellBox}>
                             <div class={styles.tit}>转谱</div>
                             <div class={styles.radioBox}>

+ 10 - 1
src/page-instrument/view-detail/index.tsx

@@ -36,6 +36,7 @@ import tickWav from "/src/assets/tick.mp3";
 import AuthorName from "../component/authorName"
 import { initSmoothAnimation } from "./smoothAnimation"
 import EmptyMusic, { isEmptyMusicShow } from "./emptyMusic"
+import { position } from "html2canvas/dist/types/css/property-descriptors/position";
 
 const DelayCheck = defineAsyncComponent(() =>
   import('/src/page-instrument/evaluat-model/delay-check')
@@ -294,7 +295,15 @@ export default defineComponent({
             container: {
               paddingBottom: detailData.headerHide ? state.fingeringInfo.height : state.fingeringInfo.scaleData?.offset
             },
-            fingerBox: detailData.headerHide ? {
+            // 横向指法,跟练&评测模式,默认展示贴底展示
+            fingerBox: (state.modeType === 'follow' || state.modeType === 'evaluating') ? 
+            {
+              height: state.fingeringInfo.height,
+              position: 'absolute',
+              bottom: 0,
+              width: '100%'
+            } : 
+            detailData.headerHide ? {
               height: state.fingeringInfo.height
             } : {
               height: state.fingeringInfo.height,

Some files were not shown because too many files changed in this diff