TIANYONG 1 vuosi sitten
vanhempi
commit
c1f0a237ad
100 muutettua tiedostoa jossa 309 lisäystä ja 112 poistoa
  1. 9 9
      dist/colexiu.html
  2. 0 0
      dist/css/index-1bf4efa4.css
  3. 0 0
      dist/css/index-d42b0794.css
  4. 0 0
      dist/css/index-fce9e04b.css
  5. 0 0
      dist/css/instrument-07c23857.css
  6. 0 1
      dist/css/instrument-6f0402ec.css
  7. 8 8
      dist/index.html
  8. 6 6
      dist/instrument.html
  9. 0 0
      dist/js/colexiu-1a8fe7f5.js
  10. 0 0
      dist/js/colexiu-dc5b64e0.js
  11. 0 0
      dist/js/colexiu-legacy-735d3aaf.js
  12. 0 0
      dist/js/colexiu-legacy-9147147e.js
  13. 0 0
      dist/js/gym-26ca23e9.js
  14. 0 0
      dist/js/gym-legacy-1efb17de.js
  15. 0 0
      dist/js/index-0bc55d54.js
  16. 0 0
      dist/js/index-0d3b7b42.js
  17. 1 0
      dist/js/index-0ff7113a.js
  18. 0 0
      dist/js/index-14987133.js
  19. 0 0
      dist/js/index-2a1343e0.js
  20. 1 0
      dist/js/index-575513c6.js
  21. 0 0
      dist/js/index-589cb412.js
  22. 0 0
      dist/js/index-58c2eaac.js
  23. 0 0
      dist/js/index-71af34fa.js
  24. 0 0
      dist/js/index-830030ee.js
  25. 0 1
      dist/js/index-88763056.js
  26. 0 0
      dist/js/index-91fbf033.js
  27. 0 0
      dist/js/index-97c2723f.js
  28. 0 0
      dist/js/index-9f88b4d1.js
  29. 0 0
      dist/js/index-a89913a9.js
  30. 0 0
      dist/js/index-aa2a2215.js
  31. 0 0
      dist/js/index-b4f8a6c4.js
  32. 0 0
      dist/js/index-baf43b35.js
  33. 0 0
      dist/js/index-c7d78927.js
  34. 0 0
      dist/js/index-cc245ff8.js
  35. 0 0
      dist/js/index-d0f39753.js
  36. 0 0
      dist/js/index-d6d2b2dc.js
  37. 1 0
      dist/js/index-d992e3b9.js
  38. 0 0
      dist/js/index-f2e8178f.js
  39. 0 0
      dist/js/index-legacy-01e9117a.js
  40. 0 0
      dist/js/index-legacy-0bdee5e3.js
  41. 0 0
      dist/js/index-legacy-10329f39.js
  42. 1 1
      dist/js/index-legacy-1174ef25.js
  43. 0 0
      dist/js/index-legacy-1ed16095.js
  44. 0 0
      dist/js/index-legacy-26390a5e.js
  45. 1 0
      dist/js/index-legacy-31c570d9.js
  46. 0 0
      dist/js/index-legacy-391bcfef.js
  47. 0 0
      dist/js/index-legacy-3e4d4286.js
  48. 0 0
      dist/js/index-legacy-457fb6fa.js
  49. 0 0
      dist/js/index-legacy-4989aa57.js
  50. 0 0
      dist/js/index-legacy-4af22c3b.js
  51. 0 0
      dist/js/index-legacy-6f3062f5.js
  52. 0 0
      dist/js/index-legacy-7e8508f0.js
  53. 0 0
      dist/js/index-legacy-830019c1.js
  54. 0 0
      dist/js/index-legacy-992d99e2.js
  55. 0 0
      dist/js/index-legacy-99b7a873.js
  56. 0 0
      dist/js/index-legacy-9e953edb.js
  57. 0 0
      dist/js/index-legacy-aadd2aa9.js
  58. 0 0
      dist/js/index-legacy-b4dddc9f.js
  59. 1 0
      dist/js/index-legacy-bb5e9f12.js
  60. 0 0
      dist/js/index-legacy-daa7212b.js
  61. 0 0
      dist/js/index-legacy-dd534323.js
  62. 0 0
      dist/js/index-legacy-f4aeb5cd.js
  63. 0 0
      dist/js/instrument-667a4add.js
  64. 0 0
      dist/js/instrument-e6c09f4b.js
  65. 0 0
      dist/js/instrument-legacy-0fa88704.js
  66. 0 0
      dist/js/instrument-legacy-f70ed606.js
  67. 0 0
      dist/js/orchestra-5ad9539c.js
  68. 0 0
      dist/js/orchestra-9af1c6a1.js
  69. 0 0
      dist/js/orchestra-legacy-22f01413.js
  70. 0 0
      dist/js/orchestra-legacy-47876e84.js
  71. 0 0
      dist/js/polyfills-2bab7158.js
  72. 0 0
      dist/js/polyfills-fb37776d.js
  73. 0 0
      dist/js/polyfills-legacy-b3b6467d.js
  74. 0 0
      dist/js/polyfills-legacy-e5b4eec2.js
  75. 0 0
      dist/js/report-share-5332853a.js
  76. 0 0
      dist/js/report-share-d7955bb9.js
  77. 0 0
      dist/js/report-share-legacy-22ec7394.js
  78. 0 0
      dist/js/report-share-legacy-53efcff1.js
  79. 10 10
      dist/orchestra.html
  80. BIN
      dist/png/back-c3f6ce34.png
  81. BIN
      dist/png/bg-20e7cc98.png
  82. BIN
      dist/png/bg-e135ffa1.png
  83. BIN
      dist/png/bg1-0c99226a.png
  84. BIN
      dist/png/gl-0a9176b7.png
  85. BIN
      dist/png/headImg-fa687b2a.png
  86. BIN
      dist/png/headTit-e8696132.png
  87. BIN
      dist/png/icon_reset-51a1bf04.png
  88. BIN
      dist/png/lx-4dd7abe9.png
  89. BIN
      dist/png/pc-bb226da5.png
  90. BIN
      dist/png/qx-94a58756.png
  91. BIN
      dist/png/tj-a46bf4d1.png
  92. BIN
      dist/png/tpbz-57c42ef9.png
  93. BIN
      dist/png/yjfk-ac627152.png
  94. 6 6
      dist/report-share.html
  95. 53 0
      dist/svg/icon-submit-23a9105e.svg
  96. 11 4
      src/helpers/formateMusic.ts
  97. 0 1
      src/helpers/metronome.ts
  98. 159 65
      src/page-instrument/header-top/index.tsx
  99. BIN
      src/page-instrument/view-detail/emptyMusic/imgs/empty.png
  100. 41 0
      src/page-instrument/view-detail/emptyMusic/index.module.less

