Selaa lähdekoodia

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

黄琪勇 1 vuosi sitten
vanhempi
commit
fb47b619ef
100 muutettua tiedostoa jossa 546 lisäystä ja 112 poistoa
  1. 1 1
      .gitignore
  2. 1 1
      colexiu-report.html
  3. 17 0
      dist/colexiu.html
  4. 0 0
      dist/css/index-1bf4efa4.css
  5. 0 0
      dist/css/index-3989851b.css
  6. 0 0
      dist/css/index-7bc8d50f.css
  7. 0 0
      dist/css/instrument-d78850b6.css
  8. 20 13
      dist/flexible.js
  9. 21 3
      dist/index.html
  10. 19 0
      dist/instrument.html
  11. 0 0
      dist/js/colexiu-852bf948.js
  12. 0 0
      dist/js/colexiu-legacy-7b382d9f.js
  13. 0 0
      dist/js/gym-b9cd6dfb.js
  14. 0 0
      dist/js/gym-legacy-d01e3f3a.js
  15. 5 0
      dist/js/index-0f12126a.js
  16. 4 0
      dist/js/index-30ee8e78.js
  17. 1 0
      dist/js/index-35556f1e.js
  18. 1 0
      dist/js/index-492584ec.js
  19. 1 0
      dist/js/index-53639a03.js
  20. 0 0
      dist/js/index-64ed09c7.js
  21. 5 0
      dist/js/index-6e1cda05.js
  22. 0 0
      dist/js/index-726208cc.js
  23. 0 0
      dist/js/index-8efefd28.js
  24. 4 0
      dist/js/index-a06fddfa.js
  25. 0 0
      dist/js/index-a6bdcc2d.js
  26. 1 0
      dist/js/index-d9d08454.js
  27. 1 0
      dist/js/index-dddff9f0.js
  28. 1 0
      dist/js/index-f69254ce.js
  29. 4 0
      dist/js/index-legacy-238ca81b.js
  30. 1 0
      dist/js/index-legacy-31141db0.js
  31. 0 0
      dist/js/index-legacy-3c467273.js
  32. 1 0
      dist/js/index-legacy-4c4df7d0.js
  33. 5 0
      dist/js/index-legacy-58e11036.js
  34. 5 0
      dist/js/index-legacy-62c1f845.js
  35. 0 0
      dist/js/index-legacy-6e0674c9.js
  36. 0 0
      dist/js/index-legacy-8e868566.js
  37. 1 0
      dist/js/index-legacy-93e42d99.js
  38. 4 0
      dist/js/index-legacy-9b61fbf8.js
  39. 1 0
      dist/js/index-legacy-9d6a0ee8.js
  40. 1 0
      dist/js/index-legacy-c44c114f.js
  41. 0 0
      dist/js/index-legacy-cb634c92.js
  42. 1 0
      dist/js/index-legacy-fea74b91.js
  43. 0 0
      dist/js/instrument-b8fe6d59.js
  44. 0 0
      dist/js/instrument-legacy-ecdaefc3.js
  45. 0 0
      dist/js/orchestra-510ca9a9.js
  46. 0 0
      dist/js/orchestra-legacy-5f41c20f.js
  47. 0 0
      dist/js/polyfills-fbd9978d.js
  48. 0 0
      dist/js/polyfills-legacy-08e53fef.js
  49. 0 0
      dist/js/report-share-456da976.js
  50. 0 0
      dist/js/report-share-legacy-8df350f4.js
  51. 22 1
      dist/orchestra.html
  52. BIN
      dist/png/icon_bg-d91f5fbc.png
  53. BIN
      dist/png/icon_bg-e6ef420c.png
  54. BIN
      dist/png/icon_btn-de8d6ef6.png
  55. BIN
      dist/png/icon_title-f0bb26d9.png
  56. 16 2
      dist/report-share.html
  57. 1 1
      dist/share-evaluating/index.html
  58. 2 2
      dist/share/index.html
  59. 9 0
      dist/svg/arrow-7d6e3644.svg
  60. 1 1
      dist/svg/arrow-cbc9a29d.svg
  61. 1 1
      dist/svg/icon-back-43abdf63.svg
  62. 11 0
      dist/svg/icon-back-563c3fba.svg
  63. 14 0
      dist/svg/menu-723ccc52.svg
  64. 1 1
      dist/svg/menu-b7c1cb2e.svg
  65. 15 0
      dist/svg/replay-9ef9ebdc.svg
  66. 1 1
      dist/svg/replay-f79663b9.svg
  67. 1 1
      dist/svg/section0-1b1c8a51.svg
  68. 15 0
      dist/svg/section0-5300cf59.svg
  69. 1 1
      dist/svg/section1-1c5fabae.svg
  70. 15 0
      dist/svg/section1-f78a380c.svg
  71. 1 1
      dist/svg/section2-8c1bc3c2.svg
  72. 15 0
      dist/svg/section2-a2aa842d.svg
  73. 21 0
      dist/svg/speed-2dd1dda0.svg
  74. 1 1
      dist/svg/speed-aee941d5.svg
  75. 1 1
      index.html
  76. 1 1
      orchestra.html
  77. 1 1
      osmd-extended
  78. 20 13
      public/flexible.js
  79. 1 1
      public/share-evaluating/index.html
  80. 2 2
      public/share/index.html
  81. 1 1
      report-share.html
  82. 1 1
      src/helpers/communication.ts
  83. 20 28
      src/helpers/customMusicScore.ts
  84. 191 13
      src/helpers/formateMusic.ts
  85. 1 1
      src/page-colexiu/header-top/image/arrow.svg
  86. 1 1
      src/page-gym/evaluat-model/evaluat-share/index.tsx
  87. 1 1
      src/page-gym/evaluat-model/icons/arrow-left-background.svg
  88. 1 1
      src/page-gym/header-top/image/arrow.svg
  89. 1 1
      src/page-gym/header-top/image/icon-back.svg
  90. 1 1
      src/page-gym/header-top/image/menu.svg
  91. 1 1
      src/page-gym/header-top/image/replay.svg
  92. 1 1
      src/page-gym/header-top/image/section0.svg
  93. 1 1
      src/page-gym/header-top/image/section1.svg
  94. 1 1
      src/page-gym/header-top/image/section2.svg
  95. 1 1
      src/page-gym/header-top/image/speed.svg
  96. 1 1
      src/page-gym/musci-list/index.tsx
  97. 1 1
      src/page-gym/musci-list/vipModel/index.tsx
  98. 1 1
      src/page-instrument/App.tsx
  99. 2 4
      src/page-instrument/component/mode-type-mode/index.tsx
  100. BIN
      src/page-instrument/component/the-music-list/icon-music-vip.png

+ 1 - 1
.gitignore

@@ -21,4 +21,4 @@ dist-ssr
 *.ntvs*
 *.ntvs*
 *.njsproj
 *.njsproj
 *.sln
 *.sln
-*.sw?
+*.sw?

+ 1 - 1
colexiu-report.html

@@ -6,7 +6,7 @@
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <meta name="viewport"
   <meta name="viewport"
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
-  <title>管乐团云练</title>
+  <title>管乐团云练</title>
   <!-- <link rel="icon" href="/favicon.ico" /> -->
   <!-- <link rel="icon" href="/favicon.ico" /> -->
   <script src="/flexible.js" charset="UTF-8"></script>
   <script src="/flexible.js" charset="UTF-8"></script>
   <script src="/helpers/lottie.min.js" charset="UTF-8"></script>
   <script src="/helpers/lottie.min.js" charset="UTF-8"></script>

+ 17 - 0
dist/colexiu.html

@@ -2,7 +2,11 @@
 <html lang="en">
 <html lang="en">
 
 
 <head>
 <head>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
+=======
+  <script type="module" crossorigin src="./js/polyfills-fbd9978d.js"></script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 
 
   <meta charset="UTF-8" />
   <meta charset="UTF-8" />
   <link rel="icon" type="image/svg+xml" href="./vite.svg" />
   <link rel="icon" type="image/svg+xml" href="./vite.svg" />
@@ -40,12 +44,20 @@
       },
       },
     })
     })
   </script>
   </script>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/colexiu-b28cd233.js"></script>
   <script type="module" crossorigin src="./js/colexiu-b28cd233.js"></script>
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
   <link rel="modulepreload" crossorigin href="./js/index-b0f5ca81.js">
   <link rel="modulepreload" crossorigin href="./js/index-b0f5ca81.js">
   <link rel="modulepreload" crossorigin href="./js/index-a06fddfa.js">
   <link rel="modulepreload" crossorigin href="./js/index-a06fddfa.js">
   <link rel="stylesheet" href="./css/index-14f2d759.css">
   <link rel="stylesheet" href="./css/index-14f2d759.css">
+=======
+  <script type="module" crossorigin src="./js/colexiu-852bf948.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-726208cc.js">
+  <link rel="modulepreload" crossorigin href="./js/index-0f12126a.js">
+  <link rel="modulepreload" crossorigin href="./js/index-a6bdcc2d.js">
+  <link rel="stylesheet" href="./css/index-3989851b.css">
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
   <link rel="stylesheet" href="./css/index-d42b0794.css">
   <link rel="stylesheet" href="./css/index-d42b0794.css">
   <link rel="stylesheet" href="./css/colexiu-e8b419b5.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">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
@@ -57,8 +69,13 @@
   <img id="loading" class="show" src="./loading.svg" alt="loading" />
   <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>!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-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/colexiu-legacy-3c56a5cc.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/colexiu-legacy-3c56a5cc.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-08e53fef.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/colexiu-legacy-7b382d9f.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 </body>
 </body>
 
 
 </html>
 </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-3989851b.css


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


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


+ 20 - 13
dist/flexible.js

@@ -1,18 +1,25 @@
 ! function (a, b) {
 ! function (a, b) {
   function c() {
   function c() {
-    var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
-    var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
-    var b = width > height ? height : width;
-    b / i > 640 && (b = 640 * i);
-    b / i < 375 && (b = 375 * i);
-    var c = b / 10;
-    // 老师端,fontsize计算
-    // if (window.location.search.includes('platform=pc') || window.location.search.includes('platform=PC')) {
-    //   c = width / 21.7;
-    // }
-    // console.log('fontSize:',c,'屏幕宽度:',width,'老师端:',window.location.search.includes('platform=pc'))
-    f.style.fontSize = c + "px", k.rem = a.rem = c
-    window.fontSize = c
+    try {
+      var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
+      var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
+      var b = width > height ? height : width;
+      b / i > 640 && (b = 640 * i);
+      b / i < 375 && (b = 375 * i);
+      var c = b / 10;
+      // 老师端,fontsize计算
+      // if (window.location.search.includes('platform=pc') || window.location.search.includes('platform=PC')) {
+      //   c = width / 21.7;
+      // }
+      // console.log('fontSize:',c,'屏幕宽度:',width,'老师端:',window.location.search.includes('platform=pc'))
+      c = c || 64;
+      f.style.fontSize = c + "px", k.rem = a.rem = c
+      window.fontSize = c
+    } catch (error) {
+      f.style.fontSize = 64 + "px"
+      window.fontSize = 64
+    }
+
   }
   }
   var d, e = a.document,
   var d, e = a.document,
     f = e.documentElement,
     f = e.documentElement,

+ 21 - 3
dist/index.html

@@ -2,14 +2,18 @@
 <html lang="ZH-cn">
 <html lang="ZH-cn">
 
 
 <head>
 <head>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
+=======
+  <script type="module" crossorigin src="./js/polyfills-fbd9978d.js"></script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 
 
   <meta charset="UTF-8">
   <meta charset="UTF-8">
   <link rel="icon" href="./favicon.ico" />
   <link rel="icon" href="./favicon.ico" />
   <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
   <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
   <meta http-equiv="Cache-control" content="no-cache">
   <meta http-equiv="Cache-control" content="no-cache">
   <meta http-equiv="Cache" content="no-cache">
   <meta http-equiv="Cache" content="no-cache">
-  <title>云练</title>
+  <title>云练</title>
   <script src="./flexible.js" charset="UTF-8"></script>
   <script src="./flexible.js" charset="UTF-8"></script>
   <style>
   <style>
     #loading {
     #loading {
@@ -75,16 +79,25 @@
       }
       }
     })
     })
   </script>
   </script>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/gym-d97514c8.js"></script>
   <script type="module" crossorigin src="./js/gym-d97514c8.js"></script>
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
   <link rel="modulepreload" crossorigin href="./js/instruments-d6b48a9f.js">
   <link rel="modulepreload" crossorigin href="./js/instruments-d6b48a9f.js">
   <link rel="modulepreload" crossorigin href="./js/index-f69254ce.js">
   <link rel="modulepreload" crossorigin href="./js/index-f69254ce.js">
   <link rel="modulepreload" crossorigin href="./js/index-a06fddfa.js">
   <link rel="modulepreload" crossorigin href="./js/index-a06fddfa.js">
