| 
					
				 | 
			
			
				@@ -1,165 +1,332 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  defineComponent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { defineComponent, nextTick, onMounted, reactive, ref } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import styles from './index.module.less'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import TheSearch from '/src/components/TheSearch'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import recommendTitle from './images/reommon_title.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import newTitle from './images/new_title.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import hotTitle from './images/hot_title.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { NScrollbar } from 'naive-ui'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { NScrollbar, NSpin } from 'naive-ui'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import TheNoticeBar from '/src/components/TheNoticeBar'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useRouter } from 'vue-router'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { api_musicSheetQueryByTag } from './api'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { api_musicSheetPage } from '../xiaoku-ai/api'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import TheEmpty from '/src/components/TheEmpty'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import titleBg from './images/title-bg.png' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export const formatUsedNum = (num: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (num < 10000) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const n = num / 10000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return Number(n.toFixed(1)) + '万'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'xiaoku-list', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const router = useRouter() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const router = useRouter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      HOT: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      NEW: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      RECOMMEND: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isSearch: false, // 是否点击搜索 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      keyword: null as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      list: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loading: false as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      finshed: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rows: 20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 获取三个模块 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getDetail = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await api_musicSheetQueryByTag(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.RECOMMEND = data.RECOMMEND || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.HOT = data.HOT || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.NEW = data.NEW || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 获取更多 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.loading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await api_musicSheetPage({ keyword: state.keyword, page: state.page, rows: state.rows }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const result = data.rows || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result.forEach((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (item.musicSheetName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const regex = new RegExp(state.keyword, 'gi'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const highlightedText = item.musicSheetName.replace( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              regex, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              `<span>$&</span>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.musicNameReg = highlightedText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.list = [...state.list, ...data.rows]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.finshed = state.page >= data.pages; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(data, state.list, 'list'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(e, 'e'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const spinRef = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const handleResh = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (state.loading || state.finshed) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.page = state.page + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const __initSpin = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const obv = new IntersectionObserver(entries => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (entries[0].intersectionRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          handleResh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      obv.observe(spinRef.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 查看更多 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onMore = (type?: '' | 'RECOMMEND' | 'NEW' | 'HOT') => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        path: '/xiaoku-detail', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        query: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type: type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class={styles.list}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <h2 class={styles.topTitle}>海量曲目 任你选择</h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <h2 class={styles.topTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <img src={titleBg} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class={styles.searchSection}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <TheSearch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             round 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             class={styles.searchInput} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             onSearch={val => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // forms.keyword = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if(val && val.trim()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state.isSearch = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state.keyword = val.trim() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state.loading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state.finshed = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state.list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  __initSpin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state.isSearch = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={styles.moreMusic}>全部曲目</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class={styles.moreMusic} onClick={() => onMore()}>全部曲目</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         <div class={styles.container}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={[styles.section, styles.recommendSection]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class={styles.sectionTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <img src={recommendTitle} class={styles.imgTitle} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class={styles.moreBtn}>更多</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {state.isSearch ? ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class={styles.searchContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(() => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.item} onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    path: '/xiaoku-detail' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={[styles.num]}>01</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={styles.img}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      referrerpolicy="no-referrer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      src="https://lanhu-oss.lanhuapp.com/SketchPnge5215a88a6a2d4a1aba30956f78102bf01fac5e63f33b045c1427d94330297dd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class={styles.sectionContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {state.list.map((item: any) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.sectionItem}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class={styles.img} style={{ marginLeft: 0 }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <img referrerpolicy="no-referrer" src={item.titleImg} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <div class={styles.infos}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class={styles.topName}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <TheNoticeBar text='玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲' /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={styles.topName} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      v-html={item.musicNameReg}></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class={styles.types}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <div class={styles.hot}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <span>1.8万</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <span>{formatUsedNum(item.usedNum)}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.author}>耶寒尔</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {item.audioPlayTypes?.includes('SING') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {item.audioPlayTypes?.includes('PLAY') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class={styles.author}>{item.composer}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ref={spinRef} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              class={[styles.loadingWrap, state.finshed && styles.showLoading]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <NSpin show={true}></NSpin> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {!state.loading && state.list.length === 0 && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class={styles.empty}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <TheEmpty></TheEmpty> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={[styles.section, styles.hotSection]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class={styles.sectionTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <img src={hotTitle} class={styles.imgTitle} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) : ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class={styles.container}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class={[styles.section, styles.recommendSection]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class={styles.sectionTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <img src={recommendTitle} class={styles.imgTitle} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class={styles.moreBtn}>更多</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.moreBtn}>更多</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(() => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.item}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={[styles.num]}>01</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={styles.img}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      referrerpolicy="no-referrer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      src="https://lanhu-oss.lanhuapp.com/SketchPnge5215a88a6a2d4a1aba30956f78102bf01fac5e63f33b045c1427d94330297dd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={styles.infos}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class={styles.topName}>玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class={styles.types}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.hot}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <span>1.8万</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {state.RECOMMEND.map((item: any, index: number) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    class={styles.item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      onMore('RECOMMEND'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        styles.num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 0 ? styles.num1 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 1 ? styles.num2 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 2 ? styles.num3 : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {(index + 1).toString().padStart(2, '0')} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class={styles.img}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <img referrerpolicy="no-referrer" src={item.titleImg} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class={styles.infos}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class={styles.topName}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <TheNoticeBar text={item.musicSheetName} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class={styles.types}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.hot}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <span>{formatUsedNum(item.usedNum)}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {item.audioPlayTypes?.includes('SING') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {item.audioPlayTypes?.includes('PLAY') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.author}>{item.composer}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.author}>耶寒尔</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={[styles.section, styles.newSection]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class={styles.sectionTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <img src={newTitle} class={styles.imgTitle} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class={styles.moreBtn}>更多</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class={[styles.section, styles.hotSection]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class={styles.sectionTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <img src={hotTitle} class={styles.imgTitle} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.moreBtn}>更多</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(() => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.item}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={[styles.num]}>01</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={styles.img}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      referrerpolicy="no-referrer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      src="https://lanhu-oss.lanhuapp.com/SketchPnge5215a88a6a2d4a1aba30956f78102bf01fac5e63f33b045c1427d94330297dd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class={styles.infos}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class={styles.topName}>玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class={styles.types}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.hot}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <span>1.8万</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {state.HOT.map((item: any, index: number) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    class={styles.item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      onMore('HOT'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        styles.num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 0 ? styles.num1 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 1 ? styles.num2 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 2 ? styles.num3 : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {(index + 1).toString().padStart(2, '0')} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class={styles.img}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <img referrerpolicy="no-referrer" src={item.titleImg} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class={styles.infos}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class={styles.topName}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <TheNoticeBar text={item.musicSheetName} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class={styles.types}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.hot}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <span>{formatUsedNum(item.usedNum)}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {item.audioPlayTypes?.includes('SING') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {item.audioPlayTypes?.includes('PLAY') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.author}>{item.composer}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class={styles.author}>耶寒尔</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </div></>  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {/* <div class={styles.sectionContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={styles.sectionItem}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class={styles.img}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                referrerpolicy="no-referrer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                src="https://lanhu-oss.lanhuapp.com/SketchPnge5215a88a6a2d4a1aba30956f78102bf01fac5e63f33b045c1427d94330297dd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class={styles.infos}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class={styles.topName}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <span>玩具</span>兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲玩具兵进行曲 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class={styles.types}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.hot}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <span>1.8万</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.author}>耶寒尔</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class={[styles.section, styles.newSection]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class={styles.sectionTitle}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <img src={newTitle} class={styles.imgTitle} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.moreBtn}>更多</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {state.NEW.map((item: any, index: number) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    class={styles.item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      onMore('NEW'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        styles.num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 0 ? styles.num1 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 1 ? styles.num2 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        index === 2 ? styles.num3 : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {(index + 1).toString().padStart(2, '0')} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class={styles.img}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <img referrerpolicy="no-referrer" src={item.titleImg} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class={styles.infos}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class={styles.topName}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <TheNoticeBar text={item.musicSheetName} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class={styles.types}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.hot}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <span>{formatUsedNum(item.usedNum)}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {item.audioPlayTypes?.includes('SING') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class={styles.sing}>演唱</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {item.audioPlayTypes?.includes('PLAY') && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class={styles.song}>演奏</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class={styles.author}>{item.composer}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </NScrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 |