+ 9 - 9
dist/colexiu.html

@@ -2,7 +2,7 @@
 <html lang="en">
 
 <head>
-  <script type="module" crossorigin src="./js/polyfills-fb37776d.js"></script>
+  <script type="module" crossorigin src="./js/polyfills-5e39241c.js"></script>
 
   <meta charset="UTF-8" />
   <link rel="icon" type="image/svg+xml" href="./vite.svg" />
@@ -40,12 +40,12 @@
       },
     })
   </script>
-  <script type="module" crossorigin src="./js/colexiu-1a8fe7f5.js"></script>
-  <link rel="modulepreload" crossorigin href="./js/index-cc245ff8.js">
-  <link rel="modulepreload" crossorigin href="./js/index-71af34fa.js">
-  <link rel="modulepreload" crossorigin href="./js/index-d6d2b2dc.js">
-  <link rel="stylesheet" href="./css/index-c274c34c.css">
-  <link rel="stylesheet" href="./css/colexiu-62f31c4f.css">
+  <script type="module" crossorigin src="./js/colexiu-f2c0ef9c.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-c7c47f9a.js">
+  <link rel="modulepreload" crossorigin href="./js/index-ca59c7a6.js">
+  <link rel="modulepreload" crossorigin href="./js/index-71340210.js">
+  <link rel="stylesheet" href="./css/index-bf8f1009.css">
+  <link rel="stylesheet" href="./css/colexiu-e8b419b5.css">
   <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>
@@ -55,8 +55,8 @@
   <img id="loading" class="show" src="./loading.svg" alt="loading" />
   
   <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 crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-e5b4eec2.js"></script>
-  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/colexiu-legacy-9147147e.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-eae3f768.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/colexiu-legacy-fe442c2d.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
 </body>
 
 </html>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/css/index-1bf4efa4.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/css/index-d42b0794.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/css/index-fce9e04b.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/css/instrument-07c23857.css


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

@@ -1 +0,0 @@
-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)}

+ 8 - 8
dist/index.html

@@ -2,7 +2,7 @@
 <html lang="ZH-cn">
 
 <head>
-  <script type="module" crossorigin src="./js/polyfills-fb37776d.js"></script>
+  <script type="module" crossorigin src="./js/polyfills-5e39241c.js"></script>
 
   <meta charset="UTF-8">
   <link rel="icon" href="./favicon.ico" />
@@ -75,12 +75,12 @@
       }
     })
   </script>
-  <script type="module" crossorigin src="./js/gym-26ca23e9.js"></script>
-  <link rel="modulepreload" crossorigin href="./js/index-cc245ff8.js">
-  <link rel="modulepreload" crossorigin href="./js/index-71af34fa.js">
-  <link rel="modulepreload" crossorigin href="./js/index-620f28e6.js">
+  <script type="module" crossorigin src="./js/gym-00d6f90a.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-c7c47f9a.js">
+  <link rel="modulepreload" crossorigin href="./js/index-ca59c7a6.js">
+  <link rel="modulepreload" crossorigin href="./js/index-0ea5b1ea.js">
   <link rel="modulepreload" crossorigin href="./js/plyr.min-c8c2777b.js">
-  <link rel="stylesheet" href="./css/index-c274c34c.css">
+  <link rel="stylesheet" href="./css/index-bf8f1009.css">
   <link rel="stylesheet" href="./css/index-85f95688.css">
   <link rel="stylesheet" href="./css/plyr-ad8ef5ae.css">
   <link rel="stylesheet" href="./css/index-171cd132.css">
@@ -97,8 +97,8 @@
   <img id="loading" class="show" src="./loading.svg" alt="loading" />
   
   <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 crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-e5b4eec2.js"></script>
-  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/gym-legacy-1efb17de.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-eae3f768.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/gym-legacy-9d4e3d93.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
 </body>
 
 </html>

+ 6 - 6
dist/instrument.html

@@ -2,7 +2,7 @@
 <html lang="en">
 
 <head>
-  <script type="module" crossorigin src="./js/polyfills-fb37776d.js"></script>
+  <script type="module" crossorigin src="./js/polyfills-5e39241c.js"></script>
 
   <meta charset="UTF-8" />
   <meta name="viewport"
@@ -40,9 +40,9 @@
       })
     }
   </script>
-  <script type="module" crossorigin src="./js/instrument-667a4add.js"></script>
-  <link rel="modulepreload" crossorigin href="./js/index-cc245ff8.js">
-  <link rel="stylesheet" href="./css/index-c274c34c.css">
+  <script type="module" crossorigin src="./js/instrument-1aa23bd6.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-c7c47f9a.js">
+  <link rel="stylesheet" href="./css/index-bf8f1009.css">
   <link rel="stylesheet" href="./css/instrument-6f0402ec.css">
   <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>