+=======
+  <script type="module" crossorigin src="./js/gym-b9cd6dfb.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-726208cc.js">
+  <link rel="modulepreload" crossorigin href="./js/index-64ed09c7.js">
+  <link rel="modulepreload" crossorigin href="./js/index-dddff9f0.js">
+  <link rel="modulepreload" crossorigin href="./js/index-0f12126a.js">
+  <link rel="modulepreload" crossorigin href="./js/index-a6bdcc2d.js">
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
   <link rel="modulepreload" crossorigin href="./js/plyr.min-c8c2777b.js">
   <link rel="modulepreload" crossorigin href="./js/plyr.min-c8c2777b.js">
-  <link rel="stylesheet" href="./css/index-14f2d759.css">
-  <link rel="stylesheet" href="./css/index-d42b0794.css">
+  <link rel="stylesheet" href="./css/index-3989851b.css">
   <link rel="stylesheet" href="./css/index-85f95688.css">
   <link rel="stylesheet" href="./css/index-85f95688.css">
+  <link rel="stylesheet" href="./css/index-d42b0794.css">
   <link rel="stylesheet" href="./css/plyr-ad8ef5ae.css">
   <link rel="stylesheet" href="./css/plyr-ad8ef5ae.css">
   <link rel="stylesheet" href="./css/index-171cd132.css">
   <link rel="stylesheet" href="./css/index-171cd132.css">
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
@@ -100,8 +113,13 @@
   <img id="loading" class="show" src="./loading.svg" alt="loading" />
   <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>!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-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/gym-legacy-0d3531bc.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/gym-legacy-0d3531bc.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-08e53fef.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/gym-legacy-d01e3f3a.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 </body>
 </body>
 
 
 </html>
 </html>

+ 19 - 0
dist/instrument.html

@@ -2,7 +2,11 @@
 <html lang="en">
 <html lang="en">
 
 
 <head>
 <head>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
+=======
+  <script type="module" crossorigin src="./js/polyfills-fbd9978d.js"></script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 
 
   <meta charset="UTF-8" />
   <meta charset="UTF-8" />
   <meta name="viewport"
   <meta name="viewport"
@@ -40,6 +44,7 @@
       })
       })
     }
     }
   </script>
   </script>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/instrument-51edfdaa.js"></script>
   <script type="module" crossorigin src="./js/instrument-51edfdaa.js"></script>
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
@@ -49,6 +54,15 @@
   <link rel="stylesheet" href="./css/index-14f2d759.css">
   <link rel="stylesheet" href="./css/index-14f2d759.css">
   <link rel="stylesheet" href="./css/index-d42b0794.css">
   <link rel="stylesheet" href="./css/index-d42b0794.css">
   <link rel="stylesheet" href="./css/instrument-714104d2.css">
   <link rel="stylesheet" href="./css/instrument-714104d2.css">
+=======
+  <script type="module" crossorigin src="./js/instrument-b8fe6d59.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-726208cc.js">
+  <link rel="modulepreload" crossorigin href="./js/index-a6bdcc2d.js">
+  <link rel="modulepreload" crossorigin href="./js/index-64ed09c7.js">
+  <link rel="stylesheet" href="./css/index-3989851b.css">
+  <link rel="stylesheet" href="./css/index-d42b0794.css">
+  <link rel="stylesheet" href="./css/instrument-d78850b6.css">
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
   <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>
   <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>
 </head>
@@ -66,8 +80,13 @@
 
 
   
   
   <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>!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-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/instrument-legacy-5bca1270.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/instrument-legacy-5bca1270.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-08e53fef.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/instrument-legacy-ecdaefc3.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 </body>
 </body>
 
 
 </html>
 </html>

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


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


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


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


+ 5 - 0
dist/js/index-0f12126a.js

@@ -0,0 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-a06fddfa.js
+import{d,l as i,n as p,m as e,w as o,f as r,L as a}from"./index-96115b52.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};
+========
+import{d,l as i,n as p,m as e,w as o,f as r,U as a}from"./index-726208cc.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};
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-0f12126a.js

+ 4 - 0
dist/js/index-30ee8e78.js

@@ -1 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-30ee8e78.js
 import{d as i,g as l,n as d,cW as e,c,m as r,f as s,ai as u}from"./index-96115b52.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=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,cW as e,c,m as r,f as s,ai as u}from"./index-96115b52.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=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,cb as e,c,m as r,f as s,av as u}from"./index-726208cc.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=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};
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-6e1cda05.js

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


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


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


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


+ 5 - 0
dist/js/index-6e1cda05.js

@@ -0,0 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-30ee8e78.js
+import{d as i,g as l,n as d,cW as e,c,m as r,f as s,ai as u}from"./index-96115b52.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=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,cb as e,c,m as r,f as s,av as u}from"./index-726208cc.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=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};
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-6e1cda05.js

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


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


+ 4 - 0
dist/js/index-a06fddfa.js

@@ -1 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-a06fddfa.js
 import{d,l as i,n as p,m as e,w as o,f as r,L as a}from"./index-96115b52.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};
 import{d,l as i,n as p,m as e,w as o,f as r,L as a}from"./index-96115b52.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};
+========
+import{d,l as i,n as p,m as e,w as o,f as r,U as a}from"./index-726208cc.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};
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-0f12126a.js

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


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


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


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


+ 4 - 0
dist/js/index-legacy-238ca81b.js

