liushengqiang 2 gadi atpakaļ
vecāks
revīzija
1525c8fbaa

+ 4 - 0
src/page-instrument/App.tsx

@@ -45,6 +45,10 @@ export default defineComponent({
 					setToken(token);
 				}
 			}
+			if (query.productXmlImg){
+				storeData.status = "login";
+				return
+			}
 			setUser();
 			setBehaviorId(getRandomKey());
 		});

+ 5 - 91
src/page-instrument/view-product-img/index.tsx

@@ -1,11 +1,9 @@
 import { defineComponent, onMounted, reactive } from "vue";
 import state, { EnumMusicRenderType } from "/src/state";
-import { setGlobalData } from "../../utils";
 import MusicScore from "../../view/music-score";
-import { sysMusicScoreAccompanimentQueryPage } from "../api";
 import styles from "./index.module.less";
 import { getQuery } from "/src/utils/queryString";
-import { Toast, closeToast, showLoadingToast, showToast } from "vant";
+import { closeToast, showLoadingToast } from "vant";
 import { svg2canvas } from "/src/utils/svg2canvas";
 
 export default defineComponent({
@@ -37,73 +35,13 @@ export default defineComponent({
 				},
 			],
 		});
-		// console.log(route.params, query)
-		/** 获取曲谱数据 */
-		const getMusicInfo = (res: any) => {
-			const index = query["part-index"] ? parseInt(query["part-index"] as string) : 0;
-			const musicData = res.data.background[index] || {};
-			const musicInfo = {
-				...res.data,
-				music: musicData.audioFileUrl || res.data.audioFileUrl,
-				accompany: musicData.metronomeUrl || res.data.metronomeUrl,
-				musicSheetId: musicData.musicSheetId || res.data.id,
-				track: musicData.track || res.data.track,
-			};
-			console.log("🚀 ~ musicInfo:", musicInfo);
-			setState(musicInfo, index);
-			setCustom();
-			detailData.isLoading = false;
-		};
-
-		const setState = (data: any, index: number) => {
-			state.appName = "COLEXIU";
-			state.detailId = data.id;
-			state.xmlUrl = data.xmlFileUrl;
-			state.partIndex = index;
-			state.subjectId = data.musicSubject;
-			state.categoriesId = data.categoriesId;
-			state.categoriesName = data.musicTagNames;
-			state.enableEvaluation = data.canEvaluate ? true : false;
-			state.examSongId = data.id + "";
-			state.examSongName = data.musicSheetName;
-			// 解析扩展字段
-			if (data.extConfigJson) {
-				try {
-					state.extConfigJson = JSON.parse(data.extConfigJson as string);
-				} catch (error) {
-					console.error("解析扩展字段错误:", error);
-				}
-			}
-			state.isOpenMetronome = data.mp3Type === "MP3_METRONOME" ? true : false;
-			// 曲子包含节拍器,就不开启节拍器
-			state.needTick = data.mp3Type === "MP3_METRONOME" ? false : true;
-			state.isShowFingering = data.showFingering ? true : false;
-			state.music = data.music;
-			state.accompany = data.accompany;
-			state.midiUrl = data.midiUrl;
-			state.parentCategoriesId = data.musicTag;
-			state.musicSheetCategoriesId = data.musicSheetCategoriesId;
-			state.playMode = data.audioType === "MP3" ? "MP3" : "MIDI";
-			state.originSpeed = state.speed = data.playSpeed;
-			state.track = data.code || data.track;
-			state.enableNotation = data.notation ? true : false;
-
-			//课堂乐器,默认简谱
-			state.musicRenderType = EnumMusicRenderType.staff;
-		};
-
-		const setCustom = () => {
-			if (state.extConfigJson.multitrack) {
-				setGlobalData("multitrack", state.extConfigJson.multitrack);
-			}
-		};
 
 		onMounted(() => {
 			(window as any).appName = "colexiu";
-			const id = query.id;
-			Promise.all([sysMusicScoreAccompanimentQueryPage(id)]).then((values) => {
-				getMusicInfo(values[0]);
-			});
+			state.xmlUrl = query.xmlUrl;
+			//课堂乐器,默认简谱
+			state.musicRenderType = EnumMusicRenderType.staff;
+			detailData.isLoading = false;
 			showLoadingToast({ message: "生成中", duration: 0 });
 		});
 
@@ -150,30 +88,6 @@ export default defineComponent({
 					const _canvas = svg2canvas(svg.outerHTML);
 					const base64 = _canvas.toDataURL("image/png", 1);
 					resolve(base64);
-					// if (state.platform === IPlatform.PC) {
-					// 	let el: any = document.createElement("a");
-					// 	// 设置 href 为图片经过 base64 编码后的字符串,默认为 png 格式
-					// 	el.href = _canvas.toDataURL();
-					// 	el.download = state.examSongName;
-
-					// 	// 创建一个点击事件并对 a 标签进行触发
-					// 	const event = new MouseEvent("click");
-					// 	el.dispatchEvent(event);
-					// 	setTimeout(() => {
-					// 		showToast({ message: "保存成功", type: "success" });
-					// 		el = null;
-					// 	}, 300);
-					// } else {
-
-					// 	const res = await api_savePicture({
-					// 		base64,
-					// 	});
-					// 	if (res?.content?.status === "success") {
-					// 		showToast({ message: "保存成功", type: "success" });
-					// 	} else {
-					// 		showToast({ message: "保存失败", type: "fail" });
-					// 	}
-					// }
 				}, 500);
 			});
 		};

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

@@ -37,6 +37,7 @@ export default defineComponent({
 	name: "music-score",
 	emits: ["rendered"],
 	props: {
+		/** 是否渲染选择框 */
 		showSelection: {
 			type: Boolean,
 			default: true,
@@ -77,7 +78,7 @@ export default defineComponent({
 
 			// osmd.EngravingRules.CompactMode = true // 紧凑模式
 			osmd.EngravingRules.PageRightMargin = 2;
-			osmd.EngravingRules.PageTopMargin = 5;
+			osmd.EngravingRules.PageTopMargin = props.showSelection ? 5 : 10;
 			osmd.EngravingRules.PageTopMarginNarrow = 3;
 			osmd.EngravingRules.PageLeftMargin = 2;
 			osmd.EngravingRules.PageBottomMargin = 2;