@@ -61,8 +61,8 @@
 
   
   <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 crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-e5b4eec2.js"></script>
-  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/instrument-legacy-f70ed606.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-eae3f768.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/instrument-legacy-5cf902d5.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
 </body>
 
 </html>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/colexiu-1a8fe7f5.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/colexiu-dc5b64e0.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/colexiu-legacy-735d3aaf.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/colexiu-legacy-9147147e.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/gym-26ca23e9.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/gym-legacy-1efb17de.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-0bc55d54.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-0d3b7b42.js


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

@@ -0,0 +1 @@
+import{d,l as i,n as p,m as e,w as o,f as r,V as a}from"./index-14987133.js";const c=d({name:"measureSpeed",setup(){const s=i(!1),t=p({speed:e.speed,originSpeed:e.originSpeed});return o(()=>e.section.length,()=>{if(e.modeType==="practise"){if(!s.value&&e.section.length===2){s.value=!0,t.speed=e.speed;const n=e.section[0].beatSpeed;e.originSpeed=n,a(n)}s.value&&e.section.length===0&&(s.value=!1,e.originSpeed=t.originSpeed,a(t.speed))}}),()=>r("div",null,null)}});export{c as M};

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-14987133.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-2a1343e0.js


+ 1 - 0
dist/js/index-575513c6.js