@@ -1 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-legacy-238ca81b.js
 System.register(["./index-legacy-72ced1ac.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.cW,r=e.c,s=e.m,d=e.f,l=e.ai}],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-72ced1ac.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.cW,r=e.c,s=e.m,d=e.f,l=e.ai}],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-3c467273.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.f,l=e.av}],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)])])}}))}}}));
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-legacy-62c1f845.js

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


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


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


+ 5 - 0
dist/js/index-legacy-58e11036.js

@@ -0,0 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-legacy-9b61fbf8.js
+System.register(["./index-legacy-72ced1ac.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.L}],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)}}))}}}));
+========
+System.register(["./index-legacy-3c467273.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.U}],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)}}))}}}));
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-legacy-58e11036.js

+ 5 - 0
dist/js/index-legacy-62c1f845.js

@@ -0,0 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-legacy-238ca81b.js
+System.register(["./index-legacy-72ced1ac.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.cW,r=e.c,s=e.m,d=e.f,l=e.ai}],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-3c467273.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.f,l=e.av}],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)])])}}))}}}));
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-legacy-62c1f845.js

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


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


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


+ 4 - 0
dist/js/index-legacy-9b61fbf8.js

@@ -1 +1,5 @@
+<<<<<<<< HEAD:dist/js/index-legacy-9b61fbf8.js
 System.register(["./index-legacy-72ced1ac.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.L}],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)}}))}}}));
 System.register(["./index-legacy-72ced1ac.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.L}],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)}}))}}}));
+========
+System.register(["./index-legacy-3c467273.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.U}],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)}}))}}}));
+>>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f:dist/js/index-legacy-58e11036.js

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


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


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


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


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


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


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


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


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


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


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


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


+ 22 - 1
dist/orchestra.html

@@ -2,13 +2,17 @@
 <html lang="en">
 <html lang="en">
 
 
 <head>
 <head>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
+=======
+  <script type="module" crossorigin src="./js/polyfills-fbd9978d.js"></script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 
 
   <meta charset="UTF-8" />
   <meta charset="UTF-8" />
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <meta name="viewport"
   <meta name="viewport"
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
-  <title>管乐团云练</title>
+  <title>管乐团云练</title>
   <script>
   <script>
     function _postMessage(data, callback) {
     function _postMessage(data, callback) {
       const instance = window.ORCHESTRA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ORCHESTRA)
       const instance = window.ORCHESTRA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ORCHESTRA)
@@ -41,6 +45,7 @@
       transition: opacity .3s;
       transition: opacity .3s;
     }
     }
   </style>
   </style>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/orchestra-2f4cb249.js"></script>
   <script type="module" crossorigin src="./js/orchestra-2f4cb249.js"></script>
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
   <link rel="modulepreload" crossorigin href="./js/index-d406f14a.js">
@@ -52,6 +57,17 @@
   <link rel="stylesheet" href="./css/index-d42b0794.css">
   <link rel="stylesheet" href="./css/index-d42b0794.css">
   <link rel="stylesheet" href="./css/index-85f95688.css">
   <link rel="stylesheet" href="./css/index-85f95688.css">
   <link rel="stylesheet" href="./css/orchestra-8e05e751.css">
   <link rel="stylesheet" href="./css/orchestra-8e05e751.css">
+=======
+  <script type="module" crossorigin src="./js/orchestra-510ca9a9.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-726208cc.js">
+  <link rel="modulepreload" crossorigin href="./js/index-dddff9f0.js">
+  <link rel="modulepreload" crossorigin href="./js/index-0f12126a.js">
+  <link rel="modulepreload" crossorigin href="./js/index-a6bdcc2d.js">
+  <link rel="stylesheet" href="./css/index-3989851b.css">
+  <link rel="stylesheet" href="./css/index-85f95688.css">
+  <link rel="stylesheet" href="./css/index-d42b0794.css">
+  <link rel="stylesheet" href="./css/orchestra-8bc1a9c0.css">
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
   <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>
   <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>
 </head>
@@ -72,8 +88,13 @@
   </script>
   </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>!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-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/orchestra-legacy-c47d377c.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/orchestra-legacy-c47d377c.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-08e53fef.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/orchestra-legacy-5f41c20f.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 </body>
 </body>
 
 
 </html>
 </html>

BIN
dist/png/icon_bg-d91f5fbc.png


BIN
dist/png/icon_bg-e6ef420c.png


BIN
dist/png/icon_btn-de8d6ef6.png


BIN
dist/png/icon_title-f0bb26d9.png


+ 16 - 2
dist/report-share.html

@@ -2,13 +2,17 @@
 <html lang="en">
 <html lang="en">
 
 
 <head>
 <head>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
   <script type="module" crossorigin src="./js/polyfills-29ec9656.js"></script>
+=======
+  <script type="module" crossorigin src="./js/polyfills-fbd9978d.js"></script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 
 
   <meta charset="UTF-8" />
   <meta charset="UTF-8" />
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <meta name="viewport"
   <meta name="viewport"
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
-  <title>管乐团云练</title>
+  <title>管乐团云练</title>
   <!-- <link rel="icon" href="/favicon.ico" /> -->
   <!-- <link rel="icon" href="/favicon.ico" /> -->
   <script src="./flexible.js" charset="UTF-8"></script>
   <script src="./flexible.js" charset="UTF-8"></script>
   <script src="./helpers/lottie.min.js" charset="UTF-8"></script>
   <script src="./helpers/lottie.min.js" charset="UTF-8"></script>
@@ -25,10 +29,15 @@
       transition: opacity .3s;
       transition: opacity .3s;
     }
     }
   </style>
   </style>
+<<<<<<< HEAD
   <script type="module" crossorigin src="./js/report-share-e6087046.js"></script>
   <script type="module" crossorigin src="./js/report-share-e6087046.js"></script>
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
   <link rel="modulepreload" crossorigin href="./js/index-96115b52.js">
+=======
+  <script type="module" crossorigin src="./js/report-share-456da976.js"></script>
+  <link rel="modulepreload" crossorigin href="./js/index-726208cc.js">
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
   <link rel="modulepreload" crossorigin href="./js/plyr.min-c8c2777b.js">
   <link rel="modulepreload" crossorigin href="./js/plyr.min-c8c2777b.js">
-  <link rel="stylesheet" href="./css/index-14f2d759.css">
+  <link rel="stylesheet" href="./css/index-3989851b.css">
   <link rel="stylesheet" href="./css/plyr-ad8ef5ae.css">
   <link rel="stylesheet" href="./css/plyr-ad8ef5ae.css">
   <link rel="stylesheet" href="./css/report-share-0f4c3151.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>
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};window.__vite_is_modern_browser=true;</script>
@@ -51,8 +60,13 @@
   </script>
   </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>!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-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-edfca47b.js"></script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/report-share-legacy-8f2b3d59.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
   <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/report-share-legacy-8f2b3d59.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+  <script nomodule crossorigin id="vite-legacy-polyfill" src="./js/polyfills-legacy-08e53fef.js"></script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./js/report-share-legacy-8df350f4.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> 6d672674547cca196d2c17ee4a07a2f0195fd84f
 </body>
 </body>
 
 
 </html>
 </html>

+ 1 - 1
dist/share-evaluating/index.html

@@ -60,7 +60,7 @@
       <div class="app-info">
       <div class="app-info">
         <div class="app-title">管乐迷</div>
         <div class="app-title">管乐迷</div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
-        <div class="app-subtitle">云练见证你的成长!</div>
+        <div class="app-subtitle">云练见证你的成长!</div>
       </div>
       </div>
       <img src="./icons/qrcode.png"/>
       <img src="./icons/qrcode.png"/>
     </div>
     </div>

+ 2 - 2
dist/share/index.html

@@ -30,7 +30,7 @@
       </div>
       </div>
     </div>
     </div>
     <p class="desc">
     <p class="desc">
-      管乐迷使用云练可太好用了!演奏越来越好了,我的演奏快来看看吧!
+      管乐迷使用云练可太好用了!演奏越来越好了,我的演奏快来看看吧!
     </p>
     </p>
     <div class="video-container">
     <div class="video-container">
       <video
       <video
@@ -48,7 +48,7 @@
       <div class="app-info">
       <div class="app-info">
         <div class="app-title">管乐迷</div>
         <div class="app-title">管乐迷</div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
-        <div class="app-subtitle">云练见证你的成长!</div>
+        <div class="app-subtitle">云练见证你的成长!</div>
       </div>
       </div>
       <img src="./icons/qrcode.png"/>
       <img src="./icons/qrcode.png"/>
     </div>
     </div>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 9 - 0
dist/svg/arrow-7d6e3644.svg


+ 1 - 1
dist/svg/arrow-cbc9a29d.svg

@@ -3,7 +3,7 @@
     <!-- Generator: Sketch 62 (91390) - https://sketch.com -->
     <!-- Generator: Sketch 62 (91390) - https://sketch.com -->
     <title>编组</title>
     <title>编组</title>
     <desc>Created with Sketch.</desc>
     <desc>Created with Sketch.</desc>
-    <g id="云练" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板备份" transform="translate(-212.000000, -29.000000)" fill="#01C1B5" fill-rule="nonzero">
         <g id="画板备份" transform="translate(-212.000000, -29.000000)" fill="#01C1B5" fill-rule="nonzero">
             <g id="编组-4" transform="translate(51.000000, 17.000000)">
             <g id="编组-4" transform="translate(51.000000, 17.000000)">
                 <g id="编组" transform="translate(165.333333, 18.000000) rotate(-360.000000) translate(-165.333333, -18.000000) translate(161.000000, 12.000000)">
                 <g id="编组" transform="translate(165.333333, 18.000000) rotate(-360.000000) translate(-165.333333, -18.000000) translate(161.000000, 12.000000)">

+ 1 - 1
dist/svg/icon-back-43abdf63.svg

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-27.000000, -123.000000)">
         <g id="画板" transform="translate(-27.000000, -123.000000)">
             <g id="返回箭头备份" transform="translate(43.000000, 139.000000) scale(-1, 1) translate(-43.000000, -139.000000) translate(27.000000, 123.000000)">
             <g id="返回箭头备份" transform="translate(43.000000, 139.000000) scale(-1, 1) translate(-43.000000, -139.000000) translate(27.000000, 123.000000)">
                 <circle id="椭圆形" fill="#FFFFFF" cx="16" cy="16" r="16"></circle>
                 <circle id="椭圆形" fill="#FFFFFF" cx="16" cy="16" r="16"></circle>

+ 11 - 0
dist/svg/icon-back-563c3fba.svg

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <g id="云练习2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="画板" transform="translate(-27.000000, -123.000000)">
+            <g id="返回箭头备份" transform="translate(43.000000, 139.000000) scale(-1, 1) translate(-43.000000, -139.000000) translate(27.000000, 123.000000)">
+                <circle id="椭圆形" fill="#FFFFFF" cx="16" cy="16" r="16"></circle>
+                <path d="M17.3783645,23.2991468 L23.9125501,16.7649612 C24.157653,16.5199302 24.2953565,16.1875536 24.2953565,15.8409766 C24.2953565,15.4943995 24.157653,15.162023 23.9125501,14.916992 L17.3783645,8.38280634 C17.1333334,8.13770343 16.8009569,8 16.4543799,8 C16.1078028,8 15.7754263,8.13770343 15.5303953,8.38280634 C15.0201983,8.89302883 15.0201983,9.72023586 15.5303953,10.2304583 L19.8337592,14.5344566 L7.30683717,14.5344566 C6.96021662,14.5343725 6.62776858,14.6720297 6.38267084,14.9171274 C6.13757309,15.1622252 6,15.4946732 6,15.8412938 C6,16.1879143 6.13757308,16.5203624 6.38267083,16.7654601 C6.62776858,17.0105579 6.96021662,17.1482151 7.30683717,17.1481309 L19.8337592,17.1481309 L15.5303953,21.4514948 C15.2002874,21.7816027 15.0713656,22.2627455 15.1921934,22.7136812 C15.3130213,23.164617 15.6652423,23.516838 16.116178,23.6376658 C16.5671138,23.7584937 17.0482566,23.6295719 17.3783645,23.299464 L17.3783645,23.2991468 Z" id="路径" fill="#2DC7AA" fill-rule="nonzero"></path>
+            </g>
+        </g>
+    </g>
+</svg>

+ 14 - 0
dist/svg/menu-723ccc52.svg

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 5备份 4</title>
+    <g id="云练习2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="画板" transform="translate(-587.000000, -55.000000)">
+            <g id="编组-5备份-4" transform="translate(589.000000, 57.000000)">
+                <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
+                <g id="编组" transform="translate(5.000000, 6.000000)" fill="#01C1B5" fill-rule="nonzero">
+                    <path d="M13.4777127,0.0182290708 C14.4044052,0.0179861139 15.2701896,0.47987939 15.786046,1.24971788 L15.8832682,1.40711806 L19.4443793,7.57378472 C19.9055877,8.37249457 19.9402825,9.34803984 19.5369792,10.1774957 L19.4443793,10.3515625 L15.8832682,16.5182291 C15.4201933,17.3208032 14.5874276,17.8396355 13.6629123,17.9015625 L13.4777127,17.9071182 L6.35735677,17.9071182 C5.43066421,17.9073611 4.56487987,17.4454678 4.04902344,16.6756293 L3.95180122,16.5182291 L0.389756944,10.3515625 C-0.0714513871,9.55285265 -0.106146222,8.57730739 0.297157118,7.74785156 L0.389756944,7.57378472 L3.95086806,1.40711806 C4.41394723,0.604537909 5.24672247,0.085704652 6.17124566,0.0237847222 L6.35642361,0.0182290708 L13.4768012,0.0182290708 L13.4777127,0.0182290708 Z M13.4777127,1.87007376 L6.35735677,1.87007376 C6.06542361,1.87007376 5.79055442,2.00761662 5.6156901,2.24138455 L5.55549045,2.33305122 L1.99437934,8.49971788 C1.85122226,8.74833447 1.83139307,9.04926681 1.9406901,9.31451823 L1.99437934,9.42562934 L5.55549045,15.592296 C5.70147524,15.8451441 5.95816545,16.0143272 6.24809028,16.0487847 L6.35735677,16.0552735 L13.4777127,16.0552735 C13.7696458,16.0552735 14.044515,15.9177306 14.2193793,15.6839627 L14.279579,15.592296 L17.8406901,9.42562934 C17.9838472,9.17701275 18.0036764,8.87608041 17.8943793,8.61082899 L17.8406901,8.49971788 L14.279579,2.33305122 C14.1335942,2.0802031 13.876904,1.91102001 13.5869792,1.8765625 L13.4777127,1.87007376 L13.4777127,1.87007376 Z M10.1,5.66 C12.0329966,5.66 13.6,7.22700338 13.6,9.16 C13.6,11.0929966 12.0329966,12.66 10.1,12.66 C8.16700338,12.66 6.6,11.0929966 6.6,9.16 C6.6,7.22700338 8.16700338,5.66 10.1,5.66 Z" id="形状"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 1 - 1
dist/svg/menu-b7c1cb2e.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 4</title>
     <title>编组 5备份 4</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-587.000000, -55.000000)">
         <g id="画板" transform="translate(-587.000000, -55.000000)">
             <g id="编组-5备份-4" transform="translate(589.000000, 57.000000)">
             <g id="编组-5备份-4" transform="translate(589.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 15 - 0
dist/svg/replay-9ef9ebdc.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 5备份 4</title>
+    <g id="云练习2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="画板" transform="translate(-499.000000, -55.000000)">
+            <g id="编组-5备份-4" transform="translate(501.000000, 57.000000)">
+                <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
+                <g id="编组" transform="translate(15.000000, 15.500000) scale(-1, 1) translate(-15.000000, -15.500000) translate(4.000000, 5.000000)" fill="#01C1B5" fill-rule="nonzero">
+                    <path d="M21.8359743,5.91618045 C21.4133965,7.0257019 21.0615062,8.16089287 20.7824176,9.31493233 C20.5279569,10.3734135 19.9595125,10.6413835 19.1023816,10.1813684 C19.1023816,10.1813684 16.8062829,8.88915789 15.8866529,8.47231579 C14.8132553,7.98401503 14.9714872,7.47437594 16.3613486,6.9433985 C16.7720572,6.78708271 17.1663969,6.59057144 17.5726412,6.4238346 C16.1878095,3.53041761 13.2777299,1.67769054 10.0712582,1.64801504 C5.30782736,1.72874517 1.51067257,5.65548936 1.58774614,10.4210526 C1.5098371,15.1866217 5.30633371,19.1140403 10.0697701,19.1955789 C12.4640261,19.1829371 14.7366908,18.1386081 16.3062899,16.3297895 C16.5067122,16.1698604 16.7415656,16.0587535 16.9922922,16.0052481 C17.3774369,16.0098332 17.6998373,16.2986565 17.7467459,16.6811278 C17.7563723,16.870475 17.7141837,17.0588621 17.6247238,17.226 C17.5872265,17.2811669 17.5427057,17.331212 17.4922852,17.3748722 C15.6413244,19.5566109 12.9315942,20.8226441 10.0712582,20.8421053 C4.41465343,20.7450836 -0.0930331504,16.0801605 0.0014588411,10.4210526 C0.0139187466,9.29275203 0.205800339,8.17362578 0.569903248,7.10566917 C0.580968335,7.01624856 0.606605274,6.92924621 0.645795047,6.8481203 C2.01644926,2.79485654 5.79595676,0.0492687634 10.0727463,0 C13.931717,0.0337531718 17.4260937,2.28823581 19.048811,5.79112781 C19.5205306,5.58270676 20.0041547,5.40406014 20.4714101,5.18075188 C21.8166293,4.53861654 22.2739642,4.78375939 21.8434147,5.91618045 L21.8359743,5.91618045 Z" id="路径"></path>
+                    <path d="M8.18320392,13.7071392 C7.50450737,14.1305274 6.94736842,13.8126149 6.94736842,13.0014923 L6.94736842,7.84061301 C6.94736842,7.02949037 7.50306026,6.71157784 8.18320392,7.13496603 L12.2264409,9.65152602 C12.5343515,9.77570179 12.7368421,10.0807 12.7368421,10.4203098 C12.7368421,10.7599196 12.5343515,11.0649179 12.2264409,11.1890937 L8.18320392,13.7071392 Z" id="路径" transform="translate(9.842105, 10.421053) scale(-1, 1) translate(-9.842105, -10.421053) "></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 1 - 1
dist/svg/replay-f79663b9.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 4</title>
     <title>编组 5备份 4</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-499.000000, -55.000000)">
         <g id="画板" transform="translate(-499.000000, -55.000000)">
             <g id="编组-5备份-4" transform="translate(501.000000, 57.000000)">
             <g id="编组-5备份-4" transform="translate(501.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
dist/svg/section0-1b1c8a51.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份</title>
     <title>编组 5备份</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-176.000000, -55.000000)">
         <g id="画板" transform="translate(-176.000000, -55.000000)">
             <g id="编组-5备份" transform="translate(178.000000, 57.000000)">
             <g id="编组-5备份" transform="translate(178.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 15 - 0
dist/svg/section0-5300cf59.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 5备份</title>
+    <g id="云练习2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="画板" transform="translate(-176.000000, -55.000000)">
+            <g id="编组-5备份" transform="translate(178.000000, 57.000000)">
+                <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
+                <g id="编组" transform="translate(15.500000, 15.000000) rotate(-90.000000) translate(-15.500000, -15.000000) translate(6.500000, 6.000000)" fill="#01C1B5" fill-rule="nonzero">
+                    <path d="M1.3031071,7.71434066 L5.04076678,7.71434066 L5.04076678,16.6618347 C5.04076678,17.3741595 5.58990162,17.9822416 6.31617672,17.9996154 C7.06016586,18.0169891 7.66244277,17.4436546 7.66244277,16.713956 L7.66244277,1.66826702 C7.66244277,0.747456955 6.90073961,0.00038463772 5.96189619,0.00038463772 C5.39504732,0.00038463772 4.86362652,0.278365035 4.54477403,0.747456955 L0.647688105,6.48080265 C0.27569354,7.00201589 0.647688105,7.71434066 1.3031071,7.71434066 Z" id="路径"></path>
+                    <path d="M12.9057947,10.2856593 L12.9057947,1.3381653 C12.9057947,0.625840532 12.3566599,0.0177584126 11.6303848,0.00038463772 C10.8863957,-0.0169891371 10.2841188,0.556345432 10.2841188,1.28604398 L10.2841188,16.331733 C10.2841188,17.252543 11.0458219,17.9996154 11.9846653,17.9996154 C12.5515142,17.9996154 13.082935,17.721635 13.4017875,17.252543 L17.3697295,11.4323285 C17.706296,10.9458628 17.3520155,10.2856593 16.7497386,10.2856593 L12.9057947,10.2856593 Z" id="路径"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 1 - 1
dist/svg/section1-1c5fabae.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 3</title>
     <title>编组 5备份 3</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-217.000000, -55.000000)">
         <g id="画板" transform="translate(-217.000000, -55.000000)">
             <g id="编组-5备份-3" transform="translate(219.000000, 57.000000)">
             <g id="编组-5备份-3" transform="translate(219.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 15 - 0
dist/svg/section1-f78a380c.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 5备份 3</title>
+    <g id="云练习2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="画板" transform="translate(-217.000000, -55.000000)">
+            <g id="编组-5备份-3" transform="translate(219.000000, 57.000000)">
+                <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
+                <g id="编组" transform="translate(15.500000, 15.000000) rotate(-90.000000) translate(-15.500000, -15.000000) translate(7.000000, 6.000000)" fill-rule="nonzero">
+                    <path d="M0.803107102,7.71434066 L4.54076678,7.71434066 L4.54076678,16.6618347 C4.54076678,17.3741595 5.08990162,17.9822416 5.81617672,17.9996154 C6.56016586,18.0169891 7.16244277,17.4436546 7.16244277,16.713956 L7.16244277,1.66826702 C7.16244277,0.747456955 6.40073961,0.00038463772 5.46189619,0.00038463772 C4.89504732,0.00038463772 4.36362652,0.278365035 4.04477403,0.747456955 L0.147688105,6.48080265 C-0.22430646,7.00201589 0.147688105,7.71434066 0.803107102,7.71434066 Z" id="路径" fill="#01C1B5"></path>
+                    <path d="M12.4057947,10.2856593 L12.4057947,1.3381653 C12.4057947,0.625840532 11.8566599,0.0177584126 11.1303848,0.00038463772 C10.3863957,-0.0169891371 9.78411876,0.556345432 9.78411876,1.28604398 L9.78411876,16.331733 C9.78411876,17.252543 10.5458219,17.9996154 11.4846653,17.9996154 C12.0515142,17.9996154 12.582935,17.721635 12.9017875,17.252543 L16.8697295,11.4323285 C17.206296,10.9458628 16.8520155,10.2856593 16.2497386,10.2856593 L12.4057947,10.2856593 Z" id="路径" fill="#FFC830"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 1 - 1
dist/svg/section2-8c1bc3c2.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 5</title>
     <title>编组 5备份 5</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-258.000000, -55.000000)">
         <g id="画板" transform="translate(-258.000000, -55.000000)">
             <g id="编组-5备份-5" transform="translate(260.000000, 57.000000)">
             <g id="编组-5备份-5" transform="translate(260.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 15 - 0
dist/svg/section2-a2aa842d.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 5备份 5</title>
+    <g id="云练习2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="画板" transform="translate(-258.000000, -55.000000)">
+            <g id="编组-5备份-5" transform="translate(260.000000, 57.000000)">
+                <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
+                <g id="编组" transform="translate(15.500000, 15.000000) rotate(-90.000000) translate(-15.500000, -15.000000) translate(7.000000, 6.000000)" fill="#FFC830" fill-rule="nonzero">
+                    <path d="M0.803107102,7.71434066 L4.54076678,7.71434066 L4.54076678,16.6618347 C4.54076678,17.3741595 5.08990162,17.9822416 5.81617672,17.9996154 C6.56016586,18.0169891 7.16244277,17.4436546 7.16244277,16.713956 L7.16244277,1.66826702 C7.16244277,0.747456955 6.40073961,0.00038463772 5.46189619,0.00038463772 C4.89504732,0.00038463772 4.36362652,0.278365035 4.04477403,0.747456955 L0.147688105,6.48080265 C-0.22430646,7.00201589 0.147688105,7.71434066 0.803107102,7.71434066 Z" id="路径"></path>
+                    <path d="M12.4057947,10.2856593 L12.4057947,1.3381653 C12.4057947,0.625840532 11.8566599,0.0177584126 11.1303848,0.00038463772 C10.3863957,-0.0169891371 9.78411876,0.556345432 9.78411876,1.28604398 L9.78411876,16.331733 C9.78411876,17.252543 10.5458219,17.9996154 11.4846653,17.9996154 C12.0515142,17.9996154 12.582935,17.721635 12.9017875,17.252543 L16.8697295,11.4323285 C17.206296,10.9458628 16.8520155,10.2856593 16.2497386,10.2856593 L12.4057947,10.2856593 Z" id="路径"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 21 - 0
dist/svg/speed-2dd1dda0.svg

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 5备份 4</title>
+    <g id="云练习2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="画板" transform="translate(-549.000000, -55.000000)">
+            <g id="编组-5备份-4" transform="translate(551.000000, 57.000000)">
+                <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
+                <g id="编组-2" transform="translate(4.000000, 6.000000)" fill="#01C1B5" fill-rule="nonzero">
+                    <g id="编组">
+                        <path d="M17.1788934,2.65984165 L21.2637262,2.66129281 C21.6441871,2.6595274 21.9627029,2.95663144 21.9969824,3.34525683 C22.0312619,3.73388223 21.7699052,4.08478959 21.3953125,4.15308163 L21.2637262,4.16614204 L17.1788934,4.16614204 C17.3474571,3.67892357 17.3474571,3.14706012 17.1788934,2.65984165 L17.1788934,2.65984165 Z" id="形状"></path>
+                        <path d="M12.7368421,0 C14.6553049,0 16.2105263,1.5552214 16.2105263,3.47368421 C16.2105263,5.39214703 14.6553049,6.94736842 12.7368421,6.94736842 C11.0558023,6.94736842 9.65365999,5.75326639 9.33235683,4.16700399 L0.73627375,4.16614204 C0.355812911,4.16790744 0.0372970883,3.8708034 0.00301760378,3.48217801 C-0.0312618807,3.09355262 0.230094793,2.74264526 0.604687516,2.67435322 L0.73627375,2.66129281 L9.35922942,2.65897043 C9.72584461,1.13357143 11.0989635,0 12.7368421,0 Z" id="形状结合"></path>
+                    </g>
+                    <g id="编组备份-3" transform="translate(11.000000, 15.078947) scale(-1, 1) translate(-11.000000, -15.078947) translate(0.000000, 11.578947)">
+                        <path d="M17.1788934,2.65984165 L21.2637262,2.66129281 C21.6441871,2.6595274 21.9627029,2.95663144 21.9969824,3.34525683 C22.0312619,3.73388223 21.7699052,4.08478959 21.3953125,4.15308163 L21.2637262,4.16614204 L17.1788934,4.16614204 C17.3474571,3.67892357 17.3474571,3.14706012 17.1788934,2.65984165 L17.1788934,2.65984165 Z" id="形状"></path>
+                        <path d="M12.7368421,0 C14.6553049,0 16.2105263,1.5552214 16.2105263,3.47368421 C16.2105263,5.39214703 14.6553049,6.94736842 12.7368421,6.94736842 C11.0558023,6.94736842 9.65365999,5.75326639 9.33235683,4.16700399 L0.73627375,4.16614204 C0.355812911,4.16790744 0.0372970883,3.8708034 0.00301760378,3.48217801 C-0.0312618807,3.09355262 0.230094793,2.74264526 0.604687516,2.67435322 L0.73627375,2.66129281 L9.35922942,2.65897043 C9.72584461,1.13357143 11.0989635,0 12.7368421,0 Z" id="形状结合"></path>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 1 - 1
dist/svg/speed-aee941d5.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 4</title>
     <title>编组 5备份 4</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-549.000000, -55.000000)">
         <g id="画板" transform="translate(-549.000000, -55.000000)">
             <g id="编组-5备份-4" transform="translate(551.000000, 57.000000)">
             <g id="编组-5备份-4" transform="translate(551.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
index.html

@@ -7,7 +7,7 @@
   <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
   <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
   <meta http-equiv="Cache-control" content="no-cache">
   <meta http-equiv="Cache-control" content="no-cache">
   <meta http-equiv="Cache" content="no-cache">
   <meta http-equiv="Cache" content="no-cache">
-  <title>云练</title>
+  <title>云练</title>
   <script src="/flexible.js" charset="UTF-8"></script>
   <script src="/flexible.js" charset="UTF-8"></script>
   <style>
   <style>
     #loading {
     #loading {

+ 1 - 1
orchestra.html

@@ -6,7 +6,7 @@
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <meta name="viewport"
   <meta name="viewport"
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
-  <title>管乐团云练</title>
+  <title>管乐团云练</title>
   <script>
   <script>
     function _postMessage(data, callback) {
     function _postMessage(data, callback) {
       const instance = window.ORCHESTRA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ORCHESTRA)
       const instance = window.ORCHESTRA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ORCHESTRA)

+ 1 - 1
osmd-extended

@@ -1 +1 @@
-Subproject commit a66f3376a9e2aef0048bcf812ef5240d6ec3b847
+Subproject commit 4e2e9dce29b9bf1b8a49f50452e231444512ee0e

+ 20 - 13
public/flexible.js

@@ -1,18 +1,25 @@
 ! function (a, b) {
 ! function (a, b) {
   function c() {
   function c() {
-    var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
-    var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
-    var b = width > height ? height : width;
-    b / i > 640 && (b = 640 * i);
-    b / i < 375 && (b = 375 * i);
-    var c = b / 10;
-    // 老师端,fontsize计算
-    // if (window.location.search.includes('platform=pc') || window.location.search.includes('platform=PC')) {
-    //   c = width / 21.7;
-    // }
-    // console.log('fontSize:',c,'屏幕宽度:',width,'老师端:',window.location.search.includes('platform=pc'))
-    f.style.fontSize = c + "px", k.rem = a.rem = c
-    window.fontSize = c
+    try {
+      var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
+      var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
+      var b = width > height ? height : width;
+      b / i > 640 && (b = 640 * i);
+      b / i < 375 && (b = 375 * i);
+      var c = b / 10;
+      // 老师端,fontsize计算
+      // if (window.location.search.includes('platform=pc') || window.location.search.includes('platform=PC')) {
+      //   c = width / 21.7;
+      // }
+      // console.log('fontSize:',c,'屏幕宽度:',width,'老师端:',window.location.search.includes('platform=pc'))
+      c = c || 64;
+      f.style.fontSize = c + "px", k.rem = a.rem = c
+      window.fontSize = c
+    } catch (error) {
+      f.style.fontSize = 64 + "px"
+      window.fontSize = 64
+    }
+
   }
   }
   var d, e = a.document,
   var d, e = a.document,
     f = e.documentElement,
     f = e.documentElement,

+ 1 - 1
public/share-evaluating/index.html

@@ -60,7 +60,7 @@
       <div class="app-info">
       <div class="app-info">
         <div class="app-title">管乐迷</div>
         <div class="app-title">管乐迷</div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
-        <div class="app-subtitle">云练见证你的成长!</div>
+        <div class="app-subtitle">云练见证你的成长!</div>
       </div>
       </div>
       <img src="./icons/qrcode.png"/>
       <img src="./icons/qrcode.png"/>
     </div>
     </div>

+ 2 - 2
public/share/index.html

@@ -30,7 +30,7 @@
       </div>
       </div>
     </div>
     </div>
     <p class="desc">
     <p class="desc">
-      管乐迷使用云练可太好用了!演奏越来越好了,我的演奏快来看看吧!
+      管乐迷使用云练可太好用了!演奏越来越好了,我的演奏快来看看吧!
     </p>
     </p>
     <div class="video-container">
     <div class="video-container">
       <video
       <video
@@ -48,7 +48,7 @@
       <div class="app-info">
       <div class="app-info">
         <div class="app-title">管乐迷</div>
         <div class="app-title">管乐迷</div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
         <div class="app-desc">管乐学习的<span>不二选择</span></div>
-        <div class="app-subtitle">云练见证你的成长!</div>
+        <div class="app-subtitle">云练见证你的成长!</div>
       </div>
       </div>
       <img src="./icons/qrcode.png"/>
       <img src="./icons/qrcode.png"/>
     </div>
     </div>

+ 1 - 1
report-share.html

@@ -6,7 +6,7 @@
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
   <meta name="viewport"
   <meta name="viewport"
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
-  <title>管乐团云练</title>
+  <title>管乐团云练</title>
   <!-- <link rel="icon" href="/favicon.ico" /> -->
   <!-- <link rel="icon" href="/favicon.ico" /> -->
   <script src="/flexible.js" charset="UTF-8"></script>
   <script src="/flexible.js" charset="UTF-8"></script>
   <script src="/helpers/lottie.min.js" charset="UTF-8"></script>
   <script src="/helpers/lottie.min.js" charset="UTF-8"></script>

+ 1 - 1
src/helpers/communication.ts

@@ -187,7 +187,7 @@ export const api_cloudLoading = (show = false) => {
 	});
 	});
 };
 };
 
 
