import"./base-3037347b.js";import{b as Q,a as R,f as V,c as j}from"./utils-8747c988.js";import{b as $}from"./loading-dedc0838.js";import"./lib-flexible-a8a91671.js";import{P as H,T as K,r as q,a as J}from"./request-9a0f9c1d.js";import{u as X,G as k,a as d,b as Z,E as ee,M as te,s as P,g as ae,c as oe,d as se,f as le,o as ne,e as ue,h as re}from"./index-ecf281fc.js";import{s as x}from"./index-f53ab261.js";import{s as T}from"./index.module-5cd88979.js";import{h as ie,N as p,c as w}from"./index-60511431.js";import{s as ce}from"./state-a1f4c50e.js";import{w as de}from"./wx_bg-6b8c8a68.js";import{K as m,d as z,L as pe,c as e,M as t,F as O,C as me,N as Ae}from"./runtime-core.esm-bundler-8a997806.js";import{B as fe}from"./index-e1d206b5.js";import{S as ve}from"./index-d8a03cff.js";import"./_commonjsHelpers-edff4021.js";import"./index-ea32d722.js";import"./TransposeCalculator-bb4225f8.js";import"./index-a08f75d4.js";import"./music-d9a14675.js";import"./index-c856650b.js";import"./index-c9e2e377.js";function He(){import("data:text/javascript,")}const he="_musicSheet_wp4zc_1",Fe="_btn_wp4zc_8",ge="_btnCont_wp4zc_15",ye="_popup_wp4zc_21",Ce={musicSheet:he,btn:Fe,btnCont:ge,popup:ye},Ee="_header_15pat_1",Se="_center_15pat_4",Ne="_info_15pat_20",we="_demos_15pat_29",xe="_maininfo_15pat_52",_e="_line_15pat_103",Ie="_back_15pat_117",be="_btns_15pat_124",Be="_pop_15pat_130",De="_close_15pat_166",Te="_trybtn_15pat_187",v={header:Ee,center:Se,info:Ne,demos:we,maininfo:xe,line:_e,back:Ie,btns:be,pop:Be,close:De,try:"_try_15pat_181",trybtn:Te},Oe=""+new URL("explain-9e197a0a.svg",import.meta.url).href,Le="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAAHeq0ewAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAC6ADAAQAAAABAAAACwAAAACBvloGAAABH0lEQVQYGW1Ru0oDURA9s27EQrETEbv8g3+RSgub7IoELASF7CYGbbYQFHLjB4gI2WAT8LPEWjCd7Hjm3t1VwWnmdeacmXsFo3SMSi9iqF4CuodgRRGLj7K+YqvbAbLkru4hYrAD69CY6Ckgz1gu1wR5ck+qK1/wDUJmC4ngyonBA9o8J/410vg2qd4wne9DRDFKrqFYl0aVxQfqDIl8FAYmXHk6wSvc4ijC+GTa8isODRShqjJ4RGlHgOd/whZvkXVgfO8c2Q05d3XzQdgkdZ7FGoIVDnrb9QLp089xNU3jTHKze4yi+ArPao08mdUnNDD6X0qWIe/f8PDbFmFMKh9/lOwtXJnFxHcguuLACz/t3OT8oOqAlzoOnTHfsNo35fxqh9SRnu4AAAAASUVORK5CYII=",W=Q(),U=X(),f=m("pitch"),_=m(!1),Y=m(!1),Re=z({name:"ColexiuReportHeader",props:{detail:{type:Object},record:{type:Object},className:{type:String}},emits:["activeChange"],setup(E,{emit:r,expose:F}){return F({autoShow:()=>{localStorage.getItem("explain-view")!="1"&&(_.value=!0,setTimeout(()=>{_.value=!1,localStorage.setItem("explain-view","1")},5e3))}}),()=>{var g,b;const{detail:h,record:s}=pe(E),C=()=>{var B,D;const{origin:n}=location;let I=n+"/student/#/music-detail";I+=`?id=${(D=(B=s.value)==null?void 0:B.musicalNotesPlayStats)==null?void 0:D.examSongId}`;const N={url:I,action:U.action||"h5",pageTag:U.pageTag||1},L=encodeURIComponent(JSON.stringify(N));/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?window.location.href=`ColexiuStudent://linkUrl=${L}`:/(Android)/i.test(navigator.userAgent)?(N.url=encodeURIComponent(N.url),window.location.href=`colexiustudent://html:8888/SplashActivity?url=${encodeURIComponent(JSON.stringify(N))}`):K("请用手机或移动设备打开")},S=()=>{W.weixin?Y.value=!0:(C(),W.isApp||setTimeout(()=>{location.href=location.origin+"/student/#/download"},3e3))};return e("header",{class:[v.header,v.className]},[e("div",{class:v.info},[s.value&&((g=s.value)!=null&&g.heardLevel)?e(k,{class:v.center,columnNum:5},{default:()=>[e(d,{class:"van-hairline--right"},{text:()=>e("span",null,[t("难度")]),icon:()=>{var n;return e("span",null,[ie[(n=s.value)==null?void 0:n.heardLevel]])}}),e(d,{class:"van-hairline--right"},{text:()=>e("span",null,[t("评测分数")]),icon:()=>{var n;return e("span",null,[(n=s.value)==null?void 0:n.score,t("分")])}}),e(d,{class:"van-hairline--right",onClick:()=>{f.value="pitch",r("activeChange","pitch")}},{text:()=>e("span",{class:["switch",{active:f.value==="pitch"}]},[t("音准")]),icon:()=>{var n;return e("span",{style:{color:"#2DC7AA"}},[(n=s.value)==null?void 0:n.intonation,t("分")])}}),e(d,{class:"van-hairline--right",onClick:()=>{f.value="rhythm",r("activeChange","rhythm")}},{text:()=>e("span",{class:["switch",{active:f.value==="rhythm"}]},[t("节奏")]),icon:()=>{var n;return e("span",{style:{color:"#FF4E19"}},[(n=s.value)==null?void 0:n.cadence,t("分")])}}),e(d,{onClick:()=>{f.value="completion",r("activeChange","completion")}},{text:()=>e("span",{class:["switch",{active:f.value==="completion"}]},[t("时值")]),icon:()=>{var n;return e("span",{style:{color:"#FFC459"}},[(n=s.value)==null?void 0:n.integrity,t("分")])}})]}):null,e(k,{columnNum:3,class:v.btns},{default:()=>[e(d,{onClick:()=>_.value=!0},{text:()=>e("span",null,[t("释义")]),icon:()=>e("img",{src:Oe},null)})]})]),(b=s.value)!=null&&b.score?e("div",{class:v.try},[e(fe,{class:v.trybtn,onClick:S},{default:()=>[t("我来试一试")]})]):null,s.value?e("div",{class:v.demos},[f.value==="pitch"&&e(O,null,[e("div",null,[e(p,{fill:"#FFAB25",shadow:!0,x:-3,y:0},null),e("span",null,[t("音高了")])]),e("div",null,[e(p,{fill:"#FFAB25",shadow:!0,x:-1,y:-2},null),e("span",null,[t("音低了")])])]),ce.isPercussion?null:e(O,null,[f.value==="rhythm"&&e(O,null,[e("div",null,[e(p,{fill:"#FF4444",shadow:!0,x:0},null),e("span",null,[t("节奏快了")])]),e("div",null,[e(p,{fill:"#FF4444",shadow:!0,x:-3,y:-2},null),e("span",null,[t("节奏慢了")])])]),f.value==="completion"&&e("div",null,[e(p,{fill:"#CC75FF"},null),e("span",null,[t("时值不足")])])])]):null,e(H,{show:Y.value,position:"top",style:{background:"none"}},{default:()=>[e("img",{src:de,style:{width:"80%",display:"block",margin:"auto"}},null)]}),e(H,{teleport:"body",show:_.value,class:v.pop,style:{width:"60vw"},onClickOverlay:()=>_.value=!1},{default:()=>[e("div",{class:v.close,onClick:()=>_.value=!1},[e("img",{src:Le},null)]),e("h2",null,[t("图标释义")]),e(k,{columnNum:2,class:v.btns,border:!1},{default:()=>[e(d,null,{text:()=>e("span",null,[t("绿色音符:演奏正确")]),icon:()=>e(p,{fill:"#01C1B5"},null)}),e(d,null,{text:()=>e("span",null,[t("红色音符:错音")]),icon:()=>e(p,{fill:"#FF4444"},null)}),e(d,null,{text:()=>e("span",null,[t("音符重影(红色在前):节奏过快")]),icon:()=>e(p,{fill:"#FF4444",shadow:!0,x:0},null)}),e(d,null,{text:()=>e("span",null,[t("音符重影(红色在后):节奏慢了")]),icon:()=>e(p,{fill:"#FF4444",shadow:!0,x:-3,y:-2},null)}),e(d,null,{text:()=>e("span",null,[t("音符重影(黄色在上):音高了")]),icon:()=>e(p,{fill:"#FFAB25",shadow:!0,x:-3,y:0},null)}),e(d,null,{text:()=>e("span",null,[t("音符重影(黄色在下):音低了")]),icon:()=>e(p,{fill:"#FFAB25",shadow:!0,x:-1,y:-2},null)}),e(d,null,{text:()=>e("span",null,[t("紫色音符:完整度不足")]),icon:()=>e(p,{fill:"#CC75FF"},null)}),e(d,null,{text:()=>e("span",null,[t("灰色音符:未演奏")]),icon:()=>e(p,{fill:"#AEAEAE"},null)})]})]})])}}}),M=X(),ke=async(E,r)=>{const F=await J(E);let c=m("");const h=se(F);c.value=le(h.parsedXML,{title:r.musicSheetName});const s=Number(M["part-index"])||0;return c.value=ne(c.value,s),c},Me=E=>{const r=m("loading"),F=m({}),c=m({});return Ae(async()=>{var h;r.value="loading";try{const s=await q.get("/sysMusicRecord/getLastEvaluationMusicalNotesPlayStats",{params:{recordId:M.id}});if(!s.data){r.value="error";return}c.value=s.data,console.log(c.value);const C=await q.get(`/music/sheet/detail/${(h=c.value)==null?void 0:h.musicalNotesPlayStats.examSongId}`);F.value=C.data,x.partIndex=s.data.partIndex||0,r.value="success"}catch(s){r.value="error",console.log(s)}}),[r,F,c]},Ge=z({name:"Colexiu",setup(){const E=m(),r=m(!0),F=m(!1),c=m(""),h=m([]),s=m([]),[C,S,g]=Me(M.id);me(C,async()=>{if(C.value==="success"&&S.value.xmlFileUrl){const a=await ke(S.value.xmlFileUrl,S.value);c.value=a.value}}),Z();const b=a=>{switch(a){case"CADENCE_FAST":return"translateX(2px)";case"CADENCE_SLOW":return"translateX(-2px)";case"INTONATION_HIGH":return"translateY(-2px)";case"INTONATION_LOW":return"translateY(2px)";default:return""}},n=()=>{const a=["RIGHT","WRONG","CADENCE_WRONG"];return f.value==="pitch"?a.push("CADENCE_FAST","CADENCE_SLOW"):f.value==="rhythm"?a.push("INTONATION_HIGH","INTONATION_LOW"):f.value==="completion"&&a.push("INTEGRITY_WRONG"),g.value.musicalNotesPlayStats.notesData.filter(u=>a.includes(u.musicalErrorType))},I=()=>{L(),r.value=!1;for(const a of n()){const u=s.value[a.musicalNotesIndex];setTimeout(()=>{if(h.value.includes(u.id))return;h.value.push(u.id);const o=document.getElementById("vf-"+u.id),l=document.getElementById("vf-"+u.id+"-stem"),i=a.musicalErrorType,y=["INTONATION_HIGH","INTONATION_LOW","CADENCE_FAST","CADENCE_SLOW"].includes(i);if(l==null||l.classList.add(w[i]),o==null||o.classList.add(w[i]),o&&y){l==null||l.classList.remove(w[i]),l==null||l.classList.add(w.RIGHT),o==null||o.classList.remove(w[i]),o==null||o.classList.add(w.RIGHT);const A=o.querySelector(".vf-notehead").cloneNode(!0);A.style.transform=b(i),o.style.opacity=".7",l&&(l.style.opacity=".7"),A.id="vf-"+u.id+"-copy",A==null||A.classList.add(w[i]),osmd==null||osmd.container.querySelector("svg").insertAdjacentElement("afterbegin",A)}},300)}},N=a=>{if(!a)return;const u=a.classList.values();for(const o of u)(o==null?void 0:o.indexOf("vf-"))!==0&&a.classList.remove(o)},L=()=>{for(const a of h.value){N(document.getElementById("vf-"+a)),N(document.getElementById("vf-"+a+"-stem"));const u="vf-"+a+"-copy",o=document.getElementById(u);o&&o.remove()}h.value=[]},B=a=>{var o;r.value=!1,(o=E.value)==null||o.autoShow(),setTimeout(()=>{var l;for(const i of Array.from(document.querySelectorAll(".vf-beam")))(l=i.querySelector("path"))==null||l.setAttribute("fill","#aeaeae")}),P.osmd=a,s.value=ae(P.osmd),I();const u=(l,i,y=!0)=>{const A=ue(l);x.evaluatings={...x.evaluatings,[A.measureIndex]:{...A,...re(i.score),score:i.score,dontTransition:y}}};if(g.value.userMeasureScore){for(const l in g.value.userMeasureScore)if(Object.prototype.hasOwnProperty.call(g.value.userMeasureScore,l)){const i=g.value.userMeasureScore[l];for(const y of s.value)if(i.measureRenderIndex==y.noteElement.sourceMeasure.MeasureNumberXML-1)if(!y.noteElement.tie)u(y,i);else for(const A of y.noteElement.tie.notes){const G=oe(A);G&&u(G,i,A!==y.noteElement.tie.StartNote)}}}},D=()=>{F.value=!0,r.value=!1};return()=>{const a=r.value||C.value==="loading",u=F.value||C.value==="error";return e("div",{class:[T.container,R.sett.eyeProtection&&"eyeProtection",R.sett.camera&&"openCamera"]},[e(Re,{className:T.header,detail:S.value,record:g,ref:E,style:{paddingLeft:x.isSpecialShapedScreen?x.notchHeight/2+"px":"auto"},onActiveChange:()=>I()},null),e("div",{id:"colexiu-detail-music-sheet",class:[T.musicSheet,Ce.musicSheet],style:{paddingLeft:x.isSpecialShapedScreen?x.notchHeight/2+"px":"auto"}},[a&&!u&&e(ve,{class:T.skeleton,rowWidth:"80%",title:!0,row:3},null),u&&e(ee,null,null),c.value&&e(O,null,[e("h3",{style:{fontSize:"24px",fontWeight:"normal",textAlign:"center",padding:"0 10px",marginTop:"36px",marginBottom:"0px",marginLeft:"auto"},class:"van-ellipsis"},[S.value.musicSheetName]),e(te,{score:c.value,showSection:!0,opotions:{drawTitle:!1,drawComposer:!1,drawLyricist:!1,drawMetronomeMarks:!0,drawMeasureNumbers:!0,autoResize:!1},EngravingRules:{DefaultColorNotehead:"#aeaeae",DefaultColorRest:"#aeaeae",DefaultColorMusic:"#aeaeae",DefaultColorStem:"#aeaeae",DefaultColorChordSymbol:"#aeaeae",DefaultColorLabel:"#aeaeae",DYMusicScoreType:R.sett.type},onRerender:B,onRenderError:D},null)])])])}}});document.body.style.setProperty("--osdm-zoom",""+V());$();j(Ge).mount("#app");export{He as __vite_legacy_guard};