@@ -0,0 +1 @@
+import{d as i,g as l,n as c,cc as e,c as d,m as r,f as s,aw as u}from"./index-14987133.js";const f="_skeleton_vtlsh_1",m="_detail_vtlsh_12",p="_container_vtlsh_20",a={skeleton:f,detail:m,container:p},y=i({name:"music-list",setup(){const n=l(),t=c({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:""}]});d(()=>{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};

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-589cb412.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-58c2eaac.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-71af34fa.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-830030ee.js


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

@@ -1 +0,0 @@
-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-cc245ff8.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};

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-91fbf033.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-97c2723f.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-9f88b4d1.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-a89913a9.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-aa2a2215.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-b4f8a6c4.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-baf43b35.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-c7d78927.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-cc245ff8.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-d0f39753.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-d6d2b2dc.js


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

@@ -0,0 +1 @@
+import{ba as w,c2 as C,bh as E,bg as L,d as B,l as h,c3 as R,c4 as N,w as b,c5 as _,c as y,c6 as F,c7 as G,f as r,aG as H,c8 as m,c9 as I,ca as M,bl as U}from"./index-14987133.js";const[V,o,j]=w("list"),q={error:Boolean,offset:C(300),loading:Boolean,disabled:Boolean,finished:Boolean,errorText:String,direction:E("down"),loadingText:String,finishedText:String,immediateCheck:L};var z=B({name:V,props:q,emits:["load","update:error","update:loading"],setup(e,{emit:s,slots:a}){const d=h(e.loading),f=h(),g=h(),c=R(),v=N(f),n=()=>{H(()=>{if(d.value||e.finished||e.disabled||e.error||(c==null?void 0:c.value)===!1)return;const{direction:t}=e,l=+e.offset,i=m(v);if(!i.height||I(f))return;let u=!1;const x=m(g);t==="up"?u=i.top-x.top<=l:u=x.bottom-i.bottom<=l,u&&(d.value=!0,s("update:loading",!0),s("load"))})},T=()=>{if(e.finished){const t=a.finished?a.finished():e.finishedText;if(t)return r("div",{class:o("finished-text")},[t])}},k=()=>{s("update:error",!1),n()},P=()=>{if(e.error){const t=a.error?a.error():e.errorText;if(t)return r("div",{role:"button",class:o("error-text"),tabindex:0,onClick:k},[t])}},S=()=>{if(d.value&&!e.finished&&!e.disabled)return r("div",{class:o("loading")},[a.loading?a.loading():r(M,{class:o("loading-icon")},{default:()=>[e.loadingText||j("loading")]})])};return b(()=>[e.loading,e.finished,e.error],n),c&&b(c,t=>{t&&n()}),_(()=>{d.value=e.loading}),y(()=>{e.immediateCheck&&n()}),F({check:n}),G("scroll",n,{target:v,passive:!0}),()=>{var t;const l=(t=a.default)==null?void 0:t.call(a),i=r("div",{ref:g,class:o("placeholder")},null);return r("div",{ref:f,role:"feed",class:o(),"aria-busy":d.value},[e.direction==="down"?l:i,S(),T(),P(),e.direction==="up"?l:i])}}});const D=U(z);export{D as L};

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-f2e8178f.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-01e9117a.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-0bdee5e3.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-10329f39.js


+ 1 - 1
dist/js/index-legacy-9b6aa453.js → dist/js/index-legacy-1174ef25.js

@@ -1 +1 @@
-System.register(["./index-legacy-10329f39.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)])])}}))}}}));
+System.register(["./index-legacy-830019c1.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.cc,r=e.c,s=e.m,d=e.f,l=e.aw}],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)])])}}))}}}));

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-1ed16095.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-26390a5e.js


+ 1 - 0
dist/js/index-legacy-31c570d9.js

@@ -0,0 +1 @@
+System.register(["./index-legacy-830019c1.js"],(function(e,i){"use strict";var r,t,o,n,a,d,l,s,c,u,f,g,h,v,p,b,x,m,T;return{setters:[e=>{r=e.ba,t=e.c2,o=e.bh,n=e.bg,a=e.d,d=e.l,l=e.c3,s=e.c4,c=e.w,u=e.c5,f=e.c,g=e.c6,h=e.c7,v=e.f,p=e.aG,b=e.c8,x=e.c9,m=e.ca,T=e.bl}],execute:function(){const[i,k,B]=r("list"),S={error:Boolean,offset:t(300),loading:Boolean,disabled:Boolean,finished:Boolean,errorText:String,direction:o("down"),loadingText:String,finishedText:String,immediateCheck:n};var w=a({name:i,props:S,emits:["load","update:error","update:loading"],setup(e,{emit:i,slots:r}){const t=d(e.loading),o=d(),n=d(),a=l(),T=s(o),S=()=>{p((()=>{if(t.value||e.finished||e.disabled||e.error||!1===(null==a?void 0:a.value))return;const{direction:r}=e,d=+e.offset,l=b(T);if(!l.height||x(o))return;let s=!1;const c=b(n);s="up"===r?l.top-c.top<=d:c.bottom-l.bottom<=d,s&&(t.value=!0,i("update:loading",!0),i("load"))}))},w=()=>{if(e.finished){const i=r.finished?r.finished():e.finishedText;if(i)return v("div",{class:k("finished-text")},[i])}},y=()=>{i("update:error",!1),S()},C=()=>{if(e.error){const i=r.error?r.error():e.errorText;if(i)return v("div",{role:"button",class:k("error-text"),tabindex:0,onClick:y},[i])}},j=()=>{if(t.value&&!e.finished&&!e.disabled)return v("div",{class:k("loading")},[r.loading?r.loading():v(m,{class:k("loading-icon")},{default:()=>[e.loadingText||B("loading")]})])};return c((()=>[e.loading,e.finished,e.error]),S),a&&c(a,(e=>{e&&S()})),u((()=>{t.value=e.loading})),f((()=>{e.immediateCheck&&S()})),g({check:S}),h("scroll",S,{target:T,passive:!0}),()=>{var i;const a=null==(i=r.default)?void 0:i.call(r),d=v("div",{ref:n,class:k("placeholder")},null);return v("div",{ref:o,role:"feed",class:k(),"aria-busy":t.value},["down"===e.direction?a:d,j(),w(),C(),"up"===e.direction?a:d])}}});e("L",T(w))}}}));

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-391bcfef.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-3e4d4286.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-457fb6fa.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-4989aa57.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-4af22c3b.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-6f3062f5.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-7e8508f0.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-830019c1.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-992d99e2.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-99b7a873.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-9e953edb.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-aadd2aa9.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-b4dddc9f.js


+ 1 - 0
dist/js/index-legacy-bb5e9f12.js

@@ -0,0 +1 @@
+System.register(["./index-legacy-830019c1.js"],(function(e,n){"use strict";var i,t,s,d,r,p,o;return{setters:[e=>{i=e.d,t=e.l,s=e.n,d=e.m,r=e.w,p=e.f,o=e.V}],execute:function(){e("M",i({name:"measureSpeed",setup(){const e=t(!1),n=s({speed:d.speed,originSpeed:d.originSpeed});return r((()=>d.section.length),(()=>{if("practise"===d.modeType){if(!e.value&&2===d.section.length){e.value=!0,n.speed=d.speed;const i=d.section[0].beatSpeed;d.originSpeed=i,o(i)}e.value&&0===d.section.length&&(e.value=!1,d.originSpeed=n.originSpeed,o(n.speed))}})),()=>p("div",null,null)}}))}}}));

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-daa7212b.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-dd534323.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/index-legacy-f4aeb5cd.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/instrument-667a4add.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/instrument-e6c09f4b.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/instrument-legacy-0fa88704.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/instrument-legacy-f70ed606.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/orchestra-5ad9539c.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/orchestra-9af1c6a1.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/orchestra-legacy-22f01413.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/orchestra-legacy-47876e84.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/polyfills-2bab7158.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/polyfills-fb37776d.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/polyfills-legacy-b3b6467d.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/polyfills-legacy-e5b4eec2.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/report-share-5332853a.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/report-share-d7955bb9.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/report-share-legacy-22ec7394.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/js/report-share-legacy-53efcff1.js


+ 10 - 10
dist/orchestra.html

@@ -2,7 +2,7 @@
 <html lang="en">
 
 <head>
-  <script type="module" crossorigin src="./js/polyfills-fb37776d.js"></script>
+  <script type="module" crossorigin src="./js/polyfills-5e39241c.js"></script>
 
   <meta charset="UTF-8" />
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
@@ -41,14 +41,14 @@
       transition: opacity .3s;
     }
   </style>
-  <script type="module" crossorigin src="./js/orchestra-5ad9539c.js"></script>
-  <link rel="modulepreload" crossorigin href="./js/index-cc245ff8.js">
-  <link rel="modulepreload" crossorigin href="./js/index-71af34fa.js">
-  <link rel="modulepreload" crossorigin href="./js/index-d6d2b2dc.js">
-  <link rel="modulepreload" crossorigin href="./js/index-620f28e6.js">
-  <link rel="stylesheet" href="./css/index-c274c34c.css">
+  <script type="module" crossorigin src="./js/orchestra-6b8de4de.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-c7c47f9a.js">
+  <link rel="modulepreload" crossorigin href="./js/index-ca59c7a6.js">
+  <link rel="modulepreload" crossorigin href="./js/index-71340210.js">
+  <link rel="modulepreload" crossorigin href="./js/index-0ea5b1ea.js">
+  <link rel="stylesheet" href="./css/index-bf8f1009.css">
   <link rel="stylesheet" href="./css/index-85f95688.css">
-  <link rel="stylesheet" href="./css/orchestra-8bc1a9c0.css">
+  <link rel="stylesheet" href="./css/orchestra-8e05e751.css">
   <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>
@@ -69,8 +69,8 @@
   </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>
-  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-e5b4eec2.js"></script>
-  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/orchestra-legacy-22f01413.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-eae3f768.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/orchestra-legacy-bd86e8c6.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
 </body>
 
 </html>

BIN
dist/png/back-c3f6ce34.png


BIN
dist/png/bg-20e7cc98.png


BIN
dist/png/bg-e135ffa1.png


BIN
dist/png/bg1-0c99226a.png


BIN
dist/png/gl-0a9176b7.png


BIN
dist/png/headImg-fa687b2a.png


BIN
dist/png/headTit-e8696132.png


BIN
dist/png/icon_reset-51a1bf04.png


BIN
dist/png/lx-4dd7abe9.png


BIN
dist/png/pc-bb226da5.png


BIN
dist/png/qx-94a58756.png


BIN
dist/png/tj-a46bf4d1.png


BIN
dist/png/tpbz-57c42ef9.png


BIN
dist/png/yjfk-ac627152.png


+ 6 - 6
dist/report-share.html

@@ -2,7 +2,7 @@
 <html lang="en">
 
 <head>
-  <script type="module" crossorigin src="./js/polyfills-fb37776d.js"></script>
+  <script type="module" crossorigin src="./js/polyfills-5e39241c.js"></script>
 
   <meta charset="UTF-8" />
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
@@ -25,10 +25,10 @@
       transition: opacity .3s;
     }
   </style>
-  <script type="module" crossorigin src="./js/report-share-d7955bb9.js"></script>
-  <link rel="modulepreload" crossorigin href="./js/index-cc245ff8.js">
+  <script type="module" crossorigin src="./js/report-share-a2ffd0f0.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-c7c47f9a.js">
   <link rel="modulepreload" crossorigin href="./js/plyr.min-c8c2777b.js">
-  <link rel="stylesheet" href="./css/index-c274c34c.css">
+  <link rel="stylesheet" href="./css/index-bf8f1009.css">
   <link rel="stylesheet" href="./css/plyr-ad8ef5ae.css">
   <link rel="stylesheet" href="./css/report-share-0f4c3151.css">
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
@@ -51,8 +51,8 @@
   </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>
-  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-e5b4eec2.js"></script>
-  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/report-share-legacy-22ec7394.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-eae3f768.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/report-share-legacy-9e404744.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
 </body>
 
 </html>

+ 53 - 0
dist/svg/icon-submit-23a9105e.svg

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="170px" height="42px" viewBox="0 0 170 42" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>button-normal备份</title>
+    <defs>
+        <linearGradient x1="47.3839597%" y1="0%" x2="47.3839597%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#5BECFF" offset="0%"></stop>
+            <stop stop-color="#259CFE" offset="100%"></stop>
+        </linearGradient>
+        <path d="M0,19.5 C0,8.73044738 8.72291291,0 19.5011616,0 L150.498838,0 C161.269033,0 170,8.72807945 170,19.5 L170,19.5 C170,30.2695526 161.277087,39 150.498838,39 L19.5011616,39 C8.73096743,39 0,30.2719205 0,19.5 L0,19.5 Z" id="path-2"></path>
+        <filter x="-0.6%" y="-2.6%" width="101.2%" height="110.3%" filterUnits="objectBoundingBox" id="filter-3">
+            <feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feColorMatrix values="0 0 0 0 0.140022123   0 0 0 0 0.580018696   0 0 0 0 0.741724871  0 0 0 1 0" type="matrix" in="shadowOffsetOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-1.2%" y="-5.1%" width="102.4%" height="115.4%" filterUnits="objectBoundingBox" id="filter-4">
+            <feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="0" dy="1" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.5 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+        </filter>
+        <text id="text-5" font-family="STYuanti-SC-Bold, Yuanti SC" font-size="17" font-weight="bold" letter-spacing="0.971428571" fill="#FFFFFF">
+            <tspan x="48.8726768" y="24.7864078">提交反馈</tspan>
+        </text>
+        <filter x="-2.3%" y="-4.2%" width="104.7%" height="116.7%" filterUnits="objectBoundingBox" id="filter-6">
+            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.161975631   0 0 0 0 0.668289198   0 0 0 0 0.702658833  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+    </defs>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="弹框备份-3" transform="translate(-321.000000, -282.000000)">
+            <g id="编组-22" transform="translate(246.000000, 23.000000)">
+                <g id="编组-13备份-6" transform="translate(19.000000, 173.000000)">
+                    <g id="button-normal备份" transform="translate(56.000000, 86.213592)">
+                        <g id="button-normal">
+                            <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+                            <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+                            <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
+                        </g>
+                        <path d="M7.54648956,9.21950712 C10.4637703,15.4646069 14.1581502,18.5871568 18.6296291,18.5871568 C25.1822584,18.5871568 140.670351,18.5871568 149.830619,18.5871568 C155.937464,18.5871568 160.783941,15.2414403 164.37005,8.55000735 C165.98066,13.6215148 166.785965,18.1567704 166.785965,22.1557742 C166.785965,26.1547781 163.164536,30.6900337 155.921676,35.7615411 L155.921676,35.7615411 C69.4275269,38.1461628 22.7110754,38.1461628 15.7723217,35.7615411 C5.3641912,32.1846086 3.07082349,25.1608895 3.07082349,19.1641238 C3.07082349,15.1662799 4.56271218,11.8514077 7.54648956,9.21950712 Z" id="矩形" fill="#1CACF1" opacity="0.499798729"></path>
+                        <g id="编组-6" opacity="0.849424816" transform="translate(10.475533, 12.776894) rotate(-5.000000) translate(-10.475533, -12.776894) translate(2.008042, 2.916633)" fill="#FFFFFF">
+                            <ellipse id="椭圆形" opacity="0.882866269" transform="translate(10.224968, 6.743561) rotate(44.000000) translate(-10.224968, -6.743561) " cx="10.2249676" cy="6.7435612" rx="4.0776699" ry="5.4368932"></ellipse>
+                            <ellipse id="椭圆形备份-3" opacity="0.882866269" transform="translate(4.315976, 15.387773) rotate(44.000000) translate(-4.315976, -15.387773) " cx="4.31597644" cy="15.3877727" rx="2.7184466" ry="3.39805825"></ellipse>
+                        </g>
+                        <g id="提交反馈" fill="#FFFFFF" fill-opacity="1">
+                            <use filter="url(#filter-6)" xlink:href="#text-5"></use>
+                            <use xlink:href="#text-5"></use>
+                        </g>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 11 - 4
src/helpers/formateMusic.ts

@@ -1,7 +1,6 @@
 import dayjs from "dayjs";
 import duration from "dayjs/plugin/duration";
 import state, { customData } from "/src/state";
-import { metronomeData as metronomeDataState } from "./metronome"
 import { browser } from "../utils/index";
 import {
 	isSpecialMark,
@@ -774,6 +773,8 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 	let multipleRestMeasures = 0;
 	let staveNoteIndex = 0;
 	let staveIndex = 0;
+	let xmlNoteTime = 0  // xml上面的音符时间
+	let xmlMp3BeatFixTime = 0 // xml上节拍器的时间
 
 	let preNoteEndTime = 0; // 上一个音符的结束时间
 
@@ -983,8 +984,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 					state.fixtime = fixtime;
 				}
 				// 存储mp3节拍器时间
-				metronomeDataState.xmlMp3BeatFixTime = getFixTime(beatSpeed)
-				// 
+				xmlMp3BeatFixTime = getFixTime(beatSpeed)
 				// console.log("fixtime:", fixtime, '速度:', beatSpeed, "state.isSpecialBookCategory:", state.isSpecialBookCategory, 'state.isOpenMetronome:', state.isOpenMetronome);
 			}
 			// console.log(getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator))
@@ -1210,7 +1210,14 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				measureSpeed,  // 小节速度
 				maxNoteNum: note.maxNoteNum, // 当前小节音符最多的分轨的音符数量
 				repeatIdx: iterator.repeatIdx || 0, // 标记是第几遍循环,从0开始
+				xmlNoteTime: retain(xmlNoteTime), // xml上音符开始时间 唱名用
+				xmlNoteEndTime: retain(xmlNoteTime + noteLength), //xml上音符结束时间 唱名用
+				xmlMp3BeatFixTime,  //xml上节拍器的时间
+				notBeatFixtime: state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime, // 不含节拍器的fixtime值 唱名用
+				notBeatTime: state.isEvxml && evNoteStartTime ? retain(evNoteStartTime) : retain(relativeTime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)), // 不含节拍器的 音符开始时间
+				notBeatEndTime: state.isEvxml && evNoteEndTime ? retain(evNoteEndTime) : retain(relaEndtime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)) // 不含节拍器的 音符结束时间
 			};
