skyblued 2 anos atrás
pai
commit
09efb87c25

+ 207 - 111
index.html

@@ -1,117 +1,213 @@
 <!DOCTYPE html>
 <html lang="ZH-cn">
-<head>
-  <meta charset="UTF-8">
-  <link rel="icon" href="/favicon.ico" />
-  <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
-  <!-- <link rel="preconnect" href="https://fonts.loli.net"> -->
-  <!-- <link href="https://fonts.loli.net/css2?family=Roboto:wght@700&display=swap" rel="stylesheet"> -->
-  <script type="text/javascript">document.write(unescape("%3Cspan id='cnzz_stat_icon_1279349593'%3E%3C/span%3E%3Cscript src='https://s9.cnzz.com/z_stat.php%3Fid%3D1279349593%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));</script>
-  <script type="text/javascript">
-    // if (window.location.hostname !== 'mstuonline.dayaedu.com') {
-    //   document.write(unescape("%3Cscript%20src%3D%22https%3A//cdn.jsdelivr.net/npm/eruda@2.4.1/eruda.min.js%22%3E%3C/script%3E"))
-    // }
-    if (window._czc) {
-      window._czc.push(["_setAutoPageView", false])
-    }
-  </script>
-  <script>
-    // if (window.location.hostname !== 'mstuonline.dayaedu.com') {
-    //   eruda.init()
-    // }
-    if(window.navigator && navigator.serviceWorker) {
-      navigator.serviceWorker.getRegistrations()
-      .then(function(registrations) {
-        for(let registration of registrations) {
-          registration.unregister();
+  <head>
+    <meta charset="UTF-8" />
+    <link rel="icon" href="/favicon.ico" />
+    <meta name="description" content="酷乐秀APP,器乐学习的不二选择" />
+    <title>酷乐秀</title>
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />
+    <!-- <link rel="preconnect" href="https://fonts.loli.net"> -->
+    <!-- <link href="https://fonts.loli.net/css2?family=Roboto:wght@700&display=swap" rel="stylesheet"> -->
+    <script type="text/javascript">
+      document.write(
+        unescape(
+          "%3Cspan id='cnzz_stat_icon_1279349593'%3E%3C/span%3E%3Cscript src='https://s9.cnzz.com/z_stat.php%3Fid%3D1279349593%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"
+        )
+      )
+    </script>
+    <script type="text/javascript">
+      // if (window.location.hostname !== 'mstuonline.dayaedu.com') {
+      //   document.write(unescape("%3Cscript%20src%3D%22https%3A//cdn.jsdelivr.net/npm/eruda@2.4.1/eruda.min.js%22%3E%3C/script%3E"))
+      // }
+      if (window._czc) {
+        window._czc.push(['_setAutoPageView', false])
+      }
+    </script>
+    <script>
+      // if (window.location.hostname !== 'mstuonline.dayaedu.com') {
+      //   eruda.init()
+      // }
+      if (window.navigator && navigator.serviceWorker) {
+        navigator.serviceWorker.getRegistrations().then(function (registrations) {
+          for (let registration of registrations) {
+            registration.unregister()
+          }
+        })
+      }
+      function getBroswer() {
+        var Sys = {}
+        var ua = navigator.userAgent.toLowerCase()
+        var s
+        ;(s = ua.match(/edge\/([\d.]+)/))
+          ? (Sys.edge = s[1])
+          : (s = ua.match(/rv:([\d.]+)\) like gecko/))
+          ? (Sys.ie = s[1])
+          : (s = ua.match(/msie ([\d.]+)/))
+          ? (Sys.ie = s[1])
+          : (s = ua.match(/firefox\/([\d.]+)/))
+          ? (Sys.firefox = s[1])
+          : (s = ua.match(/chrome\/([\d.]+)/))
+          ? (Sys.chrome = s[1])
+          : (s = ua.match(/opera.([\d.]+)/))
+          ? (Sys.opera = s[1])
+          : (s = ua.match(/version\/([\d.]+).*safari/))
+          ? (Sys.safari = s[1])
+          : 0
+
+        if (Sys.edge) return { broswer: 'Edge', version: Sys.edge }
+        if (Sys.ie) return { broswer: 'IE', version: Sys.ie }
+        if (Sys.firefox) return { broswer: 'Firefox', version: Sys.firefox }
+        if (Sys.chrome) return { broswer: 'Chrome', version: Sys.chrome }
+        if (Sys.opera) return { broswer: 'Opera', version: Sys.opera }
+        if (Sys.safari) return { broswer: 'Safari', version: Sys.safari }
+
+        return { broswer: '', version: '0' }
+      }
+      var broswer = getBroswer()
+      window.addEventListener('DOMContentLoaded', function () {
+        if (broswer.broswer === 'Chrome' && parseFloat(broswer.version) <= 50) {
+          document.getElementById('update').className = 'show'
+          document.getElementById('loading').className = ''
         }
-      });
-    }
-    function getBroswer(){
-      var Sys = {};
-      var ua = navigator.userAgent.toLowerCase();
-      var s;
-      (s = ua.match(/edge\/([\d.]+)/)) ? Sys.edge = s[1] :
-      (s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] :
-      (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
-      (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
-      (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
-      (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
-      (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
+      })
+      // console.log("broswer:"+abc.broswer+" version:"+abc.version);
+    </script>
+    <style>
+      #loading {
+        position: fixed;
+        left: 50%;
+        top: 50%;
+        transform: translate(-50%, -50%);
+        visibility: hidden;
+        opacity: 0;
+        transition: opacity 0.3s;
+        text-align: center;
+        color: #1e293b;
+      }
+      #loading > div {
+        display: none;
+        font-size: 24px;
+      }
+      #loading a {
+        color: #01c1b5;
+        text-decoration: none;
+      }
+      #loading.show {
+        visibility: visible;
+        opacity: 1;
+      }
+      #cnzz_stat_icon_1279349593 {
+        display: none;
+      }
+      #update {
+        margin-top: 100px;
+        opacity: 0;
+        visibility: hidden;
+        transform: opacity 0.3s;
+        position: absolute;
+        top: 0;
+        left: 50%;
+        transform: translateX(-50%);
+      }
+      #update.show {
+        opacity: 1;
+        visibility: visible;
+      }
+      #update img {
+        display: block;
+        margin: auto;
+        width: 150px;
+        height: 150px;
+      }
+      #update span {
+        display: block;
+        max-width: 90%;
+        margin: auto;
+        margin-top: 30px;
+        color: rgba(0, 0, 0, 0.65);
+        line-height: 1.8;
+      }
+    </style>
+  </head>
+  <body>
+    <div id="app"></div>
+    <div id="loading" class="show">
+      <img src="/loading.svg" alt="loading" />
+      <div>请求时间过长,请检查网络环境 <a href="javascript:;" onclick="_back()">点击返回</a></div>
+    </div>
+    <script>
+      const _onlyPostmessage = (function () {
+        'use strict'
+        const getRandomKey = () => {
+          return '' + new Date().getTime() + Math.floor(Math.random() * 1000000)
+        }
+
+        /**
+         * @param instanceKey 实例函数key
+         */
+        var onlyPostmessage = (instanceKey) => {
+          var _a, _b
+          const win = window
+          win.originalPostMessage = win.originalPostMessage || window.postMessage
+          const instance =
+            win[instanceKey] ||
+            ((_b = (_a = win.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0
+              ? void 0
+              : _b[instanceKey])
+          return function (data) {
+            if (instance) {
+              const uuid = getRandomKey()
+              data.content = data.content ? Object.assign(Object.assign({}, data.content), { uuid }) : { uuid }
+              instance.postMessage(JSON.stringify(data))
+              console.log('send:', JSON.stringify(data))
+            }
+          }
+        }
+
+        return onlyPostmessage
+      })()
+
+      window._setupMessage = _onlyPostmessage('COLEXIU')
+      if (location.origin.indexOf('192.168') > -1 && location.href.indexOf('&acc=1') === -1 && !document.hidden) {
+        window._setupMessage({
+          api: 'openAccompanyWebView',
+          content: {
+            // url: location.origin + '/accompany?id=' + item.id, 
+            url: location.origin + location.pathname + '?id=50970&acc=1',
+            orientation: 0,
+            isHideTitle: true,
+            statusBarTextColor: false,
+            isOpenLight: true,
+          },
+        })
+      }
 
-      if (Sys.edge) return { broswer : "Edge", version : Sys.edge };
-      if (Sys.ie) return { broswer : "IE", version : Sys.ie };
-      if (Sys.firefox) return { broswer : "Firefox", version : Sys.firefox };
-      if (Sys.chrome) return { broswer : "Chrome", version : Sys.chrome };
-      if (Sys.opera) return { broswer : "Opera", version : Sys.opera };
-      if (Sys.safari) return { broswer : "Safari", version : Sys.safari };
+      ;(function () {
+        window.isLoading = true
+        window._setupMessage({
+          api: 'cloudLoading',
+          content: {
+            show: true,
+            type: 'fullscreen',
+          },
+        })
+        try {
+          setTimeout(() => {
+            var tips = document.querySelector('#loading div')
+            if (tips) {
+              tips.style.display = 'block'
+            }
+          }, 10 * 1000)
+        } catch (error) {}
+      })()
 
-      return { broswer : "", version : "0" };
-  }
-  var broswer = getBroswer();
-  window.addEventListener('DOMContentLoaded', function() {
-    if (broswer.broswer === 'Chrome' && parseFloat(broswer.version) <= 50) {
-      document.getElementById('update').className = 'show'
-      document.getElementById('loading').className = ''
-    }
-  })
-  // console.log("broswer:"+abc.broswer+" version:"+abc.version);
-  </script>
-  <title>管乐迷</title>
-  <style>
-    #loading{
-      position: fixed;
-      left: 50%;
-      top: 50%;
-      transform: translate(-50%, -50%);
-      visibility: hidden;
-      opacity: 0;
-      transition: opacity .3s;
-    }
-    #loading.show {
-      visibility: visible;
-      opacity: 1;
-    }
-    #cnzz_stat_icon_1279349593{
-      display: none;
-    }
-    #update{
-      margin-top: 100px;
-      opacity: 0;
-      visibility: hidden;
-      transform: opacity .3s;
-      position: absolute;
-      top: 0;
-      left: 50%;
-      transform: translateX(-50%);
-    }
-    #update.show{
-      opacity: 1;
-      visibility: visible;
-    }
-    #update img{
-      display: block;
-      margin: auto;
-      width: 150px;
-      height: 150px;
-    }
-    #update span{
-      display: block;
-      max-width: 90%;
-      margin: auto;
-      margin-top: 30px;
-      color: rgba(0, 0, 0, .65);
-      line-height: 1.8;
-    }
-  </style>
-</head>
-<body>
-  <div id="app"></div>
-  <div id="update">
-    <img src="/update.png" />
-    <span>您的系统当前版本过低,请及时前往系统设置进行升级。</span>
-  </div>
-  <img id="loading" class="show" src="/loading.svg" alt="loading"/>
-  <script type="module" src="/src/main.ts"></script>
-</body>
+      function _back() {
+        window._setupMessage({
+          api: 'back',
+        })
+      }
+      this.globalThis || (this.globalThis = this)
+    </script>
+    <script type="module" src="/src/subpages/colexiu/main.ts"></script>
+  </body>
 </html>

Diferenças do arquivo suprimidas por serem muito extensas
+ 231 - 141
src/components/empty/error.svg


+ 15 - 0
src/subpages/colexiu/App.tsx

@@ -0,0 +1,15 @@
+import { defineComponent, onMounted } from 'vue'
+import qs from 'query-string'
+import '../../vue-tsx-shim.d'
+import '../../app.d'
+import { useRoute } from 'vue-router'
+
+export default defineComponent({
+  setup(){
+    const route = useRoute()
+    sessionStorage.setItem('Authorization', route.query.Authorization as string)
+  },
+  render() {
+    return <router-view></router-view>
+  },
+})

+ 5 - 2
src/subpages/colexiu/app.css

