Browse Source

fix: #11393bug修改

TIANYONG 5 months ago
parent
commit
dad646c3c1
5 changed files with 10 additions and 8 deletions
  1. 2 2
      src/helpers/formateMusic.ts
  2. 2 2
      src/state.ts
  3. 3 1
      src/view/evaluating/index.tsx
  4. 1 1
      src/view/music-score/index.tsx
  5. 2 2
      vite.config.ts

+ 2 - 2
src/helpers/formateMusic.ts

@@ -780,8 +780,7 @@ export const formatXML = (xml: string, xmlUrl?: string): string => {
           <voice>1</voice>
           <type>whole</type>
         </note>`;
-		}
-		if (state.musicRenderType !== 'staff') {
+		} else if (state.musicRenderType !== 'staff') {
 			transferJianNote(measure, divisions, preBeats, preBeatType)
 		}
 	}
@@ -1395,6 +1394,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				notBeatTime: state.isEvxml && evNoteStartTime ? retain(evNoteStartTime) : retain(relativeTime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)), // 不含节拍器的 音符开始时间
 				notBeatEndTime: state.isEvxml && evNoteEndTime ? retain(evNoteEndTime) : retain(relaEndtime + (state.isOpenMetronome ? fixtime - xmlMp3BeatFixTime : fixtime)) // 不含节拍器的 音符结束时间
 			};
+			console.log('当前的小节',nodeDetail.MeasureNumberXML,totalMultipleRestMeasures,multipleRestMeasures)
 			// 如果是妙极客的曲子,并且第二遍循环播放需要等待时间,并且是第二遍循环的第一个小节的第一个音符
 			// if (state.isEvxml && state.secondEvXmlBeginTime && nodeDetail.i > 0 && nodeDetail.MeasureNumberXML === 1 && nodeDetail.noteId === 0) {
 			// 	nodeDetail.time = nodeDetail.time + state.secondEvXmlBeginTime;

+ 2 - 2
src/state.ts

@@ -1295,13 +1295,13 @@ let offsetTop = 0;
  * @param isScroll 可选: 强制滚动到顶部, 默认: false
  * @returns void
  */
-export const scrollViewNote = () => {
+export const scrollViewNote = (resetTop?: boolean) => {
   // const cursorElement = document.getElementById("cursorImg-0")!;
   const noteId = state.times[state.activeNoteIndex].id;
   if (state.isSingleLine) {
     return;
   }
-  if (state.activeNoteIndex <= 1) {
+  if (state.activeNoteIndex <= 1 || resetTop) {
     offsetTop = 0;
   }
   const domId = "vf" + noteId;

+ 3 - 1
src/view/evaluating/index.tsx

@@ -35,7 +35,7 @@ import {
   api_startDelayCheck,
   api_closeDelayCheck,
 } from "/src/helpers/communication";
-import state, { IPlayState, clearSelection, handleStopPlay, onPlay, resetPlaybackToStart, togglePlay, initSetPlayRate, resetBaseRate } from "/src/state";
+import state, { IPlayState, clearSelection, handleStopPlay, onPlay, resetPlaybackToStart, togglePlay, initSetPlayRate, resetBaseRate, scrollViewNote } from "/src/state";
 import { IPostMessage } from "/src/utils/native-message";
 import { usePageVisibility } from "@vant/use";
 import { browser } from "/src/utils";
@@ -358,6 +358,8 @@ const handleScoreResult = (res?: IPostMessage) => {
 
 /** 开始评测 */
 export const handleStartBegin = async (preTimes?: number) => {
+  // 滚动到当前小节所在区域
+  scrollViewNote(true);
   evaluatingData.needPlayTick = false;
 	if (state.isAppPlay) {
 		await api_cloudSetCurrentTime({

+ 1 - 1
src/view/music-score/index.tsx

@@ -103,7 +103,7 @@ export default defineComponent({
 				renderSingleHorizontalStaffline: state.isSingleLine ? true : false,
 				// autoGenerateMultipleRestMeasuresFromRestMeasures: state.isSingleLine ? false : true, // 连续休止小节是否合并显示
 				autoGenerateMultipleRestMeasuresFromRestMeasures: true,
-				drawLyrics: ( ((!state.accompany && !state.music ) || state.playType === 'sing') && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
+				drawLyrics: ( ((!state.accompany && !state.music ) || state.playType === 'sing' || !state.isEvxml) && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
 				// darkMode: true, // 暗黑模式
 				// pageFormat: 'A4_P',
 				// autoBeam: true,

+ 2 - 2
vite.config.ts

@@ -76,8 +76,8 @@ export default defineConfig({
         // target: "https://kt.colexiu.com",
         // target: "https://test.lexiaoya.cn",
         // target: "https://kt.colexiu.com",
-        target: "https://test.resource.colexiu.com", // 内容平台开发环境,内容平台开发,需在url链接上加上isCbs=true
-        // target: "https://test.kt.colexiu.com",
+        // target: "https://test.resource.colexiu.com", // 内容平台开发环境,内容平台开发,需在url链接上加上isCbs=true
+        target: "https://test.kt.colexiu.com",
         // target: "https://mec.colexiu.com",
         changeOrigin: true,
         rewrite: (path) => path.replace(/^\/instrument/, ""),