-/** 销毁云练 */
+/** 销毁云练 */
 export const api_cloudDestroy = () => {
 export const api_cloudDestroy = () => {
 	postMessage({
 	postMessage({
 		api: "cloudDestroy",
 		api: "cloudDestroy",

+ 20 - 28
src/helpers/customMusicScore.ts

@@ -172,7 +172,7 @@ export const moveGracePosition = (needTrans?: boolean) => {
 	/**
 	/**
 	 * TODO:曲目:摇篮曲(节奏练习)-倚音位置 特殊处理
 	 * TODO:曲目:摇篮曲(节奏练习)-倚音位置 特殊处理
 	 */
 	 */
-	const specialIds = ['1788850864767643649','1788502467554750466','1789839575249596417','1788501975122489346'];
+	const specialIds = ['1788850864767643649','1788502467554750466','1789839575249596417','1788501975122489346','1796006876341813249'];
 	if (specialIds.includes(state.cbsExamSongId) || needTrans) {
 	if (specialIds.includes(state.cbsExamSongId) || needTrans) {
 		const lastCurve: any = Array.from(document.getElementsByClassName('vf-curve'))?.last();
 		const lastCurve: any = Array.from(document.getElementsByClassName('vf-curve'))?.last();
 		if (lastCurve) {
 		if (lastCurve) {
@@ -189,43 +189,35 @@ export const moveGracePosition = (needTrans?: boolean) => {
 			// }
 			// }
 		} else {
 		} else {
 			// vf-auto2172 , vf-auto2384
 			// vf-auto2172 , vf-auto2384
-			const signatureDom = document.getElementById('auto2784'), fixedSigntureDom = document.getElementById('auto3022');
-			const signatureDom2 = document.getElementById('auto2744'),fixedSigntureDom2 = document.getElementById('auto2978');
-			const needTransLateDom: any = document.getElementById('vf-auto2178')?.getElementsByClassName('vf-modifier')?.[0], fixednNeedTransLateDom: any = document.getElementById('vf-auto2390')?.getElementsByClassName('vf-modifier')?.[0];
-			const arrowDom = document.getElementById('vf-auto2178-lines'), fixedArrowDom = document.getElementById('vf-auto2390-lines');
+			const signatureDom = document.getElementById('auto2670');
+			const signatureDom2 = document.getElementById('auto2710');
+			const signatureDom3 = document.getElementById('auto3099');
+			const signatureDom4 = document.getElementById('auto3339');
 
 
-			const needTransLateDom2: any = document.getElementById('vf-auto2172')?.getElementsByClassName('vf-modifier')?.[0], fixednNeedTransLateDom2: any = document.getElementById('vf-auto2384')?.getElementsByClassName('vf-modifier')?.[0];
-			const arrowDom2 = document.getElementById('vf-auto2172-lines'), fixedArrowDom2 = document.getElementById('vf-auto2384-lines');	
-			
-			const needTransLateDom3: any = document.getElementById('vf-auto1589')?.getElementsByClassName('vf-modifier')?.[0];
-			const arrowDom3 = document.getElementById('vf-auto1589-lines');
+			const needTransLateDom: any = state.cbsExamSongId == '1789839575249596417' && document.getElementById('vf-auto1554')?.getElementsByClassName('vf-modifier')?.[0];
+			const arrowDom = state.cbsExamSongId == '1789839575249596417' && document.getElementById('vf-auto1554-lines');
 
 
-			// const targetIdx = ['1788502467554750466','1788501975122489346'].includes(state.cbsExamSongId) ? 29 : 17;
-			// const targetNeedTransLateDom: any = document.querySelectorAll('.vf-measure')?.[targetIdx]?.getElementsByClassName('vf-stavenote')?.[1]?.getElementsByClassName('vf-modifier')?.[0];
-			// const targetId = document.querySelectorAll('.vf-measure')?.[targetIdx]?.getElementsByClassName('vf-stavenote')?.[1]?.getAttribute('id');
-			// const targetArrowDom = document.getElementById(targetId + '-lines');
-			// // console.log(123456,targetArrowDom)
-			// if (targetNeedTransLateDom) targetNeedTransLateDom.style.transform = 'translateX(-0.65rem)';
-			// if (targetArrowDom) targetArrowDom.style.transform = 'translateX(-0.65rem)';
+			const needTransLateDom2: any = state.cbsExamSongId == '1788501975122489346' && document.getElementById('vf-auto2116')?.getElementsByClassName('vf-modifier')?.[0];
+			const arrowDom2 = state.cbsExamSongId == '1788501975122489346' && document.getElementById('vf-auto2116-lines');	
+			
+			const needTransLateDom3: any = state.cbsExamSongId == '1788502467554750466' && document.getElementById('vf-auto2122')?.getElementsByClassName('vf-modifier')?.[0];
+			const arrowDom3 = state.cbsExamSongId == '1788502467554750466' && document.getElementById('vf-auto2122-lines');
 
 
 			if (signatureDom) signatureDom.style.display = 'none';
 			if (signatureDom) signatureDom.style.display = 'none';
-			if (fixedSigntureDom) fixedSigntureDom.style.display = 'none';
 			if (signatureDom2) signatureDom2.style.display = 'none';
 			if (signatureDom2) signatureDom2.style.display = 'none';
-			if (fixedSigntureDom2) fixedSigntureDom2.style.display = 'none';
+			if (signatureDom3) signatureDom3.style.display = 'none';
+			if (signatureDom4) signatureDom4.style.display = 'none';
+
 			if (needTransLateDom) needTransLateDom.style.transform = 'translateX(-0.65rem)';
 			if (needTransLateDom) needTransLateDom.style.transform = 'translateX(-0.65rem)';
-			if (fixednNeedTransLateDom) fixednNeedTransLateDom.style.transform = 'translateX(-0.65rem)';
-			if (needTransLateDom2) needTransLateDom2.style.transform = 'translateX(-1rem)';
-			if (fixednNeedTransLateDom2) fixednNeedTransLateDom2.style.transform = 'translateX(-1rem)';
+			if (needTransLateDom2) needTransLateDom2.style.transform = 'translateX(-0.65rem)';
 			if (needTransLateDom3) needTransLateDom3.style.transform = 'translateX(-0.65rem)';
 			if (needTransLateDom3) needTransLateDom3.style.transform = 'translateX(-0.65rem)';
 
 
 			if (arrowDom) arrowDom.style.transform = 'translateX(-0.65rem)';
 			if (arrowDom) arrowDom.style.transform = 'translateX(-0.65rem)';
-			if (fixedArrowDom) fixedArrowDom.style.transform = 'translateX(-0.65rem)';
-			if (arrowDom2) arrowDom2.style.transform = 'translateX(-1rem)';
-			if (fixedArrowDom2) fixedArrowDom2.style.transform = 'translateX(-1rem)';
+			if (arrowDom2) arrowDom2.style.transform = 'translateX(-0.65rem)';
 			if (arrowDom3) arrowDom3.style.transform = 'translateX(-0.65rem)';
 			if (arrowDom3) arrowDom3.style.transform = 'translateX(-0.65rem)';
 
 
-			if (arrowDom || fixedArrowDom || arrowDom2 || fixedArrowDom2 || arrowDom3) {
-				const path: any = arrowDom ? arrowDom.querySelector('path') : fixedArrowDom ? fixedArrowDom.querySelector('path') : arrowDom2 ? arrowDom2.querySelector('path') : fixedArrowDom2 ? fixedArrowDom2.querySelector('path') : arrowDom3 ? arrowDom3.querySelector('path') : null;
+			if (arrowDom || arrowDom2 || arrowDom3) {
+				const path: any = arrowDom ? arrowDom.querySelector('path') : arrowDom2 ? arrowDom2.querySelector('path') : arrowDom3 ? arrowDom3.querySelector('path') : null;
 				let d = path?.getAttribute("d");
 				let d = path?.getAttribute("d");
 				if (d) {
 				if (d) {
 					const patchStr = d.split('L')?.last()?.split(" ")?.[0];
 					const patchStr = d.split('L')?.last()?.split(" ")?.[0];
@@ -862,7 +854,7 @@ export const setGlobalMusicSheet = () => {
 	const customAccentItem = customAccentList.find(({id, part_index}) => {
 	const customAccentItem = customAccentList.find(({id, part_index}) => {
 	  return id == state.cbsExamSongId && part_index == partIndex
 	  return id == state.cbsExamSongId && part_index == partIndex
 	})
 	})
-	if (customAccentItem) {
+	if (customAccentItem || state.isEvxml) {
 	  setGlobalData('customAccentItem', true)
 	  setGlobalData('customAccentItem', true)
 	}
 	}
 	/** 全声部声部 +  */
 	/** 全声部声部 +  */

+ 191 - 13
src/helpers/formateMusic.ts

@@ -17,6 +17,11 @@ const browserInfo = browser();
 dayjs.extend(duration);
 dayjs.extend(duration);
 
 
 /**
 /**
+ * 需要隐藏的中文速度文本
+ */
+const hideSpeedWords: string[] = ["中速"];
+
+/**
  * 获取节拍器的时间
  * 获取节拍器的时间
  * @param speed 速度
  * @param speed 速度
  * @param firstMeasure 曲谱第一个小节
  * @param firstMeasure 曲谱第一个小节
@@ -378,6 +383,7 @@ export const onlyVisible = (xml: string, partIndex: number): string => {
 	// console.log(visiblePartInfo, partIndex)
 	// console.log(visiblePartInfo, partIndex)
 	// 根据后台已选择的分轨筛选出能切换的声轨
 	// 根据后台已选择的分轨筛选出能切换的声轨
 	state.partListNames = partListNames;
 	state.partListNames = partListNames;
+	// console.log('分轨名称',state.partListNames)
 	if (visiblePartInfo) {
 	if (visiblePartInfo) {
 		const id = visiblePartInfo.getAttribute("id");
 		const id = visiblePartInfo.getAttribute("id");
 		Array.from(parts).forEach((part: any) => {
 		Array.from(parts).forEach((part: any) => {
@@ -615,6 +621,7 @@ export const formatZoom = (num = 1) => {
  */
  */
 export const formatXML = (xml: string, xmlUrl?: string): string => {
 export const formatXML = (xml: string, xmlUrl?: string): string => {
 	if (!xml) return "";
 	if (!xml) return "";
+	
 	const xmlParse = new DOMParser().parseFromString(xml, "text/xml");
 	const xmlParse = new DOMParser().parseFromString(xml, "text/xml");
 	const measures = Array.from(xmlParse.getElementsByTagName("measure"));
 	const measures = Array.from(xmlParse.getElementsByTagName("measure"));
 	const repeats: any = Array.from(xmlParse.querySelectorAll('repeat'));
 	const repeats: any = Array.from(xmlParse.querySelectorAll('repeat'));
@@ -624,6 +631,7 @@ export const formatXML = (xml: string, xmlUrl?: string): string => {
 	// 解析处理evxml
 	// 解析处理evxml
 	if (state.isEvxml) {
 	if (state.isEvxml) {
 		analyzeEvxml(xmlParse, xmlUrl);
 		analyzeEvxml(xmlParse, xmlUrl);
+		customizationXml(xmlParse);
 	}
 	}
 	// const words: any = xmlParse.getElementsByTagName("words");
 	// const words: any = xmlParse.getElementsByTagName("words");
 	// for (const word of words) {
 	// for (const word of words) {
@@ -655,11 +663,30 @@ export const formatXML = (xml: string, xmlUrl?: string): string => {
 				// if (note.getElementsByTagName("space").length && !note.getElementsByTagName("duration").length) {
 				// if (note.getElementsByTagName("space").length && !note.getElementsByTagName("duration").length) {
 				// 	measure.removeChild(note);
 				// 	measure.removeChild(note);
 				// }
 				// }
-				if (!note.getElementsByTagName("duration").length || (note.getElementsByTagName("duration").length && note.getElementsByTagName("duration")[0]?.textContent == 0)) {
-					measure.removeChild(note);
+				// 非倚音音符
+				if (!note.getElementsByTagName("grace").length) {
+					if (!note.getElementsByTagName("duration").length || (note.getElementsByTagName("duration").length && note.getElementsByTagName("duration")[0]?.textContent == 0)) {
+						measure.removeChild(note);
+					}
 				}
 				}
 			});
 			});
 		}
 		}
+		// 如果有特殊中文速度文本,需要删除
+		const reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
+		if (measure.getElementsByTagName("words").length && state.isEvxml) {
+			const wordList = Array.from(measure.getElementsByTagName("words")) || [];
+			wordList.forEach((word: any) => {
+				// TODO:删除妙极客曲子无意义的words
+				// wordArr?.push(word?.textContent)
+				if (word?.textContent && reg.test(word?.textContent) && word?.parentNode?.parentNode) {
+					measure.removeChild(word.parentNode.parentNode);
+					// deleteWordArr?.push(word?.textContent)
+				}
+				// if(hideSpeedWords.includes(word?.textContent) && word?.parentNode?.parentNode) {
+				// 	measure.removeChild(word.parentNode.parentNode);
+				// }
+			})
+		}
 		if (measure.getElementsByTagName("note").length === 0) {
 		if (measure.getElementsByTagName("note").length === 0) {
 			const forwardTimeElement = measure.getElementsByTagName("forward")[0]?.getElementsByTagName("duration")[0];
 			const forwardTimeElement = measure.getElementsByTagName("forward")[0]?.getElementsByTagName("duration")[0];
 			if (forwardTimeElement) {
 			if (forwardTimeElement) {
@@ -745,6 +772,8 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 	let staveNoteIndex = 0;
 	let staveNoteIndex = 0;
 	let staveIndex = 0;
 	let staveIndex = 0;
 
 
+	let preNoteEndTime = 0; // 上一个音符的结束时间
+
 	const _notes = [] as any[];
 	const _notes = [] as any[];
 	if (state.gradualTimes) {
 	if (state.gradualTimes) {
 		console.log("后台设置的渐慢小节时间", state.gradual, state.gradualTimes);
 		console.log("后台设置的渐慢小节时间", state.gradual, state.gradualTimes);
@@ -754,6 +783,8 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 	const currentTimes = [] as any[];
 	const currentTimes = [] as any[];
 	let isSetNextNoteReal = false;
 	let isSetNextNoteReal = false;
 	let differFrom = 0;
 	let differFrom = 0;
+	// let testIdx = 0;
+	let repeatIdx = 0; // 循环的次数
 	while (!iterator.EndReached) {
 	while (!iterator.EndReached) {
 		// console.log({ ...iterator });
 		// console.log({ ...iterator });
 		const voiceEntries = iterator.CurrentVoiceEntries?.[0] ? [iterator.CurrentVoiceEntries?.[0]] : [];
 		const voiceEntries = iterator.CurrentVoiceEntries?.[0] ? [iterator.CurrentVoiceEntries?.[0]] : [];
@@ -837,10 +868,18 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 		}
 		}
 
 
 		iterator.moveToNextVisibleVoiceEntry(false);
 		iterator.moveToNextVisibleVoiceEntry(false);
+		// 从头开始循环,repeatIdx标记+1
+		if (iterator.backJumpOccurred) {
+			repeatIdx += 1;
+		}
+		iterator.repeatIdx = repeatIdx;
+		// console.log('小节',testIdx,iterator.repeatIdx,iterator.EndReached,iterator.currentMeasureIndex,iterator.backJumpOccurred,iterator.forwardJumpOccurred)
+		// testIdx += 1;
 	}
 	}
 	// 是否是变速的曲子
 	// 是否是变速的曲子
 	const hasVaryingSpeed = _notes.some((item: any) => item.measuresTempoInBPM !== _notes[0].measuresTempoInBPM)
 	const hasVaryingSpeed = _notes.some((item: any) => item.measuresTempoInBPM !== _notes[0].measuresTempoInBPM)
-	console.log('变速曲子',hasVaryingSpeed)
+	console.log('变速曲子',hasVaryingSpeed, _notes)
+	let noteIds: any = [];
 	// let voicesBBox: any = null;
 	// let voicesBBox: any = null;
 	for (let { note, iterator, currentTime, isDouble, isMutileSubject } of _notes) {
 	for (let { note, iterator, currentTime, isDouble, isMutileSubject } of _notes) {
 		if (note) {
 		if (note) {
@@ -920,6 +959,12 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			}
 			}
 
 
 			let relativeTime = usetime;
 			let relativeTime = usetime;
+
+			// 妙极客的曲子,修复有的音符有times,有的音符没有times导致的,累计时长错误问题
+			if (state.isEvxml && relativeTime < preNoteEndTime - fixtime) {
+				relativeTime = preNoteEndTime - fixtime
+			}
+
 			let beatSpeed = 0;
 			let beatSpeed = 0;
 			// 速度不能为0 此处的速度应该是按照设置的速度而不是校准后的速度,否则mp3速度不对
 			// 速度不能为0 此处的速度应该是按照设置的速度而不是校准后的速度,否则mp3速度不对
 			if (measureSpeed !== baseSpeed && !hasVaryingSpeed) {
 			if (measureSpeed !== baseSpeed && !hasVaryingSpeed) {
@@ -1014,13 +1059,13 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			 * TODO:摇篮曲-人音-排箫(1788501975122489346),第12小节音符持续时间特殊处理
 			 * TODO:摇篮曲-人音-排箫(1788501975122489346),第12小节音符持续时间特殊处理
 			*/
 			*/
 			if (['1788501975122489346','1788502467554750466'].includes(state.cbsExamSongId)) {
 			if (['1788501975122489346','1788502467554750466'].includes(state.cbsExamSongId)) {
-				if (i == 20) {
+				if (i == 13) {
 					noteLength = noteLength / 2;
 					noteLength = noteLength / 2;
 				}
 				}
-				if (i == 51) {
+				if (i == 44) {
 					noteLength = noteLength * 6;
 					noteLength = noteLength * 6;
 				}
 				}
-				if (i == 63) {
+				if (i == 56) {
 					noteLength = noteLength * 4;
 					noteLength = noteLength * 4;
 				}
 				}
 			}
 			}
@@ -1094,6 +1139,21 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			// console.log(note.tie)
 			// console.log(note.tie)
 			// console.log('👀看看endtime', duration, relaEndtime, fixtime, i)
 			// console.log('👀看看endtime', duration, relaEndtime, fixtime, i)
 			// console.log('频率',note?.pitch?.frequency,i)
 			// console.log('频率',note?.pitch?.frequency,i)
+			/**
+			 * evxml的曲子,如果曲谱xml中带有times信息,则音符时值优先取times中的值
+			 */
+			let evNoteStartTime = 0, evNoteEndTime = 0;
+			if (state.isEvxml && note?.noteTimeInfo?.length) {
+				const idx = noteIds.filter((item: any) => item === svgElement?.attrs.id)?.length || 0
+				evNoteStartTime = note?.noteTimeInfo[idx]?.begin
+				evNoteEndTime = note?.noteTimeInfo[idx]?.end
+				if (evNoteStartTime) {
+					relativeTime = evNoteStartTime - fixtime
+					// usetime = evNoteStartTime - fixtime
+				}
+				// usetime = evNoteStartTime - fixtime
+			}
+			svgElement?.attrs.id && noteIds.push(svgElement?.attrs.id)
 
 
 			const nodeDetail = {
 			const nodeDetail = {
 				isStaccato: note.voiceEntry.isStaccato(),
 				isStaccato: note.voiceEntry.isStaccato(),
@@ -1122,8 +1182,8 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				note: note.halfTone + 12, // see issue #224
 				note: note.halfTone + 12, // see issue #224
 				fixtime, // 弱起补充的时间
 				fixtime, // 弱起补充的时间
 				relativeTime: retain(relativeTime),
 				relativeTime: retain(relativeTime),
-				time: retain(relativeTime + fixtime), // 开始播放的时间
-				endtime: retain(relaEndtime + fixtime), // 播放完成的时间
+				time: state.isEvxml && evNoteStartTime ? retain(evNoteStartTime) : retain(relativeTime + fixtime), // 开始播放的时间
+				endtime: state.isEvxml && evNoteEndTime ? retain(evNoteEndTime) : retain(relaEndtime + fixtime), // 播放完成的时间
 				relaEndtime: retain(relaEndtime),
 				relaEndtime: retain(relaEndtime),
 				realValue,
 				realValue,
 				halfTone: note.halfTone,
 				halfTone: note.halfTone,
@@ -1141,7 +1201,22 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				totalMultipleRestMeasures, // 当前小节总的合并小节数
 				totalMultipleRestMeasures, // 当前小节总的合并小节数
 				measureSpeed,  // 小节速度
 				measureSpeed,  // 小节速度
 				maxNoteNum: note.maxNoteNum, // 当前小节音符最多的分轨的音符数量
 				maxNoteNum: note.maxNoteNum, // 当前小节音符最多的分轨的音符数量
+				repeatIdx: iterator.repeatIdx, // 标记是第几遍循环,从0开始
 			};
 			};
+			// 如果是妙极客的曲子,并且第二遍循环播放需要等待时间,并且是第二遍循环的第一个小节的第一个音符
+			// if (state.isEvxml && state.secondEvXmlBeginTime && nodeDetail.i > 0 && nodeDetail.MeasureNumberXML === 1 && nodeDetail.noteId === 0) {
+			// 	nodeDetail.time = nodeDetail.time + state.secondEvXmlBeginTime;
+			// 	nodeDetail.endtime = nodeDetail.endtime + state.secondEvXmlBeginTime;
+			// 	usetime = usetime + state.secondEvXmlBeginTime;
+			// 	relativeTime = relativeTime + state.secondEvXmlBeginTime;
+			// }
+			if (state.isEvxml && nodeDetail.repeatIdx && nodeDetail.i > 0 && nodeDetail.MeasureNumberXML === 1 && nodeDetail.noteId === 0) {
+				const currentWaitTime = state.evXmlBeginArr[nodeDetail.repeatIdx] || 0;
+				nodeDetail.time = nodeDetail.time + currentWaitTime;
+				nodeDetail.endtime = nodeDetail.endtime + currentWaitTime;
+				usetime = usetime + currentWaitTime;
+				relativeTime = relativeTime + currentWaitTime;
+			}			
 			nodeDetail.realKey = formatRealKey(note.halfTone - fixedKey * 12, nodeDetail);
 			nodeDetail.realKey = formatRealKey(note.halfTone - fixedKey * 12, nodeDetail);
 			nodeDetail.duration = nodeDetail.endtime - nodeDetail.time;
 			nodeDetail.duration = nodeDetail.endtime - nodeDetail.time;
 			let tickables = activeVerticalMeasureList[0]?.vfVoices["1"]?.tickables || [];
 			let tickables = activeVerticalMeasureList[0]?.vfVoices["1"]?.tickables || [];
@@ -1150,6 +1225,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			}
 			}
 			// console.log(note.sourceMeasure.MeasureNumberXML, note.sourceMeasure.verticalSourceStaffEntryContainers.length)
 			// console.log(note.sourceMeasure.MeasureNumberXML, note.sourceMeasure.verticalSourceStaffEntryContainers.length)
 			// console.log('👀看看endtime', nodeDetail.duration, relaEndtime, fixtime, i)
 			// console.log('👀看看endtime', nodeDetail.duration, relaEndtime, fixtime, i)
+			// console.log('音符时间',nodeDetail.i,nodeDetail.time,nodeDetail.endtime)
 			tickables = tickables.filter((tickable: any) => tickable.attrs?.type !== "GhostNote")
 			tickables = tickables.filter((tickable: any) => tickable.attrs?.type !== "GhostNote")
 			const maxNum = (state.isCombineRender && note.maxNoteNum) ? note.maxNoteNum : tickables.length;
 			const maxNum = (state.isCombineRender && note.maxNoteNum) ? note.maxNoteNum : tickables.length;
 			nodeDetail.noteLength = maxNum || 1;
 			nodeDetail.noteLength = maxNum || 1;
@@ -1167,11 +1243,14 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				relaMeasureLength = 0;
 				relaMeasureLength = 0;
 				measures = [];
 				measures = [];
 			}
 			}
+			preNoteEndTime = nodeDetail.endtime;
 		}
 		}
 		i++;
 		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) => ({ ...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("音符跑完时间");
 	console.timeEnd("音符跑完时间");
 	try {
 	try {
 		osmd.cursor.reset();
 		osmd.cursor.reset();
@@ -1258,19 +1337,118 @@ export const verifyCanRepeat = (startNum: number, endNum: number) => {
 	}
 	}
 }
 }
 
 
+// 处理妙极客xml谱面
+const customizationXml = (xmlParse: any) => {
+	const credits: any = Array.from(xmlParse.querySelectorAll('credit'));
+	const creators: any = Array.from(xmlParse.querySelectorAll('creator'));
+	const graces: any = Array.from(xmlParse.querySelectorAll('grace'));
+	const measures: any[] = Array.from(xmlParse.getElementsByTagName("measure"));
+	const notes: any[] = Array.from(xmlParse.getElementsByTagName("note"));
+
+	// 获取音符最多的歌词数,用于自定义循环播放次数
+	let maxLyricNum = 0;
+	if (notes && notes.length) {
+		for (const note of notes) {
+			if (maxLyricNum < note.getElementsByTagName("lyric").length) {
+				maxLyricNum = note.getElementsByTagName("lyric").length
+			}
+		}
+	}
+	state.maxLyricNum = maxLyricNum;
+	// state.osmd.EngravingRules.DYCustomRepeatCount = maxLyricNum;
+	;(window as any).DYCustomRepeatCount = state.maxLyricNum;
+	console.log('歌词次数',maxLyricNum)
+
+	if (credits && credits.length) {
+		for (const credit of credits) {
+			if (credit.getElementsByTagName("credit-type")?.[0]?.textContent === 'lyricist') {
+				const creditWord = credit.getElementsByTagName("credit-words")
+				creditWord?.[0].setAttribute('justify', 'right')
+			}
+		}
+	}
+	if (creators && creators.length) {
+		for (const creator of creators) {
+			if (creator.getAttribute('type') === 'lyricist') {
+				// creator.textContent = '测试一下1';
+			}
+			
+		}
+	}
+	// 妙极客xml的倚音(grace)标签需要加上slash=yes属性
+	if (graces && graces.length) {
+		for (const grace of graces) {
+			grace?.setAttribute('slash','yes');
+			// console.log(grace,'倚音')
+		}
+	}
+	// 妙极客xml部分小节没有音符,只有Segno,该小节不需要渲染,表示的是反复标记
+	for (const measure of measures) {
+		const hasNote = measure.getElementsByTagName("note").length;
+		const hasSegno = measure.getElementsByTagName("segno").length;
+		const sounds = Array.from(measure.getElementsByTagName("sound"));
+		const hasSoundSegno = sounds.some((item: any) => item.getAttribute('segno') === 'segno' );
+		if (!hasNote && hasSegno && hasSoundSegno) {
+			const parent = measure.parentNode;
+			parent.removeChild(measure);
+		}
+	}
+
+	/**
+	 * bug: #10289,曲目:1782672015612725196、1788040971888537602
+	 * 妙极客xml,多遍歌词循环的曲目,如果没有repeat标签,需要加上repeat标签
+	 * */
+	if (maxLyricNum > 1) {
+		const hasRepeat = xmlParse.querySelectorAll('repeat').length > 0
+		if (!hasRepeat) {
+			const lastMeasure = measures.last();
+			if (lastMeasure.getElementsByTagName('barline').length) {
+				const barlineDom = lastMeasure.getElementsByTagName('barline')[0]
+				barlineDom.innerHTML = barlineDom.innerHTML + `<repeat direction="backward" />`;
+			} else {
+				lastMeasure.innerHTML = lastMeasure.innerHTML + `
+				<barline location="right">
+					<bar-style>light-heavy</bar-style>
+					<repeat direction="backward" />
+				</barline>`
+			}
+			// console.log(lastMeasure)
+		}
+	}
+}
+
 // 计算evxml的起始播放时间
 // 计算evxml的起始播放时间
 const analyzeEvxml = (xmlParse: any, xmlUrl?: string) => {
 const analyzeEvxml = (xmlParse: any, xmlUrl?: string) => {
 	// xml拍号数
 	// xml拍号数
 	const xmlNum = xmlParse.getElementsByTagName("timegap")[0]?.getElementsByTagName("values")[0]?.getElementsByTagName("item")[0]?.getAttribute('num');
 	const xmlNum = xmlParse.getElementsByTagName("timegap")[0]?.getElementsByTagName("values")[0]?.getElementsByTagName("item")[0]?.getAttribute('num');
+	const denNum = xmlParse.getElementsByTagName("timegap")[0]?.getElementsByTagName("values")[0]?.getElementsByTagName("item")[0]?.getAttribute('den');
+	const xmlNum2 = xmlParse.getElementsByTagName("timegap")[0]?.getElementsByTagName("values")[0]?.getElementsByTagName("item")[1]?.getAttribute('num');
+	const denNum2 = xmlParse.getElementsByTagName("timegap")[0]?.getElementsByTagName("values")[0]?.getElementsByTagName("item")[1]?.getAttribute('den');
+	const timeGaps: any = xmlParse.getElementsByTagName("timegap")?.length ? Array.from(xmlParse.getElementsByTagName("timegap")?.[0]?.getElementsByTagName("values")?.[0]?.getElementsByTagName("item")) : [];
 	// 第一个音符的起始时间
 	// 第一个音符的起始时间
-	const firstNoteBeginTime = xmlParse.getElementsByTagName("times")[0]?.getElementsByTagName("time")[0]?.getAttribute('begin');
-	state.evXmlBeginTime = firstNoteBeginTime ? firstNoteBeginTime / 1000 : xmlNum ? 60 / state.originSpeed * xmlNum : 0;
-	const hasTimeGap = xmlParse.getElementsByTagName("timegap").length > 0;
-	const hasTimes = xmlParse.getElementsByTagName("times").length > 0;
+	const firstMeasure = xmlParse.getElementsByTagName("measure")[0];
+	if (firstMeasure) {
+		const firstNoteBeginTime = firstMeasure.getElementsByTagName("times")[0]?.getElementsByTagName("time")[0]?.getAttribute('begin');
+		state.evXmlBeginTime = firstNoteBeginTime ? firstNoteBeginTime / 1000 : xmlNum ? 60 / state.originSpeed * xmlNum * 4/denNum : 0;
+		state.secondEvXmlBeginTime = firstNoteBeginTime ? 0 : xmlNum2 ? 60 / state.originSpeed * xmlNum2 * 4/denNum2 : 0;
+		const hasTimeGap = xmlParse.getElementsByTagName("timegap").length > 0;
+		const hasTimes = xmlParse.getElementsByTagName("times").length > 0;
+
+		if (timeGaps && timeGaps.length && !firstNoteBeginTime) {
+			for (const timeGap of timeGaps) {
+				const num: any = timeGap?.getAttribute('num'), den: any = timeGap?.getAttribute('den');
+				const startTime = num ? 60 / state.originSpeed * num * 4/den : 0;
+				state.evXmlBeginArr.push(startTime)
+			}
+		}
+
+		console.log('🚀 ~ evxml解析','有timegap:',hasTimeGap,'有times:',hasTimes,'timegap集合',state.evXmlBeginArr,'第一个timegap',state.evXmlBeginTime)
+	}
+
 	// if (!hasTimeGap && !hasTimes) {
 	// if (!hasTimeGap && !hasTimes) {
 	// 	state.noTimes.push(xmlUrl)
 	// 	state.noTimes.push(xmlUrl)
 	// }
 	// }
-	console.log('🚀 ~ evxml解析','有timegap:',hasTimeGap,'有times:',hasTimes)
+	
 }
 }
 
 
 /**
 /**

+ 1 - 1
src/page-colexiu/header-top/image/arrow.svg

@@ -3,7 +3,7 @@
     <!-- Generator: Sketch 62 (91390) - https://sketch.com -->
     <!-- Generator: Sketch 62 (91390) - https://sketch.com -->
     <title>编组</title>
     <title>编组</title>
     <desc>Created with Sketch.</desc>
     <desc>Created with Sketch.</desc>
-    <g id="云练" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板备份" transform="translate(-212.000000, -29.000000)" fill="#01C1B5" fill-rule="nonzero">
         <g id="画板备份" transform="translate(-212.000000, -29.000000)" fill="#01C1B5" fill-rule="nonzero">
             <g id="编组-4" transform="translate(51.000000, 17.000000)">
             <g id="编组-4" transform="translate(51.000000, 17.000000)">
                 <g id="编组" transform="translate(165.333333, 18.000000) rotate(-360.000000) translate(-165.333333, -18.000000) translate(161.000000, 12.000000)">
                 <g id="编组" transform="translate(165.333333, 18.000000) rotate(-360.000000) translate(-165.333333, -18.000000) translate(161.000000, 12.000000)">

+ 1 - 1
src/page-gym/evaluat-model/evaluat-share/index.tsx

@@ -43,7 +43,7 @@ export default defineComponent({
 		const shareNext = async () => {
 		const shareNext = async () => {
 			const res = await api_shareAchievements({
 			const res = await api_shareAchievements({
 				title: "分享我的乐器练习进度,一起见证我的成长!",
 				title: "分享我的乐器练习进度,一起见证我的成长!",
-				desc: "晒一下我的评测分数,快来“云练”上和我PK一下吧!",
+				desc: "晒一下我的评测分数,快来“云练”上和我PK一下吧!",
 				image: shareLoadedPngData.value,
 				image: shareLoadedPngData.value,
 				video: "",
 				video: "",
 				type: "image",
 				type: "image",

+ 1 - 1
src/page-gym/evaluat-model/icons/arrow-left-background.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>箭头</title>
     <title>箭头</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-21.000000, -19.000000)">
         <g id="画板" transform="translate(-21.000000, -19.000000)">
             <g id="箭头" transform="translate(21.000000, 19.000000)">
             <g id="箭头" transform="translate(21.000000, 19.000000)">
                 <circle id="椭圆形" fill="#01C1B5" cx="16" cy="16" r="16"></circle>
                 <circle id="椭圆形" fill="#01C1B5" cx="16" cy="16" r="16"></circle>

+ 1 - 1
src/page-gym/header-top/image/arrow.svg

@@ -3,7 +3,7 @@
     <!-- Generator: Sketch 62 (91390) - https://sketch.com -->
     <!-- Generator: Sketch 62 (91390) - https://sketch.com -->
     <title>编组</title>
     <title>编组</title>
     <desc>Created with Sketch.</desc>
     <desc>Created with Sketch.</desc>
-    <g id="云练" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板备份" transform="translate(-212.000000, -29.000000)" fill="#01C1B5" fill-rule="nonzero">
         <g id="画板备份" transform="translate(-212.000000, -29.000000)" fill="#01C1B5" fill-rule="nonzero">
             <g id="编组-4" transform="translate(51.000000, 17.000000)">
             <g id="编组-4" transform="translate(51.000000, 17.000000)">
                 <g id="编组" transform="translate(165.333333, 18.000000) rotate(-360.000000) translate(-165.333333, -18.000000) translate(161.000000, 12.000000)">
                 <g id="编组" transform="translate(165.333333, 18.000000) rotate(-360.000000) translate(-165.333333, -18.000000) translate(161.000000, 12.000000)">

+ 1 - 1
src/page-gym/header-top/image/icon-back.svg

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-27.000000, -123.000000)">
         <g id="画板" transform="translate(-27.000000, -123.000000)">
             <g id="返回箭头备份" transform="translate(43.000000, 139.000000) scale(-1, 1) translate(-43.000000, -139.000000) translate(27.000000, 123.000000)">
             <g id="返回箭头备份" transform="translate(43.000000, 139.000000) scale(-1, 1) translate(-43.000000, -139.000000) translate(27.000000, 123.000000)">
                 <circle id="椭圆形" fill="#FFFFFF" cx="16" cy="16" r="16"></circle>
                 <circle id="椭圆形" fill="#FFFFFF" cx="16" cy="16" r="16"></circle>

+ 1 - 1
src/page-gym/header-top/image/menu.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 4</title>
     <title>编组 5备份 4</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-587.000000, -55.000000)">
         <g id="画板" transform="translate(-587.000000, -55.000000)">
             <g id="编组-5备份-4" transform="translate(589.000000, 57.000000)">
             <g id="编组-5备份-4" transform="translate(589.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
src/page-gym/header-top/image/replay.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 4</title>
     <title>编组 5备份 4</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-499.000000, -55.000000)">
         <g id="画板" transform="translate(-499.000000, -55.000000)">
             <g id="编组-5备份-4" transform="translate(501.000000, 57.000000)">
             <g id="编组-5备份-4" transform="translate(501.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
src/page-gym/header-top/image/section0.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份</title>
     <title>编组 5备份</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-176.000000, -55.000000)">
         <g id="画板" transform="translate(-176.000000, -55.000000)">
             <g id="编组-5备份" transform="translate(178.000000, 57.000000)">
             <g id="编组-5备份" transform="translate(178.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
src/page-gym/header-top/image/section1.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 3</title>
     <title>编组 5备份 3</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-217.000000, -55.000000)">
         <g id="画板" transform="translate(-217.000000, -55.000000)">
             <g id="编组-5备份-3" transform="translate(219.000000, 57.000000)">
             <g id="编组-5备份-3" transform="translate(219.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
src/page-gym/header-top/image/section2.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 5</title>
     <title>编组 5备份 5</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-258.000000, -55.000000)">
         <g id="画板" transform="translate(-258.000000, -55.000000)">
             <g id="编组-5备份-5" transform="translate(260.000000, 57.000000)">
             <g id="编组-5备份-5" transform="translate(260.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
src/page-gym/header-top/image/speed.svg

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>编组 5备份 4</title>
     <title>编组 5备份 4</title>
-    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="云练2版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="画板" transform="translate(-549.000000, -55.000000)">
         <g id="画板" transform="translate(-549.000000, -55.000000)">
             <g id="编组-5备份-4" transform="translate(551.000000, 57.000000)">
             <g id="编组-5备份-4" transform="translate(551.000000, 57.000000)">
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>
                 <rect id="矩形" stroke="#8EE1DC" stroke-width="2" fill="#FFFFFF" x="-1" y="-1" width="32" height="32" rx="12"></rect>

+ 1 - 1
src/page-gym/musci-list/index.tsx

@@ -99,7 +99,7 @@ export default defineComponent({
 				musicData.vipShow = true;
 				musicData.vipShow = true;
 				return;
 				return;
 			}
 			}
-			// 销毁云
+			// 销毁云练
 			api_cloudDestroy();
 			api_cloudDestroy();
 
 
 			const searchStr = queryString.stringify({
 			const searchStr = queryString.stringify({

+ 1 - 1
src/page-gym/musci-list/vipModel/index.tsx

@@ -11,7 +11,7 @@ export default defineComponent({
 			<div class={styles.fraction}>
 			<div class={styles.fraction}>
 				<img class={styles.closeBtn} src={iconBack} onClick={() => emit('close')} />
 				<img class={styles.closeBtn} src={iconBack} onClick={() => emit('close')} />
 				<img class={styles.icon} src={iconVip} />
 				<img class={styles.icon} src={iconVip} />
-				<div class={styles.tip}>您尚未开通云练服务,请联系乐团老师开通</div>
+				<div class={styles.tip}>您尚未开通云练服务,请联系乐团老师开通</div>
 				<div class={styles.btns}>
 				<div class={styles.btns}>
 					<div style={{ background: "var(--van-primary-color)" }} class={styles.btn} onClick={() => emit("close", true)}>
 					<div style={{ background: "var(--van-primary-color)" }} class={styles.btn} onClick={() => emit("close", true)}>
 						确认
 						确认

+ 1 - 1
src/page-instrument/App.tsx

@@ -70,7 +70,7 @@ export default defineComponent({
       setBehaviorId(getRandomKey());
       setBehaviorId(getRandomKey());
     });
     });
 
 
-    // 老师端云练,上下键切资源
+    // 老师端云练,上下键切资源
     const onKeyBoard = (e: KeyboardEvent) => {
     const onKeyBoard = (e: KeyboardEvent) => {
       if (e.code === "ArrowUp") {
       if (e.code === "ArrowUp") {
         window.parent.postMessage(
         window.parent.postMessage(

+ 2 - 4
src/page-instrument/component/mode-type-mode/index.tsx

@@ -29,10 +29,8 @@ export default defineComponent({
         // PC
         // PC
         data.showPC = true;
         data.showPC = true;
       } else {
       } else {
-        // 添加学校上设置【课件解锁】,判断逻辑
-        const schoolInfos = storeData.user.schoolInfos;
-        const schoolLock = schoolInfos && schoolInfos.length > 0 ? schoolInfos[0].needVipLock : true;
-        if (storeData.user.vipMember || !schoolLock) {
+        // 从课堂乐器学生端课件预览默认不显示会员
+        if (storeData.user.vipMember || state.paymentType === "FREE" || query.showCourseMember === "true") {
           // 学生端
           // 学生端
           data.showStudent = true;
           data.showStudent = true;
         } else {
         } else {

BIN
src/page-instrument/component/the-music-list/icon-music-vip.png


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