@@ -1,6 +1,9 @@
+*,*::after,*::before{
+  box-sizing: border-box;
+}
 :root {
-  --primary-color: #2dc7aa;
-  --van-primary-color: #2dc7aa;
+  --primary-color: #ff8057;
+  --van-primary-color: #ff8057;
   --van-padding-base: 2px;
   --van-padding-xs: 3px;
   --van-padding-sm: 4px;

Diferenças do arquivo suprimidas por serem muito extensas
+ 7 - 4
src/subpages/colexiu/buttons/icons/fingeringOn.svg


+ 57 - 0
src/subpages/colexiu/buttons/icons/icon-back.svg

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="32px" height="33px" viewBox="0 0 32 33" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 11</title>
+    <defs>
+        <linearGradient x1="-5.48380785e-12%" y1="5.38483651%" x2="100%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#FF9C63" offset="0%"></stop>
+            <stop stop-color="#FF7144" offset="100%"></stop>
+        </linearGradient>
+        <circle id="path-2" cx="15" cy="15" r="15"></circle>
+        <filter x="-8.3%" y="-5.0%" width="116.7%" height="120.0%" filterUnits="objectBoundingBox" id="filter-3">
+            <feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.741508152   0 0 0 0 0.472091343   0 0 0 0 0.43649793  0 0 0 0.273082386 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-10.0%" y="-6.7%" width="120.0%" height="123.3%" filterUnits="objectBoundingBox" id="filter-4">
+            <feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="0" dy="1" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.5 0" type="matrix" in="shadowInnerInner1" result="shadowMatrixInner1"></feColorMatrix>
+            <feGaussianBlur stdDeviation="0.5" in="SourceAlpha" result="shadowBlurInner2"></feGaussianBlur>
+            <feOffset dx="-1" dy="-3" in="shadowBlurInner2" result="shadowOffsetInner2"></feOffset>
+            <feComposite in="shadowOffsetInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.983016304   0 0 0 0 0.353183073   0 0 0 0 0.108247927  0 0 0 0.462194056 0" type="matrix" in="shadowInnerInner2" result="shadowMatrixInner2"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixInner1"></feMergeNode>
+                <feMergeNode in="shadowMatrixInner2"></feMergeNode>
+            </feMerge>
+        </filter>
+        <polyline id="path-5" points="7.5 15 0 7.5 7.5 0"></polyline>
+        <filter x="-100.0%" y="-47.5%" width="335.0%" height="221.6%" filterUnits="objectBoundingBox" id="filter-6">
+            <feMorphology radius="1.5" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
+            <feOffset dx="1" dy="2" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
+            <feMorphology radius="1.5" operator="erode" in="SourceAlpha" result="shadowInner"></feMorphology>
+            <feOffset dx="1" dy="2" in="shadowInner" result="shadowInner"></feOffset>
+            <feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"></feComposite>
+            <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.421828951   0 0 0 0 0.235175305  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+    </defs>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="云教练主界面" transform="translate(-34.000000, -22.000000)">
+            <g id="编组-11" transform="translate(35.000000, 22.000000)">
+                <g id="椭圆形">
+                    <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+                    <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+                    <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
+                </g>
+                <g id="图标/通用/返回" transform="translate(10.500000, 7.500000)" stroke-linecap="round" stroke-linejoin="round">
+                    <g id="Stroke-1">
+                        <use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
+                        <use stroke="#FFFFFF" stroke-width="3" xlink:href="#path-5"></use>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 185 - 40
src/subpages/colexiu/buttons/icons/model-1.svg

@@ -1,64 +1,209 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg width="138px" height="50px" viewBox="0 0 138 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <title>切片</title>
+<svg width="155px" height="60px" viewBox="0 0 155 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>练习模式</title>
     <defs>
-        <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
-            <stop stop-color="#46DABE" offset="0%"></stop>
-            <stop stop-color="#2DC7AA" offset="100%"></stop>
+        <linearGradient x1="1.13925066%" y1="50.5385785%" x2="98.3607776%" y2="54.0187718%" id="linearGradient-1">
+            <stop stop-color="#4491F6" offset="0.0901442308%"></stop>
+            <stop stop-color="#0D76F2" offset="100%"></stop>
         </linearGradient>
-        <rect id="path-2" x="0" y="0" width="138" height="50" rx="25"></rect>
-        <filter x="-1.8%" y="-5.0%" width="103.6%" height="110.0%" filterUnits="objectBoundingBox" id="filter-3">
-            <feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
-            <feOffset dx="0" dy="-2" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+        <linearGradient x1="1.53494909%" y1="47.068179%" x2="95.8156984%" y2="54.2186313%" id="linearGradient-2">
+            <stop stop-color="#8AC7FF" offset="0%"></stop>
+            <stop stop-color="#4298FE" offset="100%"></stop>
+        </linearGradient>
+        <rect id="path-3" x="0" y="0" width="155" height="53" rx="26.5"></rect>
+        <filter x="-0.5%" y="-1.4%" width="101.0%" height="102.8%" filterUnits="objectBoundingBox" id="filter-5">
+            <feGaussianBlur stdDeviation="0.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="0" dy="-0.5" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
             <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
-            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0.704144022   0 0 0 0 0.569800754  0 0 0 1 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 1 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+        </filter>
+        <filter x="-15.8%" y="-19.1%" width="131.7%" height="135.3%" filterUnits="objectBoundingBox" id="filter-6">
+            <feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.207264325   0 0 0 0 0.523077576   0 0 0 0 0.90772192  0 0 0 1 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
+                <feMergeNode in="SourceGraphic"></feMergeNode>
+            </feMerge>
         </filter>
-        <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-4">
-            <stop stop-color="#FFFFFF" stop-opacity="0.5" offset="0%"></stop>
-            <stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
+        <linearGradient x1="50%" y1="-5.00209214e-14%" x2="50%" y2="100%" id="linearGradient-7">
+            <stop stop-color="#FFDE84" offset="0.0464379371%"></stop>
+            <stop stop-color="#FFBF39" offset="100%"></stop>
         </linearGradient>
-        <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-5">
-            <stop stop-color="#FFFFFF" offset="0%"></stop>
-            <stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
+        <path d="M5.80031537,5.60063074 L17.5356461,5.60063074 C19.1925003,5.60063074 20.5356461,6.94377649 20.5356461,8.60063074 L20.5356461,35.4706614 L20.5356461,35.4706614 L5.80031537,35.4706614 C4.14346112,35.4706614 2.80031537,34.1275156 2.80031537,32.4706614 L2.80031537,8.60063074 C2.80031537,6.94377649 4.14346112,5.60063074 5.80031537,5.60063074 Z" id="path-8"></path>
+        <filter x="-11.3%" y="-3.3%" width="122.6%" height="113.4%" filterUnits="objectBoundingBox" id="filter-9">
+            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.611764706   0 0 0 0 0.141176471  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <path d="M3,0 L14.7353307,0 C16.3921849,-7.48448398e-16 17.7353307,1.34314575 17.7353307,3 L17.7353307,26.8700306 C17.7353307,28.5268849 16.3921849,29.8700306 14.7353307,29.8700306 L0,29.8700306 L0,29.8700306 L0,3 C-6.46995335e-16,1.34314575 1.34314575,-1.47199765e-15 3,0 Z" id="path-10"></path>
+        <filter x="-11.3%" y="-3.3%" width="122.6%" height="113.4%" filterUnits="objectBoundingBox" id="filter-12">
+            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.612283159   0 0 0 0 0.139576982  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <linearGradient x1="50%" y1="-5.00209214e-14%" x2="50%" y2="100%" id="linearGradient-13">
+            <stop stop-color="#FFE18A" offset="0%"></stop>
+            <stop stop-color="#FFB735" offset="100%"></stop>
         </linearGradient>
-        <text id="text-6" font-family="STYuanti-SC-Bold, Yuanti SC" font-size="15" font-weight="bold" fill="#FFFFFF">
-            <tspan x="0" y="16">练习模式</tspan>
+        <rect id="path-14" x="8.40094611" y="-1.86687691" width="5.60063074" height="9.33438457" rx="2"></rect>
+        <filter x="-58.0%" y="-29.5%" width="216.1%" height="169.6%" filterUnits="objectBoundingBox" id="filter-15">
+            <feOffset dx="0" dy="0.5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.752273777   0 0 0 0 0.189710366  0 0 0 0.675480769 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-40.2%" y="-18.7%" width="180.3%" height="148.2%" filterUnits="objectBoundingBox" id="filter-16">
+            <feOffset dx="-0.5" dy="-0.5" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.626246612   0 0 0 0 0.256554878  0 0 0 0.574000219 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+        </filter>
+        <path d="M9.21711842,7.19947544 L6.82934363,7.77555354 C6.56090333,7.84031785 6.29078762,7.67520583 6.22602332,7.40676553 C6.20742887,7.32969376 6.20742887,7.24930499 6.22602332,7.17223323 L6.80210142,4.78445844 C6.82069586,4.70738667 6.82069586,4.6269979 6.80210142,4.54992613 L6.22602332,2.16215134 C6.16125901,1.89371104 6.32637103,1.62359534 6.59481133,1.55883103 C6.67188309,1.54023658 6.75227186,1.54023658 6.82934363,1.55883103 L9.21711842,2.13490913 C9.29419019,2.15350358 9.37457896,2.15350358 9.45165072,2.13490913 L11.8394255,1.55883103 C12.1078658,1.49406672 12.3779815,1.65917874 12.4427458,1.92761904 C12.4613403,2.00469081 12.4613403,2.08507958 12.4427458,2.16215134 L11.8666677,4.54992613 C11.8480733,4.6269979 11.8480733,4.70738667 11.8666677,4.78445844 L12.4427458,7.17223323 C12.5075101,7.44067353 12.3423981,7.71078924 12.0739578,7.77555354 C11.9968861,7.79414799 11.9164973,7.79414799 11.8394255,7.77555354 L9.45165072,7.19947544 C9.37457896,7.18088099 9.29419019,7.18088099 9.21711842,7.19947544 Z" id="path-17"></path>
+        <filter x="-35.2%" y="-35.2%" width="200.7%" height="200.7%" filterUnits="objectBoundingBox" id="filter-18">
+            <feOffset dx="1" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.778097148   0 0 0 0 0.278431373  0 0 0 0.575065559 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-42.8%" y="-42.8%" width="215.8%" height="215.8%" filterUnits="objectBoundingBox" id="filter-19">
+            <feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="0" dy="-1" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.59585469   0 0 0 0 0.0803734756  0 0 0 1 0" type="matrix" in="shadowInnerInner1" result="shadowMatrixInner1"></feColorMatrix>
+            <feGaussianBlur stdDeviation="1" in="SourceAlpha" result="shadowBlurInner2"></feGaussianBlur>
+            <feOffset dx="0" dy="0.5" in="shadowBlurInner2" result="shadowOffsetInner2"></feOffset>
+            <feComposite in="shadowOffsetInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.957798015   0 0 0 0 0.488433689  0 0 0 1 0" type="matrix" in="shadowInnerInner2" result="shadowMatrixInner2"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixInner1"></feMergeNode>
+                <feMergeNode in="shadowMatrixInner2"></feMergeNode>
+            </feMerge>
+        </filter>
+        <path d="M31.9014013,7.79253567 L31.1637282,7.97050779 C30.8952879,8.03527209 30.6251722,7.87016008 30.5604079,7.60171978 C30.5418134,7.52464801 30.5418134,7.44425924 30.5604079,7.36718747 L30.73838,6.62951434 C30.7569745,6.55244257 30.7569745,6.4720538 30.73838,6.39498204 L30.5604079,5.6573089 C30.4956436,5.3888686 30.6607556,5.1187529 30.9291959,5.05398859 C31.0062677,5.03539414 31.0866564,5.03539414 31.1637282,5.05398859 L31.9014013,5.23196071 C31.9784731,5.25055516 32.0588619,5.25055516 32.1359336,5.23196071 L32.8736068,5.05398859 C33.1420471,4.98922428 33.4121628,5.1543363 33.4769271,5.4227766 C33.4955215,5.49984837 33.4955215,5.58023714 33.4769271,5.6573089 L33.298955,6.39498204 C33.2803605,6.4720538 33.2803605,6.55244257 33.298955,6.62951434 L33.4769271,7.36718747 C33.5416914,7.63562777 33.3765794,7.90574348 33.1081391,7.97050779 C33.0310673,7.98910224 32.9506785,7.98910224 32.8736068,7.97050779 L32.1359336,7.79253567 C32.0588619,7.77394122 31.9784731,7.77394122 31.9014013,7.79253567 Z" id="path-20"></path>
+        <filter x="-24.9%" y="-55.2%" width="210.4%" height="210.4%" filterUnits="objectBoundingBox" id="filter-21">
+            <feOffset dx="1" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.195348368   0 0 0 0 0.541768094   0 0 0 0 0.903249547  0 0 0 0.647973121 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <text id="text-22" font-family="STYuanti-SC-Bold, Yuanti SC" font-size="16" font-weight="bold" fill="#FFFFFF">
+            <tspan x="0" y="17">练习模式</tspan>
         </text>
-        <filter x="-3.3%" y="-4.8%" width="106.7%" height="119.0%" filterUnits="objectBoundingBox" id="filter-7">
+        <filter x="-3.1%" y="-4.5%" width="106.2%" height="118.2%" filterUnits="objectBoundingBox" id="filter-23">
             <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
             <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0.318367388   0 0 0 0 0.848505435   0 0 0 0 0.748674244  0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+            <feColorMatrix values="0 0 0 0 0.214448957   0 0 0 0 0.560766454   0 0 0 0 0.982563406  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
         </filter>
-        <text id="text-8" font-family="STYuanti-SC-Light, Yuanti SC" font-size="10" font-weight="300" fill="#FFFFFF">
-            <tspan x="0" y="30">原音指法跟播</tspan>
+        <text id="text-24" font-family="STYuanti-SC-Regular, Yuanti SC" font-size="11" font-weight="normal" fill="#FFFFFF">
+            <tspan x="0" y="36">原音指法跟播</tspan>
         </text>
-        <filter x="-3.3%" y="-7.1%" width="106.7%" height="128.6%" filterUnits="objectBoundingBox" id="filter-9">
+        <filter x="-3.0%" y="-6.2%" width="106.1%" height="125.0%" filterUnits="objectBoundingBox" id="filter-25">
             <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
             <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0.318367388   0 0 0 0 0.848505435   0 0 0 0 0.748674244  0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+            <feColorMatrix values="0 0 0 0 0.215686275   0 0 0 0 0.560784314   0 0 0 0 0.984313725  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-28.1%" y="-28.1%" width="156.2%" height="156.2%" filterUnits="objectBoundingBox" id="filter-26">
+            <feOffset dx="0" dy="1.5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.556862745   0 0 0 0 0.752941176   0 0 0 0 1  0 0 0 0.759151005 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
+                <feMergeNode in="SourceGraphic"></feMergeNode>
+            </feMerge>
+        </filter>
+        <linearGradient x1="35.6842992%" y1="27.5455361%" x2="39.8344417%" y2="79.7764772%" id="linearGradient-27">
+            <stop stop-color="#B1D3FF" offset="0%"></stop>
+            <stop stop-color="#4F9FFF" offset="100%"></stop>
+        </linearGradient>
+        <path d="M1.104,10.632 C1.104,9.96 1.268,9.508 1.596,9.276 C1.924,9.044 2.44,8.928 3.144,8.928 C3.464,8.928 3.968,8.932 4.656,8.94 C5.344,8.948 6.076,8.952 6.852,8.952 C7.628,8.952 8.384,8.956 9.12,8.964 C9.856,8.972 10.44,8.976 10.872,8.976 C11.48,8.992 11.96,8.94 12.312,8.82 C12.664,8.7 12.84,8.424 12.84,7.992 C12.84,7.672 12.852,7.292 12.876,6.852 C12.9,6.412 12.912,6.032 12.912,5.712 C12.928,5.152 13.088,4.796 13.392,4.644 C13.696,4.492 14.08,4.608 14.544,4.992 C15.024,5.376 15.584,5.832 16.224,6.36 C16.864,6.888 17.528,7.428 18.216,7.98 C18.904,8.532 19.576,9.076 20.232,9.612 C20.888,10.148 21.472,10.616 21.984,11.016 C22.448,11.4 22.684,11.764 22.6922105,12.108 C22.7,12.452 22.48,12.808 22.032,13.176 C21.568,13.56 21.02,14 20.388,14.496 C19.756,14.992 19.1,15.504 18.42,16.032 C17.74,16.56 17.072,17.084 16.416,17.604 C15.76,18.124 15.176,18.584 14.664,18.984 C14.104,19.432 13.644,19.6 13.284,19.488 C12.924,19.376 12.752,19.032 12.768,18.456 L12.768,17.88 L12.768,17.184 C12.768,16.944 12.764,16.708 12.756,16.476 C12.748,16.244 12.744,16.032 12.744,15.84 C12.744,15.44 12.624,15.188 12.384,15.084 C12.144,14.98 11.816,14.928 11.4,14.928 C10.936,14.928 10.328,14.924 9.576,14.916 C8.824,14.908 8.04,14.904 7.224,14.904 C6.408,14.904 5.616,14.9 4.848,14.892 C4.08,14.884 3.456,14.88 2.976,14.88 C2.768,14.88 2.552,14.86 2.328,14.82 C2.104,14.78 1.9,14.704 1.716,14.592 C1.532,14.48 1.384,14.316 1.272,14.1 C1.16,13.884 1.104,13.592 1.104,13.224 C1.104,12.792 1.1,12.376 1.092,11.976 C1.084,11.576 1.088,11.128 1.104,10.632 L1.104,10.632 Z" id="path-28"></path>
+        <filter x="-9.3%" y="-13.4%" width="118.5%" height="126.8%" filterUnits="objectBoundingBox" id="filter-29">
+            <feGaussianBlur stdDeviation="1" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="-1" dy="-2" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.196855945   0 0 0 0 0.557688781   0 0 0 0 1  0 0 0 0.71216674 0" type="matrix" in="shadowInnerInner1" result="shadowMatrixInner1"></feColorMatrix>
+            <feGaussianBlur stdDeviation="0.5" in="SourceAlpha" result="shadowBlurInner2"></feGaussianBlur>
+            <feOffset dx="0" dy="2.5" in="shadowBlurInner2" result="shadowOffsetInner2"></feOffset>
+            <feComposite in="shadowOffsetInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.539367378   0 0 0 0 0.724284801   0 0 0 0 1  0 0 0 0.527534965 0" type="matrix" in="shadowInnerInner2" result="shadowMatrixInner2"></feColorMatrix>
+            <feGaussianBlur stdDeviation="0.5" in="SourceAlpha" result="shadowBlurInner3"></feGaussianBlur>
+            <feOffset dx="0" dy="0.5" in="shadowBlurInner3" result="shadowOffsetInner3"></feOffset>
+            <feComposite in="shadowOffsetInner3" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner3"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.319798018   0 0 0 0 0.624837051   0 0 0 0 1  0 0 0 0.644367351 0" type="matrix" in="shadowInnerInner3" result="shadowMatrixInner3"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixInner1"></feMergeNode>
+                <feMergeNode in="shadowMatrixInner2"></feMergeNode>
+                <feMergeNode in="shadowMatrixInner3"></feMergeNode>
+            </feMerge>
         </filter>
     </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="主界面(10.18)" transform="translate(-154.000000, -290.000000)">
-            <g id="示范模式" transform="translate(154.000000, 290.000000)">
-                <g id="矩形">
-                    <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
-                    <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
-                </g>
-                <g id="编组-11" transform="translate(14.000000, 10.000000)">
-                    <circle id="椭圆形" fill="url(#linearGradient-4)" cx="15" cy="15" r="15"></circle>
-                    <path d="M24,14.5 C24,9.25329488 19.7467051,5 14.5,5 C9.25329488,5 5,9.25329488 5,14.5 C5,19.7467051 9.25329488,24 14.5,24" id="路径" stroke="url(#linearGradient-5)" stroke-width="2" stroke-linecap="round" transform="translate(14.500000, 14.500000) rotate(-270.000000) translate(-14.500000, -14.500000) "></path>
-                    <path d="M17.7929013,12.6979322 L20.464394,17.2394698 C20.8844232,17.9535195 20.6460726,18.8728721 19.9320229,19.2929013 C19.7015079,19.4284984 19.4389319,19.5 19.1714927,19.5 L13.8285073,19.5 C13.0000802,19.5 12.3285073,18.8284271 12.3285073,18 C12.3285073,17.7325608 12.400009,17.4699848 12.535606,17.2394698 L15.2070987,12.6979322 C15.6271279,11.9838826 16.5464805,11.7455319 17.2605302,12.1655611 C17.4803607,12.2948732 17.6635893,12.4781017 17.7929013,12.6979322 Z" id="三角形" fill="#FFFFFF" transform="translate(16.500000, 15.000000) rotate(-270.000000) translate(-16.500000, -15.000000) "></path>
-                    <path d="M13.8574929,22.5124882 L15.5913025,25.4021709 C15.8754507,25.8757512 15.7218856,26.4900114 15.2483054,26.7741596 C15.09289,26.8674088 14.9150535,26.9166667 14.7338096,26.9166667 L11.2661904,26.9166667 C10.7139056,26.9166667 10.2661904,26.4689514 10.2661904,25.9166667 C10.2661904,25.7354227 10.3154482,25.5575863 10.4086975,25.4021709 L12.1425071,22.5124882 C12.4266552,22.038908 13.0409155,21.8853429 13.5144958,22.1694911 C13.6552454,22.2539408 13.7730432,22.3717386 13.8574929,22.5124882 Z" id="三角形备份" fill="#FFFFFF" transform="translate(13.000000, 24.000000) rotate(-90.000000) translate(-13.000000, -24.000000) "></path>
+        <g id="云教练主界面" transform="translate(-119.000000, -288.000000)">
+            <g id="练习模式" transform="translate(119.000000, 288.000000)">
+                <rect id="矩形" fill="url(#linearGradient-1)" x="0" y="0" width="155" height="60" rx="27"></rect>
+                <g id="编组-10">
+                    <mask id="mask-4" fill="white">
+                        <use xlink:href="#path-3"></use>
+                    </mask>
+                    <g id="蒙版">
+                        <use fill="url(#linearGradient-2)" fill-rule="evenodd" xlink:href="#path-3"></use>
+                        <use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-3"></use>
+                    </g>
+                    <g filter="url(#filter-6)" mask="url(#mask-4)">
+                        <g transform="translate(15.000000, 4.862147)">
+                            <path d="M37.0712921,10.267823 C39.2804311,10.267823 41.0712921,12.058684 41.0712921,14.267823 L41.0712921,34.2709767 C41.0712921,36.4801157 39.2804311,38.2709767 37.0712921,38.2709767 L23.1762471,38.2720259 C22.7915271,39.3591132 21.7545289,40.1378537 20.5356461,40.1378537 C19.3167632,40.1378537 18.279765,39.3591132 17.895045,38.2720259 L4,38.2709767 C1.790861,38.2709767 -6.17636919e-16,36.4801157 0,34.2709767 L0,14.267823 C-2.705415e-16,12.058684 1.790861,10.267823 4,10.267823 L37.0712921,10.267823 Z" id="形状结合" fill="url(#linearGradient-7)" fill-rule="evenodd"></path>
+                            <g id="矩形" fill="none">
+                                <use fill="black" fill-opacity="1" filter="url(#filter-9)" xlink:href="#path-8"></use>
+                                <use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-8"></use>
+                            </g>
+                            <g id="矩形" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(20.535646, 5.600631)">
+                                <mask id="mask-11" fill="white">
+                                    <use xlink:href="#path-10"></use>
+                                </mask>
+                                <g id="蒙版">
+                                    <use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-10"></use>
+                                    <use fill="#FFF8EE" fill-rule="evenodd" xlink:href="#path-10"></use>
+                                </g>
+                                <g mask="url(#mask-11)">
+                                    <use fill="black" fill-opacity="1" filter="url(#filter-15)" xlink:href="#path-14"></use>
+                                    <use fill="url(#linearGradient-13)" fill-rule="evenodd" xlink:href="#path-14"></use>
+                                    <use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-14"></use>
+                                </g>
+                            </g>
+                            <g id="编组-14" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(6.822601, 14.907774)" stroke-linecap="round" stroke-linejoin="round">
+                                <path d="M0,6.50976394 L9.92809672,6.50976394 C11.7769422,6.50976394 12.948613,7.1148742 13.4431092,8.32509474" id="路径-7备份" stroke="#FFF4E0" stroke-width="2"></path>
+                                <path d="M0,12.992287 L9.92809672,12.992287 C11.7769422,12.992287 12.948613,13.5973973 13.4431092,14.8076178" id="路径-7备份-4" stroke="#FFF4E0" stroke-width="2"></path>
+                                <path d="M0,0.0272408429 L8.95398653,0.0272408429 C11.3377704,-0.140278653 12.8341446,0.464831616 13.4431092,1.84257165" id="路径-7" stroke="#FFF4E0" stroke-width="2"></path>
+                            </g>
+                            <g id="编组-7" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(26.989949, 22.325204) scale(-1, 1) translate(-26.989949, -22.325204) translate(20.500000, 14.935015)" stroke-linecap="round" stroke-linejoin="round">
+                                <path d="M0,0 L9.46488576,0 C11.3137312,0 12.4854021,0.605110269 12.9798983,1.81533081" id="路径-7备份-5" stroke="#FFEACB" stroke-width="2"></path>
+                                <path d="M0,6.48252309 L9.46488576,6.48252309 C11.3137312,6.48252309 12.4854021,7.08763336 12.9798983,8.2978539" id="路径-7备份-6" stroke="#FFEACB" stroke-width="2"></path>
+                                <path d="M0,12.9650462 L9.46488576,12.9650462 C11.3137312,12.9650462 12.4854021,13.5701565 12.9798983,14.780377" id="路径-7备份-7" stroke="#FFEACB" stroke-width="2"></path>
+                            </g>
+                            <rect id="矩形" fill="#FFD791" fill-rule="evenodd" x="29.8700306" y="7.46750766" width="1" height="2.80031537" rx="0.5"></rect>
+                            <g id="星形" fill="none" transform="translate(9.334385, 4.667192) rotate(-315.000000) translate(-9.334385, -4.667192) ">
+                                <use fill="black" fill-opacity="1" filter="url(#filter-18)" xlink:href="#path-17"></use>
+                                <use fill="#FFDE56" fill-rule="evenodd" xlink:href="#path-17"></use>
+                                <use fill="black" fill-opacity="1" filter="url(#filter-19)" xlink:href="#path-17"></use>
+                            </g>
+                        </g>
+                    </g>
+                    <g id="星形备份-2" mask="url(#mask-4)" transform="translate(32.018667, 6.512248) rotate(-315.000000) translate(-32.018667, -6.512248) ">
+                        <use fill="black" fill-opacity="1" filter="url(#filter-21)" xlink:href="#path-20"></use>
+                        <use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-20"></use>
+                    </g>
                 </g>
-                <g id="编组" transform="translate(56.000000, 6.000000)" fill="#FFFFFF" fill-opacity="1">
+                <g id="编组" transform="translate(69.000000, 6.000000)" fill="#FFFFFF" fill-opacity="1">
                     <g id="练习模式">
-                        <use filter="url(#filter-7)" xlink:href="#text-6"></use>
-                        <use xlink:href="#text-6"></use>
+                        <use filter="url(#filter-23)" xlink:href="#text-22"></use>
+                        <use xlink:href="#text-22"></use>
                     </g>
                     <g id="原音指法跟播">
-                        <use filter="url(#filter-9)" xlink:href="#text-8"></use>
-                        <use xlink:href="#text-8"></use>
+                        <use filter="url(#filter-25)" xlink:href="#text-24"></use>
+                        <use xlink:href="#text-24"></use>
+                    </g>
+                </g>
+                <g id="向右备份-2" filter="url(#filter-26)" transform="translate(23.000000, 13.000000)">
+                    <rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="24" height="24"></rect>
+                    <g id="路径">
+                        <use fill="url(#linearGradient-27)" fill-rule="evenodd" xlink:href="#path-28"></use>
+                        <use fill="black" fill-opacity="1" filter="url(#filter-29)" xlink:href="#path-28"></use>
                     </g>
                 </g>
             </g>

Diferenças do arquivo suprimidas por serem muito extensas
+ 111 - 33
src/subpages/colexiu/buttons/icons/model-2.svg


+ 160 - 36
src/subpages/colexiu/buttons/icons/model-3.svg

@@ -1,59 +1,183 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg width="138px" height="50px" viewBox="0 0 138 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <title>切片</title>
+<svg width="155px" height="60px" viewBox="0 0 155 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>跟练模式</title>
     <defs>
-        <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
-            <stop stop-color="#A259FF" offset="0%"></stop>
-            <stop stop-color="#933FFE" offset="100%"></stop>
+        <linearGradient x1="-8.67361738e-15%" y1="69.1768211%" x2="100%" y2="69.1768211%" id="linearGradient-1">
+            <stop stop-color="#8C3EF0" offset="0%"></stop>
+            <stop stop-color="#8125F7" offset="100%"></stop>
         </linearGradient>
-        <rect id="path-2" x="0" y="0" width="138" height="50" rx="25"></rect>
-        <filter x="-1.8%" y="-5.0%" width="103.6%" height="110.0%" filterUnits="objectBoundingBox" id="filter-3">
-            <feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
-            <feOffset dx="0" dy="-2" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+        <linearGradient x1="-2.04053804%" y1="45.1540998%" x2="109.589396%" y2="56.5749357%" id="linearGradient-2">
+            <stop stop-color="#C995FF" offset="0%"></stop>
+            <stop stop-color="#8E6CFF" offset="100%"></stop>
+        </linearGradient>
+        <rect id="path-3" x="0" y="0" width="155" height="53" rx="26.5"></rect>
+        <filter x="-0.5%" y="-1.4%" width="101.0%" height="102.8%" filterUnits="objectBoundingBox" id="filter-5">
+            <feGaussianBlur stdDeviation="0.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="0" dy="-0.5" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
             <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
-            <feColorMatrix values="0 0 0 0 0.515291285   0 0 0 0 0.13675686   0 0 0 0 1  0 0 0 1 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 1 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+        </filter>
+        <path d="M15.4715128,4.27781964 L14.3839414,4.54020875 C14.1155011,4.60497306 13.8453853,4.43986104 13.780621,4.17142074 C13.7620266,4.09434897 13.7620266,4.0139602 13.780621,3.93688844 L14.0430102,2.84931696 C14.0616046,2.77224519 14.0616046,2.69185642 14.0430102,2.61478466 L13.780621,1.52721318 C13.7158567,1.25877288 13.8809688,0.988657172 14.1494091,0.923892865 C14.2264808,0.905298417 14.3068696,0.905298417 14.3839414,0.923892865 L15.4715128,1.18628198 C15.5485846,1.20487643 15.6289734,1.20487643 15.7060451,1.18628198 L16.7936166,0.923892865 C17.0620569,0.859128559 17.3321726,1.02424058 17.3969369,1.29268088 C17.4155314,1.36975264 17.4155314,1.45014142 17.3969369,1.52721318 L17.1345478,2.61478466 C17.1159534,2.69185642 17.1159534,2.77224519 17.1345478,2.84931696 L17.3969369,3.93688844 C17.4617012,4.20532874 17.2965892,4.47544444 17.0281489,4.54020875 C16.9510771,4.5588032 16.8706884,4.5588032 16.7936166,4.54020875 L15.7060451,4.27781964 C15.6289734,4.25922519 15.5485846,4.25922519 15.4715128,4.27781964 Z" id="path-6"></path>
+        <filter x="-20.6%" y="-45.6%" width="191.1%" height="191.1%" filterUnits="objectBoundingBox" id="filter-7">
+            <feOffset dx="1" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.623529412   0 0 0 0 0.388235294   0 0 0 0 0.941176471  0 0 0 0.848858173 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-16.3%" y="-19.9%" width="132.5%" height="139.8%" filterUnits="objectBoundingBox" id="filter-8">
+            <feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.636297465   0 0 0 0 0.433310451   0 0 0 0 0.953464674  0 0 0 1 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
+                <feMergeNode in="SourceGraphic"></feMergeNode>
+            </feMerge>
         </filter>
-        <linearGradient x1="100%" y1="50%" x2="0%" y2="50%" id="linearGradient-4">
-            <stop stop-color="#FFFFFF" stop-opacity="0.5" offset="0%"></stop>
-            <stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
+        <linearGradient x1="50%" y1="-5.00209214e-14%" x2="50%" y2="100%" id="linearGradient-9">
+            <stop stop-color="#FFDE84" offset="0.0464379371%"></stop>
+            <stop stop-color="#FFBF39" offset="100%"></stop>
         </linearGradient>
-        <text id="text-5" font-family="STYuanti-SC-Light, Yuanti SC" font-size="10" font-weight="300" fill="#FFFFFF">
-            <tspan x="2.48689958e-14" y="30">跟音实时纠错</tspan>
+        <path d="M4.39089541,9.67191662 L2.00312062,10.2479947 C1.73468032,10.312759 1.46456462,10.147647 1.39980031,9.87920671 C1.38120586,9.80213495 1.38120586,9.72174617 1.39980031,9.64467441 L1.97587841,7.25689962 C1.99447286,7.17982785 1.99447286,7.09943908 1.97587841,7.02236732 L1.39980031,4.63459252 C1.335036,4.36615222 1.50014802,4.09603652 1.76858832,4.03127221 C1.84566009,4.01267776 1.92604886,4.01267776 2.00312062,4.03127221 L4.39089541,4.60735031 C4.46796718,4.62594476 4.54835595,4.62594476 4.62542772,4.60735031 L7.01320251,4.03127221 C7.28164281,3.9665079 7.55175851,4.13161992 7.61652282,4.40006022 C7.63511727,4.47713199 7.63511727,4.55752076 7.61652282,4.63459252 L7.04044472,7.02236732 C7.02185027,7.09943908 7.02185027,7.17982785 7.04044472,7.25689962 L7.61652282,9.64467441 C7.68128713,9.91311471 7.51617511,10.1832304 7.24773481,10.2479947 C7.17066304,10.2665892 7.09027427,10.2665892 7.01320251,10.2479947 L4.62542772,9.67191662 C4.54835595,9.65332217 4.46796718,9.65332217 4.39089541,9.67191662 Z" id="path-10"></path>
+        <filter x="-35.2%" y="-35.2%" width="200.7%" height="200.7%" filterUnits="objectBoundingBox" id="filter-11">
+            <feOffset dx="1" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.623131294   0 0 0 0 0.387413403   0 0 0 0 0.940443841  0 0 0 0.850360577 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-42.8%" y="-42.8%" width="215.8%" height="215.8%" filterUnits="objectBoundingBox" id="filter-12">
+            <feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="0" dy="-1" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.59585469   0 0 0 0 0.0803734756  0 0 0 1 0" type="matrix" in="shadowInnerInner1" result="shadowMatrixInner1"></feColorMatrix>
+            <feGaussianBlur stdDeviation="1" in="SourceAlpha" result="shadowBlurInner2"></feGaussianBlur>
+            <feOffset dx="0" dy="0.5" in="shadowBlurInner2" result="shadowOffsetInner2"></feOffset>
+            <feComposite in="shadowOffsetInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.957798015   0 0 0 0 0.488433689  0 0 0 1 0" type="matrix" in="shadowInnerInner2" result="shadowMatrixInner2"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixInner1"></feMergeNode>
+                <feMergeNode in="shadowMatrixInner2"></feMergeNode>
+            </feMerge>
+        </filter>
+        <text id="text-13" font-family="STYuanti-SC-Regular, Yuanti SC" font-size="11" font-weight="normal" fill="#FFFFFF">
+            <tspan x="0" y="36">跟音实时纠错</tspan>
         </text>
-        <filter x="-3.3%" y="-7.1%" width="106.7%" height="128.6%" filterUnits="objectBoundingBox" id="filter-6">
+        <filter x="-3.0%" y="-6.2%" width="106.1%" height="125.0%" filterUnits="objectBoundingBox" id="filter-14">
             <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
             <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0.675712051   0 0 0 0 0.424161585   0 0 0 0 1  0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+            <feColorMatrix values="0 0 0 0 0.51372549   0 0 0 0 0.349019608   0 0 0 0 0.941176471  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
         </filter>
-        <text id="text-7" font-family="STYuanti-SC-Bold, Yuanti SC" font-size="15" font-weight="bold" fill="#FFFFFF">
-            <tspan x="2.48689958e-14" y="16">跟练模式</tspan>
+        <text id="text-15" font-family="STYuanti-SC-Bold, Yuanti SC" font-size="16" font-weight="bold" fill="#FFFFFF">
+            <tspan x="0" y="17">跟练模式</tspan>
         </text>
-        <filter x="-3.3%" y="-4.8%" width="106.7%" height="119.0%" filterUnits="objectBoundingBox" id="filter-8">
+        <filter x="-3.1%" y="-4.5%" width="106.2%" height="118.2%" filterUnits="objectBoundingBox" id="filter-16">
             <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
             <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0.675712051   0 0 0 0 0.424161585   0 0 0 0 1  0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+            <feColorMatrix values="0 0 0 0 0.514627282   0 0 0 0 0.349586878   0 0 0 0 0.940981658  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-28.1%" y="-28.1%" width="156.2%" height="156.2%" filterUnits="objectBoundingBox" id="filter-17">
+            <feOffset dx="0" dy="1.5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.728316965   0 0 0 0 0.556862745   0 0 0 0 1  0 0 0 0.711565778 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
+                <feMergeNode in="SourceGraphic"></feMergeNode>
+            </feMerge>
+        </filter>
+        <filter x="-32.9%" y="-34.4%" width="165.7%" height="168.9%" filterUnits="objectBoundingBox" id="filter-18">
+            <feOffset dx="0" dy="1.5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.728316965   0 0 0 0 0.556862745   0 0 0 0 1  0 0 0 0.711565778 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
+                <feMergeNode in="SourceGraphic"></feMergeNode>
+            </feMerge>
+        </filter>
+        <polygon id="path-19" points="0 0 20.5356461 0 20.5356461 19.6022076 0 19.6022076"></polygon>
+        <linearGradient x1="-1.24344979e-12%" y1="4.44214876%" x2="100%" y2="95.5578512%" id="linearGradient-21">
+            <stop stop-color="#D4A9FF" offset="0%"></stop>
+            <stop stop-color="#8F80FF" offset="100%"></stop>
+        </linearGradient>
+        <path d="M15.5074648,0.103609378 C14.8038858,-0.111393318 13.9827948,0.0147466173 13.3698678,0.421406707 C11.4236472,1.71179942 11.5989823,4.38483643 11.5989823,6.44072911 L11.5989823,9.03356372 C10.4119258,7.49804534 8.56605663,6.50699964 6.48665589,6.50699964 C2.90422223,6.50699964 0,9.43834112 0,13.0546036 C0,16.6704896 2.90422223,19.6022076 6.48665589,19.6022076 C9.25434051,19.6022076 11.6112931,17.8490508 12.5428079,15.3857449 C12.7159048,15.0457319 12.8442352,14.5355241 12.877437,14.3890512 C13.3120444,12.4845264 13.3799402,10.4839847 13.4694731,8.55912694 C13.4892449,8.13627576 13.5332652,6.51791922 14.248782,6.64067032 C14.2819838,6.64631837 14.3148125,6.65535527 14.3468951,6.66589831 C14.7128607,6.78902594 15.0344329,7.09138525 15.3895799,7.2551789 C15.7540533,7.42349099 16.1397907,7.54699517 16.5348544,7.61929029 C17.3279664,7.76501016 18.1665909,7.70062231 18.9037448,7.35759699 C19.3443211,7.1527608 19.7177477,6.82630312 19.9908229,6.42227879 C20.1974946,6.11577757 20.3478352,5.77162265 20.4440831,5.41428892 C20.450425,5.38981401 20.5459267,4.94700635 20.5347351,4.94625328 C19.1163853,4.83630444 18.0188616,4.1958148 17.4208567,2.87868795 C16.9605086,1.86505002 16.7225004,0.475251515 15.5074648,0.103609378 Z" id="path-22"></path>
+        <filter x="-9.7%" y="-10.2%" width="119.5%" height="120.4%" filterUnits="objectBoundingBox" id="filter-23">
+            <feGaussianBlur stdDeviation="1" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
+            <feOffset dx="-1" dy="-2" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.429804579   0 0 0 0 0.196855945   0 0 0 0 1  0 0 0 0.361942745 0" type="matrix" in="shadowInnerInner1" result="shadowMatrixInner1"></feColorMatrix>
+            <feGaussianBlur stdDeviation="0.5" in="SourceAlpha" result="shadowBlurInner2"></feGaussianBlur>
+            <feOffset dx="0" dy="2.5" in="shadowBlurInner2" result="shadowOffsetInner2"></feOffset>
+            <feComposite in="shadowOffsetInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.752621357   0 0 0 0 0.539367378   0 0 0 0 1  0 0 0 0.527534965 0" type="matrix" in="shadowInnerInner2" result="shadowMatrixInner2"></feColorMatrix>
+            <feGaussianBlur stdDeviation="0.5" in="SourceAlpha" result="shadowBlurInner3"></feGaussianBlur>
+            <feOffset dx="0" dy="0.5" in="shadowBlurInner3" result="shadowOffsetInner3"></feOffset>
+            <feComposite in="shadowOffsetInner3" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner3"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.499919249   0 0 0 0 0.319798018   0 0 0 0 1  0 0 0 0.480687281 0" type="matrix" in="shadowInnerInner3" result="shadowMatrixInner3"></feColorMatrix>
+            <feMerge>
+                <feMergeNode in="shadowMatrixInner1"></feMergeNode>
+                <feMergeNode in="shadowMatrixInner2"></feMergeNode>
+                <feMergeNode in="shadowMatrixInner3"></feMergeNode>
+            </feMerge>
+        </filter>
+        <filter x="-107.1%" y="-80.3%" width="314.3%" height="260.7%" filterUnits="objectBoundingBox" id="filter-24">
+            <feGaussianBlur stdDeviation="1" in="SourceGraphic"></feGaussianBlur>
         </filter>
     </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="主界面(10.18)" transform="translate(-550.000000, -290.000000)">
-            <g id="跟练模式" transform="translate(550.000000, 290.000000)">
-                <g id="矩形备份-4">
-                    <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
-                    <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
-                </g>
-                <g id="编组-9" transform="translate(15.000000, 14.000000)">
-                    <rect id="矩形备份-5" fill="url(#linearGradient-4)" x="0" y="1" width="25" height="20"></rect>
-                    <rect id="矩形" fill="#FFFFFF" x="23" y="0" width="3" height="22" rx="1.5"></rect>
-                    <path d="M15.337,3.36984407 C16.3850641,3.45356076 17.0135838,4.94285402 18.7395136,4.94414392 C19.191266,4.94448154 19.3604869,5.36096605 19.1917441,5.54466333 C18.8811643,5.88276768 18.0829942,6.43880357 17.3160371,6.65970461 C16.2873269,6.95599651 15.6529504,6.87779633 15.4386654,6.89730024 L16.0108711,12.7441637 C16.0771854,13.0382245 16.1122361,13.3435336 16.1124855,13.6566725 C16.1143681,16.0199852 14.1332679,17.9343469 11.6875744,17.9325424 C9.24188082,17.9306913 7.25772835,16.0133661 7.25582193,13.6500534 C7.2539632,11.2867407 9.23506342,9.37237896 11.680757,9.37420678 C12.4163451,9.37475653 13.1101814,9.54858569 13.7208897,9.85571169 C13.4786646,6.87677885 13.3574832,5.30079449 13.3573453,5.1277586 C13.356398,3.93855616 14.1664214,3.27634123 15.337,3.36984407 Z" id="路径备份-5" fill="#FFFFFF" transform="translate(13.255823, 10.646827) rotate(-19.000000) translate(-13.255823, -10.646827) "></path>
+        <g id="云教练主界面" transform="translate(-329.000000, -288.000000)">
+            <g id="跟练模式" transform="translate(329.000000, 288.000000)">
+                <rect id="矩形备份-4" fill="url(#linearGradient-1)" x="0" y="0" width="155" height="60" rx="27"></rect>
+                <g id="编组-13">
+                    <mask id="mask-4" fill="white">
+                        <use xlink:href="#path-3"></use>
+                    </mask>
+                    <g id="蒙版">
+                        <use fill="url(#linearGradient-2)" fill-rule="evenodd" xlink:href="#path-3"></use>
+                        <use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-3"></use>
+                    </g>
+                    <g mask="url(#mask-4)">
+                        <g transform="translate(8.159031, 5.527559)">
+                            <g id="星形备份-3" transform="translate(15.588779, 2.732051) rotate(-300.000000) translate(-15.588779, -2.732051) ">
+                                <use fill="black" fill-opacity="1" filter="url(#filter-7)" xlink:href="#path-6"></use>
+                                <use fill="#FFF5CC" fill-rule="evenodd" xlink:href="#path-6"></use>
+                            </g>
+                            <g id="编组-12" filter="url(#filter-8)" stroke-width="1" fill-rule="evenodd" transform="translate(8.840969, 5.472441)">
+                                <rect id="矩形" fill="#FFFFFF" x="36.8421053" y="0" width="3.15789474" height="32.6315789" rx="1.5"></rect>
+                                <path d="M4,2.63157895 L36.8421053,2.63157895 L36.8421053,2.63157895 L36.8421053,30 L4,30 C1.790861,30 -1.73547709e-16,28.209139 0,26 L0,6.63157895 C-2.705415e-16,4.42243995 1.790861,2.63157895 4,2.63157895 Z" id="矩形备份-6" fill="url(#linearGradient-9)"></path>
+                                <g id="编组-9" transform="translate(5.263158, 7.368421)" fill="#FFFFFF">
+                                    <rect id="矩形" x="0" y="0" width="26.3157895" height="3.15789474" rx="1.5"></rect>
+                                    <rect id="矩形备份-5" x="0" y="7.36842105" width="26.3157895" height="3.15789474" rx="1.5"></rect>
+                                    <rect id="矩形备份-7" x="0" y="14.7368421" width="26.3157895" height="3.15789474" rx="1.5"></rect>
+                                </g>
+                            </g>
+                            <g id="星形" transform="translate(4.508162, 7.139633) rotate(-330.000000) translate(-4.508162, -7.139633) ">
+                                <use fill="black" fill-opacity="1" filter="url(#filter-11)" xlink:href="#path-10"></use>
+                                <use fill="#FFDE56" fill-rule="evenodd" xlink:href="#path-10"></use>
+                                <use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-10"></use>
+                            </g>
+                        </g>
+                    </g>
                 </g>
-                <g id="编组" transform="translate(56.000000, 6.000000)" fill="#FFFFFF" fill-opacity="1">
+                <g id="编组" transform="translate(69.000000, 6.000000)" fill="#FFFFFF" fill-opacity="1">
                     <g id="跟音实时纠错">
-                        <use filter="url(#filter-6)" xlink:href="#text-5"></use>
-                        <use xlink:href="#text-5"></use>
+                        <use filter="url(#filter-14)" xlink:href="#text-13"></use>
+                        <use xlink:href="#text-13"></use>
                     </g>
                     <g id="跟练模式">
-                        <use filter="url(#filter-8)" xlink:href="#text-7"></use>
-                        <use xlink:href="#text-7"></use>
+                        <use filter="url(#filter-16)" xlink:href="#text-15"></use>
+                        <use xlink:href="#text-15"></use>
+                    </g>
+                </g>
+                <g id="向右" filter="url(#filter-17)" transform="translate(24.000000, 15.000000)" fill="#000000" fill-rule="nonzero" opacity="0">
+                    <rect id="矩形" x="0" y="0" width="24" height="24"></rect>
+                </g>
+                <g id="编组备份-5" filter="url(#filter-18)" transform="translate(26.334385, 17.063408)">
+                    <mask id="mask-20" fill="white">
+                        <use xlink:href="#path-19"></use>
+                    </mask>
+                    <g id="Clip-2"></g>
+                    <g id="编组-8" mask="url(#mask-20)">
+                        <g id="Fill-1">
+                            <use fill="url(#linearGradient-21)" fill-rule="evenodd" xlink:href="#path-22"></use>
+                            <use fill="black" fill-opacity="1" filter="url(#filter-23)" xlink:href="#path-22"></use>
+                        </g>
+                        <ellipse id="椭圆形" fill-opacity="0.387292395" fill="#FFFFFF" filter="url(#filter-24)" transform="translate(4.200473, 11.201261) rotate(-37.000000) translate(-4.200473, -11.201261) " cx="4.20047306" cy="11.2012615" rx="1.40015769" ry="1.86687691"></ellipse>
                     </g>
                 </g>
             </g>

+ 16 - 8
src/subpages/colexiu/buttons/icons/modelType.svg

@@ -1,14 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="29px" height="29px" viewBox="0 0 29 29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <title>切片</title>
+    <title>模式蓝</title>
+    <defs>
+        <linearGradient x1="16.0585307%" y1="9.35631742%" x2="88.7815146%" y2="86.9978485%" id="linearGradient-1">
+            <stop stop-color="#8CBEFF" offset="0%"></stop>
+            <stop stop-color="#459AFF" offset="100%"></stop>
+        </linearGradient>
+    </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="曲谱评测(按钮合集)" transform="translate(-346.000000, -218.000000)">
-            <g id="示范" transform="translate(346.000000, 218.000000)">
-                <rect id="矩形备份-37" fill="#2DC7AA" x="0" y="0" width="29" height="29" rx="14.5"></rect>
-                <path d="M11,8 C12.6568542,8 14,9.34314575 14,11 L14,13 C14,13.5522847 13.5522847,14 13,14 L11,14 C9.34314575,14 8,12.6568542 8,11 C8,9.34314575 9.34314575,8 11,8 Z" id="矩形" fill="#FFFFFF"></path>
-                <path d="M11,15 L13,15 C13.5522847,15 14,15.4477153 14,16 L14,18 C14,19.6568542 12.6568542,21 11,21 C9.34314575,21 8,19.6568542 8,18 C8,16.3431458 9.34314575,15 11,15 Z" id="矩形备份-2" fill="#FFFFFF"></path>
-                <rect id="矩形备份" fill-opacity="0.8" fill="#FFFFFF" x="15" y="8" width="6" height="6" rx="3"></rect>
-                <path d="M16,15 L18,15 C19.6568542,15 21,16.3431458 21,18 C21,19.6568542 19.6568542,21 18,21 C16.3431458,21 15,19.6568542 15,18 L15,16 C15,15.4477153 15.4477153,15 16,15 Z" id="矩形备份-3" fill="#FFFFFF"></path>
+        <g id="练习模式" transform="translate(-503.000000, -14.000000)">
+            <g id="模式蓝" transform="translate(503.000000, 14.000000)">
+                <rect id="矩形备份-37" fill="url(#linearGradient-1)" x="0" y="0" width="29" height="29" rx="14.5"></rect>
+                <g id="编组-19" transform="translate(7.500000, 6.757359)" fill="#FFFFFF">
+                    <rect id="矩形" x="0" y="1.24264069" width="6" height="6" rx="1"></rect>
+                    <rect id="矩形备份-9" x="0" y="9.24264069" width="6" height="6" rx="1"></rect>
+                    <rect id="矩形备份-8" transform="translate(11.000000, 4.242641) rotate(-315.000000) translate(-11.000000, -4.242641) " x="8" y="1.24264069" width="6" height="6" rx="1"></rect>
+                    <rect id="矩形备份-10" x="8" y="9.24264069" width="6" height="6" rx="1"></rect>
+                </g>
             </g>
         </g>
     </g>

+ 39 - 10
src/subpages/colexiu/buttons/icons/music-list1.svg

@@ -1,15 +1,44 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg width="13px" height="15px" viewBox="0 0 13 15" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <title>列表</title>
+<svg width="40px" height="45px" viewBox="0 0 40 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 16</title>
+    <defs>
+        <rect id="path-1" x="0" y="2" width="24" height="25" rx="4"></rect>
+        <filter x="-2.1%" y="-2.0%" width="104.2%" height="104.0%" filterUnits="objectBoundingBox" id="filter-2">
+            <feOffset dx="-1" dy="-1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 0.918931159   0 0 0 0 0.883965387   0 0 0 0 0.832431161  0 0 0 1 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+        </filter>
+        <path d="M8,0 L16,0 C17.6568542,-3.04359188e-16 19,1.34314575 19,3 L19,5 C19,5.55228475 18.5522847,6 18,6 L6,6 C5.44771525,6 5,5.55228475 5,5 L5,3 C5,1.34314575 6.34314575,3.04359188e-16 8,0 Z" id="path-3"></path>
+        <filter x="-8.9%" y="-20.8%" width="125.0%" height="158.3%" filterUnits="objectBoundingBox" id="filter-4">
+            <feOffset dx="0.5" dy="0.5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0.939254982   0 0 0 0 0.859970658   0 0 0 0 0.652735679  0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+        <filter x="-7.1%" y="-16.7%" width="121.4%" height="150.0%" filterUnits="objectBoundingBox" id="filter-5">
+            <feOffset dx="-1" dy="-1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
+            <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.780047784   0 0 0 0 0.293807165  0 0 0 1 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
+        </filter>
+    </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="主界面(10.18)" transform="translate(-795.000000, -172.000000)" fill="#FFFFFF">
-            <g id="列表" transform="translate(795.000000, 172.000000)">
-                <rect id="矩形" x="4" y="0" width="9" height="3" rx="1.5"></rect>
-                <circle id="椭圆形" cx="1.5" cy="1.5" r="1.5"></circle>
-                <circle id="椭圆形备份" cx="1.5" cy="7.5" r="1.5"></circle>
-                <circle id="椭圆形备份-2" cx="1.5" cy="13.5" r="1.5"></circle>
-                <rect id="矩形备份-21" x="4" y="6" width="9" height="3" rx="1.5"></rect>
-                <rect id="矩形备份-22" x="4" y="12" width="9" height="3" rx="1.5"></rect>
+        <g id="云教练主界面" transform="translate(-772.000000, -165.000000)">
+            <g id="编组-16" transform="translate(772.000000, 165.000000)">
+                <path d="M10,0 L40,0 L40,0 L40,45 L10,45 C4.4771525,45 6.76353751e-16,40.5228475 0,35 L0,10 C-6.76353751e-16,4.4771525 4.4771525,1.01453063e-15 10,0 Z" id="矩形" fill-opacity="0.25" fill="#000000"></path>
+                <g id="编组-18" transform="translate(9.000000, 8.000000)">
+                    <g id="矩形">
+                        <use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
+                        <use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
+                    </g>
+                    <circle id="椭圆形" fill="#FFB057" cx="5.5" cy="12.5" r="1.5"></circle>
+                    <circle id="椭圆形备份-4" fill="#FFB057" cx="5.5" cy="18.5" r="1.5"></circle>
+                    <rect id="矩形" fill="#FFB057" x="10" y="11" width="10" height="3" rx="1.5"></rect>
+                    <rect id="矩形备份-37" fill="#FFB057" x="10" y="17" width="7" height="3" rx="1.5"></rect>
+                    <g id="矩形">
+                        <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
+                        <use fill="#FCDA67" fill-rule="evenodd" xlink:href="#path-3"></use>
+                        <use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-3"></use>
+                    </g>
+                </g>
             </g>
         </g>
     </g>

+ 13 - 9
src/subpages/colexiu/buttons/icons/music.svg

@@ -1,22 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="29px" height="29px" viewBox="0 0 29 29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <title>编组 6</title>
+    <title>原音</title>
     <defs>
-        <linearGradient x1="41.2368343%" y1="0%" x2="97.1381951%" y2="78.9366254%" id="linearGradient-1">
+        <linearGradient x1="-7.37257477e-16%" y1="-4.51028104e-15%" x2="100%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#FF9C63" offset="0%"></stop>
+            <stop stop-color="#FF7144" offset="100%"></stop>
+        </linearGradient>
+        <linearGradient x1="41.2368343%" y1="0%" x2="97.1381951%" y2="78.9366254%" id="linearGradient-2">
             <stop stop-color="#FFC660" offset="0%"></stop>
             <stop stop-color="#FFBD4B" offset="100%"></stop>
         </linearGradient>
-        <path d="M9.37679833,1.81534677 L9.37419306,3.04816586 C9.37346127,3.33467339 9.18383076,3.5868294 8.90940839,3.66620062 L5.85992188,4.0208176 L5.85188205,7.82778866 C5.84934408,9.03897664 4.89162503,10.0343315 3.68635578,10.0784143 L3.60963888,10.0798661 C2.64577957,10.0818791 1.79156753,9.46371158 1.4895916,8.54564682 C1.18761568,7.62758207 1.50574958,6.61596919 2.27916009,6.03495037 C3.05257061,5.45393155 4.10742189,5.43409966 4.89716884,5.9857301 L4.90515888,2.05098317 L4.92593563,2.0509391 C4.98390648,1.83154189 5.15266508,1.65863389 5.36991876,1.59603942 L8.56333252,1.19938128 C8.90300857,1.10135042 9.25633505,1.29808342 9.35255706,1.63882333 C9.36877585,1.69621115 9.37693434,1.75562497 9.37679833,1.81534677 Z" id="path-2"></path>
+        <path d="M9.37679833,1.81534677 L9.37419306,3.04816586 C9.37346127,3.33467339 9.18383076,3.5868294 8.90940839,3.66620062 L5.85992188,4.0208176 L5.85188205,7.82778866 C5.84934408,9.03897664 4.89162503,10.0343315 3.68635578,10.0784143 L3.60963888,10.0798661 C2.64577957,10.0818791 1.79156753,9.46371158 1.4895916,8.54564682 C1.18761568,7.62758207 1.50574958,6.61596919 2.27916009,6.03495037 C3.05257061,5.45393155 4.10742189,5.43409966 4.89716884,5.9857301 L4.90515888,2.05098317 L4.92593563,2.0509391 C4.98390648,1.83154189 5.15266508,1.65863389 5.36991876,1.59603942 L8.56333252,1.19938128 C8.90300857,1.10135042 9.25633505,1.29808342 9.35255706,1.63882333 C9.36877585,1.69621115 9.37693434,1.75562497 9.37679833,1.81534677 Z" id="path-3"></path>
     </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="主界面播放中" transform="translate(-515.000000, -13.000000)">
-            <g id="编组-6" transform="translate(515.000000, 13.000000)">
-                <rect id="矩形备份-40" fill="#2DC7AA" x="0" y="0" width="29" height="29" rx="14.5"></rect>
+        <g id="练习模式" transform="translate(-552.000000, -14.000000)">
+            <g id="原音" transform="translate(552.000000, 14.000000)">
+                <rect id="矩形备份-40" fill="url(#linearGradient-1)" x="0" y="0" width="29" height="29" rx="14.5"></rect>
                 <g id="原声" transform="translate(3.396546, 5.242923)" fill-rule="nonzero">
-                    <path d="M11.6943607,4.24183306 C11.3291428,4.24183306 10.9752986,4.38175852 10.7040597,4.66163723 C10.4319278,4.94555471 10.2994641,5.31335252 10.2974559,5.68515601 L10.3059192,7.44794878 L10.3162589,12.2210844 C9.87412006,11.8946809 9.33560726,11.7009401 8.7539964,11.703952 C7.25680722,11.6985079 6.0505457,12.9437999 6.04950867,14.4878049 C6.05688754,16.0248766 7.27348324,17.2775431 8.76418639,17.281423 C10.2553241,17.2854168 11.4616178,16.0401248 11.4605456,14.495146 L11.4379862,7.45282164 L18.8956957,7.47795057 L18.903767,12.2510171 C18.4600339,11.9237701 17.9258022,11.7310559 17.3395869,11.724006 C15.8475723,11.7240347 14.6402265,12.9742541 14.6454327,14.5108044 C14.6455314,16.0597895 15.8604372,17.311975 17.3543339,17.311975 C18.8459774,17.3113798 20.056664,16.0666783 20.0495087,14.5207016 L20.0343921,7.47546658 L20.0309119,5.71905145 C20.0307636,5.34672653 19.8899744,4.97734178 19.612914,4.69009969 C19.3403622,4.41335562 18.9795651,4.27168215 18.6262951,4.26924317 L11.6943607,4.24183306 Z" id="路径备份-4" fill="#FFFFFF" transform="translate(13.049509, 10.776904) rotate(8.000000) translate(-13.049509, -10.776904) "></path>
+                    <path d="M11.0896888,4.24183306 C10.7244709,4.24183306 10.3706267,4.38175852 10.0993878,4.66163723 C9.82725589,4.94555471 9.69479226,5.31335252 9.69278398,5.68515601 L9.70124737,7.44794878 L9.71158704,12.2210844 C9.26944818,11.8946809 8.73093539,11.7009401 8.14932452,11.703952 C6.65213534,11.6985079 5.44587383,12.9437999 5.44483679,14.4878049 C5.45221566,16.0248766 6.66881136,17.2775431 8.15951451,17.281423 C9.65065223,17.2854168 10.8569459,16.0401248 10.8558737,14.495146 L10.8333143,7.45282164 L18.2910238,7.47795057 L18.2990951,12.2510171 C17.855362,11.9237701 17.3211303,11.7310559 16.7349151,11.724006 C15.2429004,11.7240347 14.0355546,12.9742541 14.0407608,14.5108044 C14.0408595,16.0597895 15.2557653,17.311975 16.749662,17.311975 C18.2413056,17.3113798 19.4519921,16.0666783 19.4448368,14.5207016 L19.4297202,7.47546658 L19.4262401,5.71905145 C19.4260917,5.34672653 19.2853026,4.97734178 19.0082421,4.69009969 C18.7356904,4.41335562 18.3748932,4.27168215 18.0216232,4.26924317 L11.0896888,4.24183306 Z" id="路径备份-4" fill="#FFFFFF" transform="translate(12.444837, 10.776904) rotate(8.000000) translate(-12.444837, -10.776904) "></path>
                     <g id="路径备份-6" transform="translate(5.376798, 5.627027) rotate(-22.000000) translate(-5.376798, -5.627027) ">
-                        <use fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
-                        <use fill="#FFFFFF" xlink:href="#path-2"></use>
+                        <use fill="url(#linearGradient-2)" xlink:href="#path-3"></use>
+                        <use fill="#FFFFFF" xlink:href="#path-3"></use>
                     </g>
                 </g>
             </g>

+ 14 - 17
src/subpages/colexiu/buttons/icons/play.svg

@@ -2,27 +2,24 @@
 <svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>播放</title>
     <defs>
-        <linearGradient x1="50%" y1="0%" x2="50%" y2="99.3846973%" id="linearGradient-1">
-            <stop stop-color="#FFFFFF" offset="0%"></stop>
-            <stop stop-color="#FFFFFF" stop-opacity="0.589416077" offset="100%"></stop>
-        </linearGradient>
-        <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-2">
-            <stop stop-color="#FFFFFF" offset="0%"></stop>
-            <stop stop-color="#FFFFFF" stop-opacity="0.667663147" offset="100%"></stop>
-        </linearGradient>
-        <linearGradient x1="50%" y1="4.46840985%" x2="50%" y2="104.686646%" id="linearGradient-3">
-            <stop stop-color="#FFFFFF" offset="0%"></stop>
-            <stop stop-color="#FFFFFF" stop-opacity="0.696550276" offset="100%"></stop>
+        <linearGradient x1="15.3622126%" y1="15.0876404%" x2="89.7647319%" y2="86.8644279%" id="linearGradient-1">
+            <stop stop-color="#FF9C63" offset="0%"></stop>
+            <stop stop-color="#FF7144" offset="100%"></stop>
         </linearGradient>
+        <path d="M23.2774875,14.6066864 L29.8239101,25.2446231 C30.2580866,25.9501599 30.0381056,26.8740802 29.3325687,27.3082567 C29.0961572,27.4537407 28.8240123,27.5307692 28.5464226,27.5307692 L15.4535774,27.5307692 C14.6251503,27.5307692 13.9535774,26.8591964 13.9535774,26.0307692 C13.9535774,25.7531796 14.0306059,25.4810346 14.1760899,25.2446231 L20.7225125,14.6066864 C21.156689,13.9011495 22.0806093,13.6811685 22.7861461,14.115345 C22.9861268,14.2384101 23.1544225,14.4067057 23.2774875,14.6066864 Z" id="path-2"></path>
+        <filter x="-15.3%" y="-30.9%" width="141.3%" height="157.6%" filterUnits="objectBoundingBox" id="filter-3">
+            <feOffset dx="1" dy="-1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="1.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 1   0 0 0 0 0.361216691   0 0 0 0 0.130678354  0 0 0 0.671656469 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
     </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="主界面" transform="translate(-737.000000, -301.000000)">
+        <g id="练习模式" transform="translate(-737.000000, -301.000000)">
             <g id="播放" transform="translate(737.000000, 301.000000)">
-                <rect id="矩形" fill="#2DC7AA" x="0" y="0" width="40" height="40" rx="20"></rect>
-                <g id="编组-2" transform="translate(11.204229, 6.895148)">
-                    <path d="M3.14942999,1.45267811 C4.53014187,1.45267811 5.64942999,2.57196623 5.64942999,3.95267811 L5.64942999,22.3439825 C5.64942999,23.7246943 4.53014187,24.8439825 3.14942999,24.8439825 C1.76871812,24.8439825 0.649429993,23.7246943 0.649429993,22.3439825 L0.649429993,3.95267811 C0.649429993,2.57196623 1.76871812,1.45267811 3.14942999,1.45267811 Z" id="矩形" fill="url(#linearGradient-1)"></path>
-                    <path d="M10.7709354,8.19196933 C12.1516472,8.19196933 13.2709354,9.31125746 13.2709354,10.6919693 L13.2709354,27.4310998 C13.2709354,28.8118116 12.1516472,29.9310998 10.7709354,29.9310998 C9.39022348,29.9310998 8.27093535,28.8118116 8.27093535,27.4310998 L8.27093535,10.6919693 C8.27093535,9.31125746 9.39022348,8.19196933 10.7709354,8.19196933 Z" id="矩形备份" fill="url(#linearGradient-2)" transform="translate(10.770935, 19.061535) rotate(62.000000) translate(-10.770935, -19.061535) "></path>
-                    <path d="M11.0789734,-2.50463277 C12.4596853,-2.50463277 13.5789734,-1.38534465 13.5789734,-0.00463277154 L13.5789734,17.6040632 C13.5789734,18.9847751 12.4596853,20.1040632 11.0789734,20.1040632 C9.69826153,20.1040632 8.57897341,18.9847751 8.57897341,17.6040632 L8.57897341,-0.00463277154 C8.57897341,-1.38534465 9.69826153,-2.50463277 11.0789734,-2.50463277 Z" id="矩形备份-28" fill="url(#linearGradient-3)" transform="translate(11.078973, 8.799715) rotate(127.000000) translate(-11.078973, -8.799715) "></path>
+                <rect id="矩形" fill="url(#linearGradient-1)" x="0" y="0" width="40" height="40" rx="20"></rect>
+                <g id="三角形" transform="translate(22.000000, 20.030769) rotate(-270.000000) translate(-22.000000, -20.030769) ">
+                    <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+                    <use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-2"></use>
                 </g>
             </g>
         </g>

+ 10 - 4
src/subpages/colexiu/buttons/icons/section.svg

@@ -1,10 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="29px" height="29px" viewBox="0 0 29 29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <title>选段</title>
+    <title>选段(未点)</title>
+    <defs>
+        <linearGradient x1="-7.37257477e-16%" y1="-4.51028104e-15%" x2="100%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#FF9C63" offset="0%"></stop>
+            <stop stop-color="#FF7144" offset="100%"></stop>
+        </linearGradient>
+    </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="主界面" transform="translate(-563.000000, -13.000000)">
-            <g id="选段" transform="translate(563.000000, 13.000000)">
-                <rect id="矩形备份-29" fill="#2DC7AA" x="0" y="0" width="29" height="29" rx="14.5"></rect>
+        <g id="练习模式" transform="translate(-601.000000, -14.000000)">
+            <g id="选段(未点)" transform="translate(601.000000, 14.000000)">
+                <rect id="矩形备份-29" fill="url(#linearGradient-1)" x="0" y="0" width="29" height="29" rx="14.5"></rect>
                 <g id="编组-17" transform="translate(3.248612, 6.908582)" fill="#FFFFFF" fill-rule="nonzero">
                     <path d="M4.82909557,0 C5.38138032,0 5.82909557,0.44771525 5.82909557,1 C5.82909557,1.51283584 5.44305538,1.93550716 4.94571669,1.99327227 L4.82909557,2 L3,2 C2.48716416,2 2.06449284,2.38604019 2.00672773,2.88337887 L2,3 L2,12.0123414 C2,12.5251772 2.38604019,12.9478485 2.88337887,13.0056136 L3,13.0123414 L4.82909557,13.0123414 C5.38138032,13.0123414 5.82909557,13.4600566 5.82909557,14.0123414 C5.82909557,14.5251772 5.44305538,14.9478485 4.94571669,15.0056136 L4.82909557,15.0123414 L3,15.0123414 C1.40231912,15.0123414 0.0963391206,13.7634214 0.00509269341,12.1886141 L0,12.0123414 L0,3 C0,1.40231912 1.24891996,0.0963391206 2.82372721,0.00509269341 L3,0 L4.82909557,0 Z" id="路径-6"></path>
                     <path d="M21.6,0 C22.1522847,0 22.6,0.44771525 22.6,1 C22.6,1.51283584 22.2139598,1.93550716 21.7166211,1.99327227 L21.6,2 L19.7709044,2 C19.2580686,2 18.8353973,2.38604019 18.7776322,2.88337887 L18.7709044,3 L18.7709044,12.0123414 C18.7709044,12.5251772 19.1569446,12.9478485 19.6542833,13.0056136 L19.7709044,13.0123414 L21.6,13.0123414 C22.1522847,13.0123414 22.6,13.4600566 22.6,14.0123414 C22.6,14.5251772 22.2139598,14.9478485 21.7166211,15.0056136 L21.6,15.0123414 L19.7709044,15.0123414 C18.1732235,15.0123414 16.8672436,13.7634214 16.7759971,12.1886141 L16.7709044,12.0123414 L16.7709044,3 C16.7709044,1.40231912 18.0198244,0.0963391206 19.5946316,0.00509269341 L19.7709044,0 L21.6,0 Z" id="路径-6备份" transform="translate(19.685452, 7.506171) scale(-1, 1) translate(-19.685452, -7.506171) "></path>

Diferenças do arquivo suprimidas por serem muito extensas
+ 13 - 3
src/subpages/colexiu/buttons/icons/setting.svg


+ 11 - 29
src/subpages/colexiu/buttons/icons/speed.svg

@@ -2,38 +2,20 @@
 <svg width="29px" height="29px" viewBox="0 0 29 29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>速度</title>
     <defs>
-        <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
-            <stop stop-color="#1D8270" offset="0%"></stop>
-            <stop stop-color="#105548" offset="100%"></stop>
+        <linearGradient x1="-7.37257477e-16%" y1="-4.51028104e-15%" x2="100%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#FF9C63" offset="0%"></stop>
+            <stop stop-color="#FF7144" offset="100%"></stop>
         </linearGradient>
-        <path d="M7.39092163,3.03294464 C7.39092163,3.72564768 7.56508899,4.37722505 7.87156676,4.94536012 L1.5,4.94501223 C0.671572875,4.94501223 1.01453063e-16,4.27343935 0,3.44501223 C-1.01453063e-16,2.6165851 0.671572875,1.94501223 1.5,1.94501223 L7.53933813,1.94388547 C7.44265229,2.29012358 7.39092163,2.6554266 7.39092163,3.03294464 Z M17.1949452,1.94501223 C18.0233723,1.94501223 18.6949452,2.6165851 18.6949452,3.44501223 C18.6949452,4.27343935 18.0233723,4.94501223 17.1949452,4.94501223 L14.8233784,4.94536012 C15.1298562,4.37722505 15.3040235,3.72564768 15.3040235,3.03294464 C15.3040235,2.6554266 15.2522929,2.29012358 15.155607,1.94388547 L17.1949452,1.94501223 Z" id="path-2"></path>
-        <path d="M3.42,12.4830669 C3.42,13.17577 3.59416736,13.8273473 3.90064512,14.3954824 L1.5,14.3951345 C0.671572875,14.3951345 1.01453063e-16,13.7235616 0,12.8951345 C-1.01453063e-16,12.0667074 0.671572875,11.3951345 1.5,11.3951345 L3.5684165,11.3940078 C3.47173066,11.7402459 3.42,12.1055489 3.42,12.4830669 Z M17.1949452,11.3951345 C18.0233723,11.3951345 18.6949452,12.0667074 18.6949452,12.8951345 C18.6949452,13.7235616 18.0233723,14.3951345 17.1949452,14.3951345 L10.8524568,14.3954824 C11.1589345,13.8273473 11.3331019,13.17577 11.3331019,12.4830669 C11.3331019,12.1055489 11.2813712,11.7402459 11.1846854,11.3940078 L17.1949452,11.3951345 Z" id="path-3"></path>
-        <ellipse id="path-4" cx="11.3474726" cy="3.03294464" rx="3" ry="3.03294464"></ellipse>
-        <ellipse id="path-5" cx="7.32" cy="12.4830669" rx="3" ry="3.03294464"></ellipse>
     </defs>
     <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="主界面" transform="translate(-611.000000, -13.000000)">
-            <g id="速度" transform="translate(611.000000, 13.000000)">
-                <rect id="矩形备份-31" fill="#2DC7AA" x="0" y="0" width="29" height="29" rx="14.5"></rect>
-                <g id="编组-4" transform="translate(5.180000, 6.900000)">
-                    <g id="形状结合">
-                        <use fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
-                        <use fill="#166B5B" xlink:href="#path-2"></use>
-                        <use fill="#FFFFFF" xlink:href="#path-2"></use>
-                    </g>
-                    <g id="形状结合">
-                        <use fill="url(#linearGradient-1)" xlink:href="#path-3"></use>
-                        <use fill="#166B5B" xlink:href="#path-3"></use>
-                        <use fill="#FFFFFF" xlink:href="#path-3"></use>
-                    </g>
-                    <g id="椭圆形备份-8">
-                        <use fill="#FFBB39" xlink:href="#path-4"></use>
-                        <ellipse stroke="#2DC7AA" stroke-width="1" fill="#FFFFFF" cx="11.3474726" cy="3.03294464" rx="3.5" ry="3.53294464"></ellipse>
-                    </g>
-                    <g id="椭圆形备份-9">
-                        <use fill="#FFBB39" xlink:href="#path-5"></use>
-                        <ellipse stroke="#2DC7AA" stroke-width="1" fill="#FFFFFF" cx="7.32" cy="12.4830669" rx="3.5" ry="3.53294464"></ellipse>
-                    </g>
+        <g id="练习模式" transform="translate(-699.000000, -14.000000)">
+            <g id="速度" transform="translate(699.000000, 14.000000)">
+                <rect id="矩形备份-31" fill="url(#linearGradient-1)" x="0" y="0" width="29" height="29" rx="14.5"></rect>
+                <g id="编组-20" transform="translate(5.500000, 7.500000)" fill="#FFFFFF">
+                    <rect id="矩形备份-11" x="0" y="1.75" width="18" height="2.5" rx="1.25"></rect>
+                    <rect id="矩形备份-12" x="0" y="9.75" width="18" height="2.5" rx="1.25"></rect>
+                    <circle id="椭圆形备份" cx="12" cy="3" r="3"></circle>
+                    <circle id="椭圆形备份-2" cx="6" cy="11" r="3"></circle>
                 </g>
             </g>
         </g>

+ 47 - 55
src/subpages/colexiu/buttons/index.module.less

@@ -17,19 +17,14 @@
   justify-content: center;
   height: calc(34px + var(--header-padding-top));
   box-sizing: border-box;
-  // padding-bottom: 8px;
-  padding-top: calc(5px + var(--header-padding-top));
   overflow: hidden;
   background-color: #fff;
-  // background: linear-gradient(180deg, rgba(238, 238, 238, 0) 0%, rgba(46, 155, 98, 0.74) 100%);
   &::before {
     position: absolute;
     top: 0;
     left: 0;
-    // content: '';
     height: 100vh;
     width: 100vw;
-    // background: #E2F6F1;
     z-index: -1;
   }
   > div {
@@ -40,7 +35,6 @@
 .moreButton {
   display: flex;
   justify-content: flex-end;
-  // transform: translateY(130%);
 }
 
 .centerButton {
@@ -93,7 +87,6 @@
       display: flex;
       font-size: 5px;
       color: #828282;
-      // font-weight: 500;
       flex-direction: column;
       > span {
         display: block;
@@ -102,7 +95,7 @@
       }
     }
   }
-  &.bigIcon{
+  &.bigIcon {
     img {
       width: 25px;
       height: 14px;
@@ -151,15 +144,13 @@
   }
 }
 .backbtn {
-  // margin-top: -5px;
   display: inline-block;
   padding: 0;
-  width: 8px;
-  height: 12px;
-  // padding-right: 15px;
+  width: 32Px;
+  height: 32Px;
 }
-.titleWrap{
-  margin-left: 15px;
+.titleWrap {
+  margin-left: 15Px;
 }
 .speed {
   display: block;
@@ -427,81 +418,82 @@
   margin-right: 0;
 }
 
-
-.btnMusicList{
+.btnMusicList {
   position: fixed;
   right: 0;
   top: 50%;
   transform: translateY(-50%);
   z-index: 10;
   margin: 0;
-  background: rgba(0,0,0,0.24);
-  border-radius: 5px 0px 0px 5px;
-  padding: 7px 3px;
+  width: 40Px;
+  img {
+    width: 100%;
+  }
 }
 
-.toggleMusicType{
-  :global{
-    .van-popover__content{
-      padding: 4Px 0;
-      border-radius: 8Px;
+.toggleMusicType {
+  :global {
+    .van-popover__content {
+      padding: 4px 0;
+      border-radius: 8px;
     }
-    .van-popover__action{
-      width: 130Px;
-      height: 40Px;
-      padding: 0 14Px;
-      & > img{
-        width: 38Px;
-        margin-right: 16Px;
+    .van-popover__action {
+      width: 130px;
+      height: 40px;
+      padding: 0 14px;
+      & > img {
+        width: 38px;
+        margin-right: 16px;
       }
     }
-    .action-text{
+    .action-text {
       flex: 1;
-      font-size: 14Px;
+      font-size: 14px;
       text-align: justify;
       text-align-last: justify;
-      text-justify:distribute-all-lines; // 这行必加,兼容ie浏览器
-      &::before, &::after {
-        display: inline-block;/*行内元素*/
+      text-justify: distribute-all-lines; // 这行必加,兼容ie浏览器
+      &::before,
+      &::after {
+        display: inline-block; /*行内元素*/
         content: '';
-        width: 100%;/*可以挤掉文字,保证不跟文字在同一行*/
+        width: 100%; /*可以挤掉文字,保证不跟文字在同一行*/
         height: 0;
         visibility: hidden;
       }
     }
-    .action-active{
+    .action-active {
       color: var(--primary-color);
     }
   }
 }
-.slider{
-  width: 28Px;
+.slider {
+  width: 28px;
   color: #fff;
-  font-size: 8Px;
-  line-height: 16Px;
+  font-size: 8px;
+  line-height: 16px;
   text-align: center;
   background-color: var(--van-primary-color);
-  border-radius: 20Px;
+  border-radius: 20px;
 }
-:global(.van-popup.van-popover.cameraPopover){
-  width: 300Px;
-  :global{
-    .van-popover__arrow{
+:global(.van-popup.van-popover.cameraPopover) {
+  width: 300px;
+  :global {
+    .van-popover__arrow {
       right: 6px;
       border-width: 4px;
     }
-    .van-cell{
-      padding: 10Px 16Px;
-      line-height: 24Px;
+    .van-cell {
+      padding: 10px 16px;
+      line-height: 24px;
     }
-    .van-switch{
-      font-size: 16Px !important;
+    .van-switch {
+      font-size: 16px !important;
     }
-    .cameraOpacity{
-      .van-cell__value{
+    .cameraOpacity {
+      .van-cell__value {
         flex: 2;
         overflow: visible;
       }
     }
   }
-}
+}

+ 1 - 2
src/subpages/colexiu/buttons/index.tsx

@@ -182,7 +182,6 @@ export default defineComponent({
           : runtime.isFirstPlay || runtime.audiosInstance?.length == 1) ||
         runtime.evaluatingStatus ||
         (detailState.activeDetail?.isAppPlay && detailState.midiPlayIniting)
-      // console.log(playProgress, circleLength, runtime.currentTimeNum, runtime.durationNum)
       return (
         <div
           class={[
@@ -192,7 +191,7 @@ export default defineComponent({
         >
           <div class={styles.leftButton}>
             <Button class={classNames(styles.button, styles.backbtn)} onClick={back}>
-              <ButtonIcon name="back" />
+              <ButtonIcon name="icon-back" />
             </Button>
             <div class={styles.titleWrap}>
               <div class={styles.title}>{detailState.activeDetail?.musicSheetName}</div>

+ 2 - 31
src/subpages/colexiu/index.module.less

@@ -1,31 +1,11 @@
 .container {
   --header-padding-top: 0.1px;
-  // background: linear-gradient(140deg, #ffffff 0%, #e2f6f1 100%);
-  // background: #a6f0ff;
   height: 100vh;
   position: relative;
   // padding: 12px 22px;
   box-sizing: border-box;
-  // background-image: url('./icons/bg-top.png');
   height: 100vh;
   background-size: cover;
-  :global(.fingering) {
-    // background-color: #fff;
-    // box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
-  }
-  // &::before {
-  //   content: '';
-  //   width: 100%;
-  //   display: block;
-  //   background-size: cover;
-  //   background-repeat: no-repeat;
-  //   position: absolute;
-  //   left: 0;
-  //   // background-image: url('./icons/bg-bottom.png');
-  //   height: 70px;
-  //   bottom: 0;
-  //   z-index: 0;
-  // }
 }
 
 :global(.openCamera) {
@@ -41,7 +21,6 @@
     background: var(--eye-background-color)!important;
   }
   &.container {
-    // background-image: url('./icons/eye-bg.png');
     &::before {
       background-image: none;
     }
@@ -50,25 +29,17 @@
 
 .musicSheet {
   z-index: 1;
-  position: absolute;
+  position: relative;
   width: 100%;
   height: 100vh;
   background-color: #fff;
-  // background: #E2F6F1;
-  // top: 12px;
-  // left: 22px;
-  // bottom: 12px;
-  // right: 22px;
-  // border-radius: 5px;
   box-sizing: border-box;
   padding-top: calc(35px + var(--header-padding-top));
   overflow: hidden;
-  overflow-y: auto;
-  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.5), 0px 3px 5px 0px rgba(0, 0, 0, 0.5);
-  // padding-bottom: 10px;
   &:global(.evaluating) {
     background: #E2F6F1;
   }
+  box-sizing: border-box;
 }
 .skeleton {
   padding-top: 20px;

+ 6 - 75
src/subpages/colexiu/index.tsx

@@ -40,9 +40,9 @@ import { postMessage } from '/src/helpers/native-message'
 import { svgtopng } from './helpers'
 import { restPromptMain } from '/src/helpers/restPrompt'
 import ProductJson from './popups/productJson'
+import { useRoute } from 'vue-router'
 
 const search = useOriginSearch()
-
 const browserInfo = browser()
 
 // json化曲谱的note信息和svg
@@ -58,22 +58,18 @@ export const MusicSheetRef = ref()
 export default defineComponent({
   name: 'Colexiu',
   setup() {
+    const route = useRoute()
+    console.log("🚀 ~ route", route.query, search)
     detailState.midiPlayIniting = true
     const renderLoading = ref(true)
     const renderError = ref(false)
     const compulsionEvaluating = ref(false)
-    // 缓存数据
-    const cacheData = reactive({
-      jsonUrl: '',
-      xmlUrl: '',
-      jianpuUrl: '',
-    })
     const score = ref<string>('')
     const fingeringStatus: Ref<string> = ref('init')
     const fingeringWidth = ref('')
     const activeType = ref<object>({})
     const fingeringDetail = ref<ITypeContentItem | object>({})
-    const [detailStatus, detail] = useDetail(search.id as string)
+    const [detailStatus, detail] = useDetail(route.query.id as string)
     const pages = new PageFormat(650, 884)
     /** 监听详情的获取状态,设置指法等信息 */
     watch(detailStatus, async () => {
@@ -257,56 +253,6 @@ export default defineComponent({
         runtime.evaluatingStatus = true
         modelType.value = 'evaluation'
       }
-
-      const getSvgPng = async (osmd: any) => {
-        if (osmd) {
-          for (const backend of osmd.Drawer?.Backends || []) {
-            const { state, width, height } = (backend as any).ctx
-            const { x, y } = state.scale
-
-            const cont = new XMLSerializer().serializeToString((backend as any).ctx.svg)
-            return await svgtopng(cont, width / x, height / y)
-          }
-        }
-      }
-      const getSvgPngToSize = async (osmd: any) => {
-        if (osmd) {
-          const imgList = [] as any
-          if (osmd.Drawer.Backends.length > 0) {
-            for (let idx = 0, len = osmd.Drawer.Backends.length; idx < len; idx++) {
-              const backend = osmd.Drawer.Backends[idx]
-              const { state, width, height } = (backend as any).ctx
-              const { x, y } = state.scale
-              const cont = new XMLSerializer().serializeToString((backend as any).ctx.svg)
-              imgList.push(await svgtopng(cont, width / x, height / y))
-            }
-            return imgList
-          }
-        }
-      }
-      if (window.parent) {
-        // 获取图片
-        // try {
-        //   const img = search.pageType === 'multiple' ? await getSvgPngToSize(osmd) : await getSvgPng(osmd)
-        //   window.parent.postMessage(
-        //     {
-        //       api: 'osdmRendered',
-        //       content: {
-        //         img,
-        //       },
-        //     },
-        //     '*'
-        //   )
-        // } catch (error) {
-        //   window.parent.postMessage(
-        //     {
-        //       api: 'osdmRenderedError',
-        //     },
-        //     '*'
-        //   )
-        // }
-        // let png = svgtopng()
-      }
     }
 
     const onStartRender = async () => {
@@ -332,15 +278,6 @@ export default defineComponent({
       renderError.value = true
       renderLoading.value = false
 
-      if (window.parent) {
-        // 获取图片
-        window.parent.postMessage(
-          {
-            api: 'osdmRenderedError',
-          },
-          '*'
-        )
-      }
     }
 
     //给app传伴奏
@@ -375,20 +312,15 @@ export default defineComponent({
             ? `calc(100% - ${calcWidh} - ${calcRight} - ${calcLeft} - ${calcRightWidth})`
             : '',
       }
-      // console.log((renderLoading.value, detailStatus.value === 'loading'))
-      // console.log('ColexiuRender', detail.value.musicSubject, score.value)
-
       return (
         <div
           class={[
             styles.container,
             SettingState.sett.eyeProtection && 'eyeProtection',
-            // SettingState.sett.camera && 'openCamera',
             browserInfo.android && 'android',
           ]}
         >
-          <Buttons class={styles.buttons} />
-          {/* <Header /> */}
+          {!loading && !error && <Buttons class={styles.buttons} />}
           <div
             id="colexiu-detail-music-sheet"
             class={[styles.musicSheet, { evaluating: runtime.evaluatingStatus || modelType.value === 'follow' }]}
@@ -475,8 +407,7 @@ export default defineComponent({
               </>
             )}
           </div>
-          {/* <EvaluatingTips class={styles.tips} studentIcon={StudentIcon} /> */}
-          <ButtonsPlayer />
+          {!loading && !error && <ButtonsPlayer />}
           {/* 节拍器弹窗 */}
           <TickPopup score={score.value} />
           <Permission />

+ 3 - 2
src/subpages/colexiu/main.ts

@@ -1,4 +1,5 @@
 import { createApp } from 'vue'
+import router from './router'
 import { close } from '/src/helpers/loading'
 import { formatZoom } from '/src/helpers/utils'
 import appState from '/src/state'
@@ -7,6 +8,7 @@ import 'animate.css'
 import 'vant/lib/index.css'
 import './app.css'
 import '../../base.css'
+import App from './App'
 
 appState.clintNmae = 'colexiu'
 
@@ -14,7 +16,6 @@ appState.clintNmae = 'colexiu'
 
 document.body.style.setProperty('--osdm-zoom', '' + formatZoom())
 
-import App from './index'
 
 close()
-createApp(App).mount('#app')
+createApp(App).use(router).mount('#app')

+ 18 - 18
src/subpages/colexiu/popups/productJson/index.tsx

@@ -14,24 +14,24 @@ export default defineComponent({
     const autoProduct = (val: any) => {
       if (search.modeType === 'json') return
       console.log(musicData.rended, '渲染是否结束')
-      if (!musicData.svg){
-        musicData.svg = document.getElementById('osmdSvgPage1')?.outerHTML || '';
-      }
-      if (!musicData.svg) {
-        return
-      }
-      if (SettingState.sett.type === 'staff') {
-        if (!detailState.activeDetail?.musicSvg) {
-          handleSave(false)
-        }
-      } else {
-        if (
-          (SettingState.sett.keySignature && !detailState.activeDetail?.musicFirstSvg) ||
-          (!SettingState.sett.keySignature && !detailState.activeDetail?.musicJianSvg)
-        ) {
-          handleSave(false)
-        }
-      }
+      // if (!musicData.svg){
+      //   musicData.svg = document.getElementById('osmdSvgPage1')?.outerHTML || '';
+      // }
+      // if (!musicData.svg) {
+      //   return
+      // }
+      // if (SettingState.sett.type === 'staff') {
+      //   if (!detailState.activeDetail?.musicSvg) {
+      //     handleSave(false)
+      //   }
+      // } else {
+      //   if (
+      //     (SettingState.sett.keySignature && !detailState.activeDetail?.musicFirstSvg) ||
+      //     (!SettingState.sett.keySignature && !detailState.activeDetail?.musicJianSvg)
+      //   ) {
+      //     handleSave(false)
+      //   }
+      // }
     }
     expose({
       autoProduct,

+ 19 - 0
src/subpages/colexiu/router.ts

@@ -0,0 +1,19 @@
+import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
+
+const routes: RouteRecordRaw[] = [
+  {
+    path: '/',
+    component: () => import('./App'),
+    children:[
+      {
+        path: '/',
+        component: () => import('./index')
+      }
+    ]
+  }
+]
+
+export default createRouter({
+  history: createWebHashHistory(),
+  routes
+})

+ 1 - 7
src/subpages/colexiu/uses/use-app.ts

@@ -136,11 +136,9 @@ export const useDetail = (id: number | string): [Ref<ShaeetStatusType>, Ref<Musi
   const client = useClientType()
   const status = ref<ShaeetStatusType>('loading')
   const data = ref<MusicSheelDetail>({})
-  // onMounted(async () => {
   status.value = 'loading'
-  // try {
   request
-    .get(`/music/sheet/detail/${id}`, {
+    .get(`/musicSheet/detail/${id}`, {
       prefix: client === 'teacher' ? '/api-teacher' : '/api-student',
     })
     .then((res) => {
@@ -157,10 +155,6 @@ export const useDetail = (id: number | string): [Ref<ShaeetStatusType>, Ref<Musi
     })
     .catch(() => (status.value = 'error'))
 
-  // } catch (error) {
-  //   status.value = 'error'
-  // }
-  // })
   return [status, data]
 }
 

+ 1 - 1
src/subpages/colexiu/uses/use-config.ts

@@ -10,7 +10,7 @@ export const useConfigMusicSheetFreeRate = async () => {
   const client = useClientType()
   try {
     const res = await request.get(
-      '/sysConfig/queryByParamNameList',
+      '/sysParamConfig/queryByParamNameList',
       {
         prefix: client === 'teacher' ? '/api-teacher' : '/api-student',
         params: {

+ 2 - 2
src/subpages/colexiu/uses/use-user.ts

@@ -56,11 +56,11 @@ export const useUser = () => {
     try {
       const client = useClientType()
       if (client === 'student') {
-        const { data } = await request.get('/student/queryUserInfo')
+        const { data } = await request.get('/appLoginUser/getUserInfo')
         AppState.user = data
       }
       if (client === 'teacher') {
-        const { data } = await request.get('/teacher/queryUserInfo', {
+        const { data } = await request.get('/appLoginUser/getUserInfo', {
           prefix: '/api-teacher',
         })
         AppState.user = {

+ 1 - 6
vite.config.js

@@ -9,13 +9,8 @@ const vueJsx = require('@vitejs/plugin-vue-jsx')
 const legacy = require('@vitejs/plugin-legacy')
 // import svgLoader from 'vite-svg-loader'
 
-// const proxyUrl = 'http://192.168.3.12:8000/'
-// const proxyUrl = 'https://mstutest.dayaedu.com/' // test 环境
-const proxyUrl = 'https://dev.colexiu.com/' // test 环境
-// const proxyUrl = 'http://47.114.1.200:80/' // test 环境
+const proxyUrl = 'http://47.98.131.38:8989/' // test 环境
 // const proxyUrl = 'https://online.colexiu.com/' // online 环境
-// const proxyUrl = 'http://mstudev.dayaedu.com/' // 测试环境
-// const proxyUrl = 'https://mstuonline.dayaedu.com/' // 正式环境
 
 // const proxyUrl = 'http://mstudev.dayaedu.com'
 

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff