Browse Source

fix: bug修复

TIANYONG 1 year ago
parent
commit
fc8b9e7e40

+ 9 - 5
src/helpers/formateMusic.ts

@@ -27,11 +27,15 @@ export const getFixTime = (speed: number) => {
 	let numerator = duration.numerator || 0;
 	let denominator = duration.denominator || 4;
 	const beatUnit = duration.beatUnit || "quarter";
+	// if (state.repeatedBeats) {
+	// 	// 音频制作问题仅2拍不重复
+	// 	numerator = numerator === 2 ? 4 : numerator;
+	// } else if (numerator === 2 && denominator === 4) {
+	// 	numerator = 4
+	// }
+	// 重复节拍,拍数*2进行计算
 	if (state.repeatedBeats) {
-		// 音频制作问题仅2拍不重复
-		numerator = numerator === 2 ? 4 : numerator;
-	} else if (numerator === 2 && denominator === 4) {
-		numerator = 4
+		numerator = numerator*2;
 	}
 	// console.log('diff', speed, duration, formatBeatUnit(beatUnit), denominator, numerator, (numerator / denominator))
 	return state.isOpenMetronome ? (60 / speed) * formatBeatUnit(beatUnit) * (numerator / denominator) : 0;
@@ -356,7 +360,7 @@ export const onlyVisible = (xml: string, partIndex: number): string => {
 	const detailId = state.examSongId + "";
 	const xmlParse = new DOMParser().parseFromString(xml, "text/xml");
 	const partList = xmlParse.getElementsByTagName("part-list")?.[0]?.getElementsByTagName("score-part") || [];
-	const partListNames = Array.from(partList).map((item) => item.getElementsByTagName("part-name")?.[0]?.textContent || "");
+	const partListNames = Array.from(partList).map((item) => item.getElementsByTagName("part-name")?.[0]?.textContent?.trim() || "");
 	const parts: any = xmlParse.getElementsByTagName("part");
 	// const firstTimeInfo = parts[0]?.getElementsByTagName('metronome')[0]?.parentElement?.parentElement?.cloneNode(true)
 	const firstMeasures = [...parts[0]?.getElementsByTagName("measure")];

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

@@ -130,4 +130,16 @@
     .headHeight.headHide {
         // margin-top: 0 !important;
     }
+}
+
+
+.preViewDetail {
+    .container {
+        height: 100%;
+    }
+    :global {
+        #osmdCanvasPage1 {
+            padding-bottom: 0 !important;
+        }
+    }
 }

+ 5 - 1
src/page-instrument/view-detail/index.tsx

@@ -121,7 +121,11 @@ export default defineComponent({
     onMounted(async () => {
       (window as any).appName = "colexiu";
       const id = query.id || "43554";
+      // 如果是纯预览模式,0.65倍缩放谱面
       state.isPreView = query.isPreView
+      if (state.isPreView) {
+        state.zoom = 0.65
+      }
       // Promise.all([sysMusicScoreAccompanimentQueryPage(id)]).then((values) => {
       //   getMusicInfo(values[0]);
       // });
@@ -310,7 +314,7 @@ export default defineComponent({
     };
     return () => (
       <div
-        class={[styles.detail, state.setting.eyeProtection && "eyeProtection", state.platform === IPlatform.PC && styles.PC]}
+        class={[styles.detail, state.setting.eyeProtection && "eyeProtection", state.platform === IPlatform.PC && styles.PC, state.isPreView && styles.preViewDetail]}
         style={{
           paddingLeft: detailData.paddingLeft,
           background: state.setting.camera ? `rgba(${state.setting.eyeProtection ? "253,244,229" : "255,255,255"} ,${state.setting.cameraOpacity / 100}) !important` : "",

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

@@ -41,7 +41,7 @@ import { IPostMessage } from "/src/utils/native-message";
 import { usePageVisibility } from "@vant/use";
 import { browser } from "/src/utils";
 import { getAudioCurrentTime, toggleMutePlayAudio } from "../audio-list";
-import { handleStartTick } from "../tick";
+import { handleStartTick, tickData } from "../tick";
 import AbnormalPop from "../abnormal-pop";
 import { storeData } from "../../store";
 import icon_bg from '../abnormal-pop/icon_bg.svg'
@@ -531,6 +531,10 @@ const handleAccompanyError = (res?: IPostMessage) => {
 				if (state.modeType === "evaluating" && evaluatingData.startBegin) {
 					handleCancelEvaluat();
 				}
+				if (tickData.show) {
+					tickData.tickEnd = true
+					tickData.show = false
+				}
 				evaluatingData.socketErrorStatus = 0
 				evaluatingData.socketErrorPop = type === "socketError" ? true : false
 				evaluatingData.isErrorState = true

+ 3 - 1
src/view/plugins/toggleMusicSheet/index.tsx

@@ -22,9 +22,10 @@ export default defineComponent({
     const partListNames = computed(() => {
       let partList = state.partListNames || []
       partList = partList.filter((item: any) => !item?.toLocaleUpperCase()?.includes('COMMON'))
-      return partList.map((item: any, index: number) => {
+      const arr =  partList.map((item: any, index: number) => {
         // 该声轨能否被选
         const canselect = state.canSelectTracks.length == 0 || state.canSelectTracks.includes(item) ? true : false
+        // console.log(canselect,index)
         const instrumentName = getInstrumentName(item)
         const sortId = sortMusical(instrumentName, index)
         return {
@@ -34,6 +35,7 @@ export default defineComponent({
           canselect
         }
       }).filter((item: any) => item.canselect).sort((a: any, b: any) => a.sortId - b.sortId)
+      return arr
     })
 
     const trackIdx: any = computed(() => {

+ 1 - 1
src/view/tick/index.tsx

@@ -7,7 +7,7 @@ import state from "/src/state";
 import { browser } from "/src/utils/index";
 
 const browserInfo = browser();
-const tickData = reactive({
+export const tickData = reactive({
 	list: [] as number[],
 	len: 0,
 	tickEnd: false,

+ 2 - 2
vite.config.ts

@@ -68,8 +68,8 @@ export default defineConfig({
 				// target: "https://test.lexiaoya.cn",
 				// target: "https://dev.kt.colexiu.com",
 				// target: "https://dev.resource.colexiu.com", // 内容平台开发环境
-				target: "https://test.resource.colexiu.com",
-				// target: "https://test.kt.colexiu.com",
+				// target: "https://test.resource.colexiu.com",
+				target: "https://test.kt.colexiu.com",
 				changeOrigin: true,
 				rewrite: (path) => path.replace(/^\/instrument/, ""),
 			},