+			xmlNoteTime += noteLength
 			// 如果是妙极客的曲子,并且第二遍循环播放需要等待时间,并且是第二遍循环的第一个小节的第一个音符
 			// if (state.isEvxml && state.secondEvXmlBeginTime && nodeDetail.i > 0 && nodeDetail.MeasureNumberXML === 1 && nodeDetail.noteId === 0) {
 			// 	nodeDetail.time = nodeDetail.time + state.secondEvXmlBeginTime;
@@ -1256,7 +1263,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 		i++;
 	}
 	// 按照时间轴排序
-	const sortArray = allNotes.sort((a, b) => a.relativeTime - b.relativeTime).map((item, index) => ({ ...item, i: index }));
+	const sortArray = allNotes.sort((a, b) => a.relativeTime - b.relativeTime).map((item, index) => Object.assign(item,{i:index}));
 	// const sortArray = allNotes.sort((a, b) => a.time - b.time).map((item, index) => ({ ...item, i: index }));
 	// const sortArray = allNotes.map((item, index) => ({ ...item, i: index }));
 	console.timeEnd("音符跑完时间");

+ 0 - 1
src/helpers/metronome.ts

@@ -42,7 +42,6 @@ export const metronomeData = reactive({
 	cursorTips: '' as string, // 光标模式提示文字
 	followAudioIndex: 1, // 当前的拍数
 	totalNumerator: 2, // 总拍数
-	xmlMp3BeatFixTime: 0   // 当前xml mp3节拍器的时间 切换演奏和演唱计算时间用
 });
 
 watch(

+ 159 - 65
src/page-instrument/header-top/index.tsx

@@ -1,4 +1,4 @@
-import { Transition, computed, defineComponent, onMounted, onUnmounted, reactive, ref, watch, toRef } from "vue";
+import { Transition, computed, defineComponent, onMounted, onUnmounted, reactive, ref, watch, toRef,ComputedRef } from "vue";
 import styles from "./index.module.less";
 
 import iconBack from "./image/icon-back.png";
@@ -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 } from "/src/state";
+import state, { IPlatform, handleChangeSection, handleResetPlay, handleRessetState, togglePlay, IPlayState } 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";
@@ -89,6 +89,143 @@ export const headData = reactive({
   musicTypeShow: false,
 });
 
+let resetBtn:ComputedRef<{
+  display: boolean;
+  disabled: boolean;
+}>
+/**
+ * 处理模式切换
+ * @param oldPlayType   没改变之前的播放模式
+ * @param oldPlaySource  没改变之前的播放类型
+ * @param isforceReset   是否强制刷新播放状态 模式times时值改变时候也刷新
+ */
+export function handlerModeChange(oldPlayType:"play"|"sing", oldPlaySource:IPlayState,isforceReset?:boolean) {
+    const isModeChange = modeChangeHandleTimes(oldPlayType, oldPlaySource)
+    // 没有切换的时候 不处理下面的
+    if(isModeChange){
+      try {
+        metronomeData.metro.calculation(state.times);
+      } catch (error) {}
+      console.log("重新之后的times", state.times, state.fixtime)
+    }
+    if(isModeChange||isforceReset){
+      // 重置播放状态
+      handleRessetState()
+      // 隐藏重播按钮
+      resetBtn && (resetBtn.value.display = false)
+    }
+}
+// 模式切换之后重新给times赋值
+function modeChangeHandleTimes(oldPlayType:"play"|"sing", oldPlaySource:IPlayState){
+  const playType = state.playType
+  const playSource = state.playSource
+  const {notBeatFixtime, xmlMp3BeatFixTime} = state.times[0]
+  const { isOpenMetronome, isSingOpenMetronome } = state 
+  // 演奏向演唱切
+  if(oldPlayType === "play"&&playType === "sing"){
+    if(playSource === "mingSong"){
+      state.fixtime = 0
+      state.times.map(item => {
+        item.time = item.xmlNoteTime
+        item.endtime = item.xmlNoteEndTime
+        item.fixtime = 0
+      })
+      return true
+    }else{
+      //演奏开了节拍器,演唱没开节拍器
+      if(isOpenMetronome&&!isSingOpenMetronome){
+        state.fixtime = notBeatFixtime
+        state.times.map(item => {
+          item.time = item.notBeatTime
+          item.endtime = item.notBeatEndTime
+          item.fixtime = notBeatFixtime
+        })
+        return true
+      }else if(!isOpenMetronome&&isSingOpenMetronome){
+        state.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+        state.times.map(item => {
+          item.time = item.notBeatTime + xmlMp3BeatFixTime
+          item.endtime = item.notBeatEndTime + xmlMp3BeatFixTime
+          item.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+        })
+        return true
+      }
+    }
+  }else if(oldPlayType === "sing"&&playType === "play"){
+    // 演唱向演奏切
+    if(oldPlaySource === "mingSong"){
+      // 有节拍器
+      if(isOpenMetronome){
+        state.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+        state.times.map(item => {
+          item.time = item.notBeatTime + xmlMp3BeatFixTime
+          item.endtime = item.notBeatEndTime + xmlMp3BeatFixTime
+          item.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+        })
+        return true
+      }else{
+        state.fixtime = notBeatFixtime
+        state.times.map(item => {
+          item.time = item.notBeatTime
+          item.endtime = item.notBeatEndTime
+          item.fixtime = notBeatFixtime
+        })
+        return true
+      }
+    }
+    // 演奏开了节拍器,演唱没开节拍器
+    if(isOpenMetronome&&!isSingOpenMetronome){
+      state.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+      state.times.map(item => {
+        item.time = item.notBeatTime + xmlMp3BeatFixTime
+        item.endtime = item.notBeatEndTime + xmlMp3BeatFixTime
+        item.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+      })
+      return true
+    }else if(!isOpenMetronome&&isSingOpenMetronome){
+      state.fixtime = notBeatFixtime
+      state.times.map(item => {
+        item.time = item.notBeatTime
+        item.endtime = item.notBeatEndTime
+        item.fixtime = notBeatFixtime
+      })
+      return true
+    }
+  }else if(oldPlayType === "sing"&&playType === "sing"){
+    // 演唱之间切换  
+    // 切到唱名时候
+    if(playSource === "mingSong"){
+      state.fixtime = 0
+      state.times.map(item => {
+        item.time = item.xmlNoteTime
+        item.endtime = item.xmlNoteEndTime
+        item.fixtime = 0
+      })
+      return true
+    }else if(oldPlaySource === "mingSong"){
+      // 有节拍器
+      if(isSingOpenMetronome){
+        state.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+        state.times.map(item => {
+          item.time = item.notBeatTime + xmlMp3BeatFixTime
+          item.endtime = item.notBeatEndTime + xmlMp3BeatFixTime
+          item.fixtime = notBeatFixtime + xmlMp3BeatFixTime
+        })
+        return true
+      }else{
+        state.fixtime = notBeatFixtime
+        state.times.map(item => {
+          item.time = item.notBeatTime
+          item.endtime = item.notBeatEndTime
+          item.fixtime = notBeatFixtime
+        })
+        return true
+      }
+    }
+  }
+  return false
+}
+
 export default defineComponent({
   name: "header-top",
   emits: ["close"],
@@ -200,6 +337,11 @@ export default defineComponent({
             // 原声, 伴奏 少一个,就不能切换
             if (state.music && state.accompany) return { display: true, disabled: false };
         } else {
+          // 播放过程中不能切换
+          if (state.playState === "play"){
+            return { display: true, disabled: true };
+          }
+          // 范唱 
           let index = 0
           state.fanSong && index++
           state.banSong && index++
@@ -223,15 +365,17 @@ export default defineComponent({
       // 音频播放中 禁用
       if (state.playState === "play") return { display: true, disabled: true };
       if (!state.isAppPlay) {
-        if(!state.isConcert){
           let index = 0
-          state.fanSong && index++
-          state.banSong && index++
-          state.mingSong && index++
-          if(index > 0) {
+          state.music && index++
+          state.accompany && index++
+          let songIndex = 0
+          state.fanSong && songIndex++
+          state.banSong && songIndex++
+          state.mingSong && songIndex++
+          // 演唱和演奏 都有数据的时间不禁用
+          if(songIndex>0&&index>0) {
             return { display: true, disabled: false };
           }
-        }
       }
       return {
         disabled: true,
@@ -266,7 +410,7 @@ export default defineComponent({
     });
 
     /** 重播按钮 */
-    const resetBtn = computed(() => {
+    resetBtn = computed(() => {
       // 选择模式 不显示
       if (headTopData.modeType !== "show") return { display: false, disabled: false };
       // 评测模式 不显示,跟练模式 不显示
@@ -428,61 +572,6 @@ export default defineComponent({
         console.log(e);
       }
     };
-
-    // 切换 演唱和演奏模式的时候处理
-    function handlerRefreshPlayType() {
-      // 妙极客的 曲子 时间是不变的,所以不做处理
-      if( !state.isEvxml ) {
-        // 重新计算state.times
-        const { isOpenMetronome, isSingOpenMetronome } = state
-        const { xmlMp3BeatFixTime } = metronomeData
-        if(state.playType === "play"){
-          if(isOpenMetronome && !isSingOpenMetronome){
-            state.fixtime = state.fixtime + xmlMp3BeatFixTime
-          } else if(!isOpenMetronome && isSingOpenMetronome){
-            state.fixtime = state.fixtime - xmlMp3BeatFixTime
-          }
-        }else{
-          if(isSingOpenMetronome && !isOpenMetronome){
-            state.fixtime = state.fixtime + xmlMp3BeatFixTime
-          } else if(!isSingOpenMetronome && isOpenMetronome){
-            state.fixtime = state.fixtime - xmlMp3BeatFixTime
-          }
-        }
-        const fixtime = state.fixtime
-        state.times.map(item => {
-          if(state.playType === "play"){
-            if(isOpenMetronome && !isSingOpenMetronome){
-              item.time = item.time + xmlMp3BeatFixTime
-              item.endtime = item.endtime + xmlMp3BeatFixTime
-              item.fixtime = fixtime
-            } else if(!isOpenMetronome && isSingOpenMetronome){
-              item.time = item.time - xmlMp3BeatFixTime
-              item.endtime = item.endtime - xmlMp3BeatFixTime
-              item.fixtime = fixtime
-            }
-          }else{
-            if(isSingOpenMetronome && !isOpenMetronome){
-              item.time = item.time + xmlMp3BeatFixTime
-              item.endtime = item.endtime + xmlMp3BeatFixTime
-              item.fixtime = fixtime
-            } else if(!isSingOpenMetronome && isOpenMetronome){
-              item.time = item.time - xmlMp3BeatFixTime
-              item.endtime = item.endtime - xmlMp3BeatFixTime
-              item.fixtime = fixtime
-            }
-          }
-        })
-        try {
-          metronomeData.metro.calculation(state.times);
-        } catch (error) {}
-        console.log("重新之后的times", state.times, fixtime)
-      }
-      // 重置播放状态
-      handleRessetState()
-      // 隐藏重播按钮
-      resetBtn.value.display = false
-    }
     return () => (
       <>
         <div
@@ -572,6 +661,8 @@ export default defineComponent({
               style={{ display: playTypeBtn.value.display ? "" : "none" }}
               class={[styles.btn, playTypeBtn.value.disabled && styles.disabled]}
               onClick={() => {
+                const oldPlayType = state.playType
+                const oldPlaySource = state.playSource
                 if(state.playType === "play"){
                   state.playType = "sing"
                   state.playSource = state.fanSong?"music":state.banSong?"background":"mingSong"
@@ -579,7 +670,7 @@ export default defineComponent({
                   state.playType = "play"
                   state.playSource = state.music?"music":"background"
                 }
-                handlerRefreshPlayType()
+                handlerModeChange(oldPlayType, oldPlaySource, true)
               }}
             >
               <img style={{ display: state.playType === "play" ? "" : "none" }} class={styles.iconBtn} src={headImg(`perform.png`)} />
@@ -591,6 +682,8 @@ export default defineComponent({
               style={{ display: originBtn.value.display ? "" : "none" }}
               class={[styles.btn, originBtn.value.disabled && styles.disabled]}
               onClick={() => {
+                const oldPlayType = state.playType
+                const oldPlaySource = state.playSource
                 if(state.playType === 'play'){
                   state.playSource = state.playSource === "music" ? "background" : "music";
                 }else{
@@ -602,6 +695,7 @@ export default defineComponent({
                     state.playSource = state.fanSong ? "music" :"background"
                   }
                 }
+                handlerModeChange(oldPlayType, oldPlaySource)
               }}
             >
               <img style={{ display: state.playSource === "music" ? "" : "none" }} class={styles.iconBtn} src={state.playType === 'play'?headImg(`music.png`):headImg(`music1.png`)} />

BIN
src/page-instrument/view-detail/emptyMusic/imgs/empty.png


+ 41 - 0
src/page-instrument/view-detail/emptyMusic/index.module.less

@@ -0,0 +1,41 @@
+.emptyMusic {
+    position: fixed;
+    z-index: 9999;
+    width: 100vw;
+    height: 100vh;
+    top: 0;
+    left: 0;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    background-color: #fff;
+    .emptyMusicBox{
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        .img{
+            width: 202px;
+            height: 179px;
+        }
+        .tit{
+            margin-top: 6px;
+            font-weight: 400;
+            font-size: 16px;
+            color: #999999;
+            line-height: 22px;
+        }
+        .backBtn{
+            margin-top: 16px;
+            width: 100px;
+            height: 36px;
+            border-radius: 18px;
+            border: 1px solid #1CACF1;
+            font-weight: 400;
+            font-size: 16px;
+            color: #1CACF1;
+            line-height: 36px;
+            text-align: center;
+            cursor: pointer;
+        }
+    }
+}

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä