colxiu-website.b1c4ff8b.js 4.0 KB

1
  1. import{a6 as L,a7 as z,b as N,d as k,n as m,w as R,x as T,c as v,y as w,M as I,a4 as D,B as O,z as x,o as X,r as A,a8 as $,A as U,C as q,D as H,E as V,H as W,I as j,J,K,L as Y,l as G,m as Q}from"./use-app.4bb1cc2b.js";import"./lib-flexible.08f197e6.js";/* empty css */import{s as y,E as Z}from"./index.8a0a7bdb.js";import{P as ee}from"./index.67c8b21b.js";import{S as te}from"./index.d561e8e6.js";import"./index.0c958b36.js";import"./index.1876c5d7.js";function de(){import("data:text/javascript,")}const ae="_container_1fh7z_1",se="_musicSheet_1fh7z_4",ne="_btn_1fh7z_11",oe="_btnCont_1fh7z_18";var h={container:ae,musicSheet:se,btn:ne,btnCont:oe};window.OffscreenCanvas||(window.OffscreenCanvas=class{constructor(t,s){return this.canvas=document.createElement("canvas"),this.canvas.width=t,this.canvas.height=s,this.canvas.convertToBlob=()=>new Promise(e=>{this.canvas.toBlob(e)}),this.canvas}});const re=L.offscreen();function ce(c){return new Promise((t,s)=>{const e=new FileReader;e.onloadend=()=>t(e.result),e.readAsDataURL(c)})}async function M(c,t,s){const e=new OffscreenCanvas(t,s),o=e.getContext("2d");o.fillStyle="#FFFFFF";const r=await z.fromString(o,c,re);r.resize(t*2,s*2,"xMidYMid meet"),await r.start();const S=await e.convertToBlob();return await ce(S)}const g=N();console.log(g,"search");const ie=async(c,t)=>{const s=await V(c);let e=m("");const o=W(s);e.value=j(o.parsedXML,{title:t.musicSheetName});const r=Number(g["part-index"])||0;return e.value=J(e.value,r),e},le=c=>{const t=m("loading"),s=m({}),e=m({});return X(async()=>{t.value="loading";try{const o=await A.get(`/open/music/sheet/detail/${g.id}`,{prefix:"/api-website"});s.value=o.data,w.partIndex=0,t.value="success"}catch(o){t.value="error",console.log(o)}}),[t,s,e]};var ue=k({name:"ColexiuWebSite",setup(){const c=m(!0),t=m(!1),s=m(""),[e,o,r]=le(g.id),S=new $(650,884);R(e,async()=>{if(e.value==="success"&&o.value.xmlFileUrl){const a=await ie(o.value.xmlFileUrl,o.value);s.value=a.value}}),T();const b=async a=>{if(a)for(const d of a.Drawer.Backends){const{state:i,width:n,height:l}=d.ctx,{x:u,y:p}=i.scale,f=new XMLSerializer().serializeToString(d.ctx.svg);return await M(f,n/u,l/p)}},C=async a=>{if(a){const d=[];if(a.Drawer.Backends.length>0){for(let i=0,n=a.Drawer.Backends.length;i<n;i++){const l=a.Drawer.Backends[i],{state:u,width:p,height:f}=l.ctx,{x:B,y:E}=u.scale,F=new XMLSerializer().serializeToString(l.ctx.svg);d.push(await M(F,p/B,f/E))}return d}}},_=async a=>{if(window.parent){const n=g.pageType==="multiple"?await C(a):await b(a);console.log(n,"img"),window.parent.postMessage(n,"*")}U.osmd=a;const d=q(a);c.value=!1;const i=(n,l,u=!0)=>{const p=K(n);w.evaluatings={...w.evaluatings,[p.measureIndex]:{...p,...Y(l.score),score:l.score,dontTransition:u}}};if(r.value.userMeasureScore){for(const n in r.value.userMeasureScore)if(Object.prototype.hasOwnProperty.call(r.value.userMeasureScore,n)){const l=r.value.userMeasureScore[n];for(const u of d)if(l.measureRenderIndex==u.noteElement.sourceMeasure.MeasureNumberXML-1)if(!u.noteElement.tie)i(u,l);else for(const p of u.noteElement.tie.notes){const f=H(p);!f||i(f,l,p!==u.noteElement.tie.StartNote)}}}},P=()=>{t.value=!0,c.value=!1};return()=>{var i,n;const a=c.value||e.value==="loading",d=t.value||e.value==="error";return v("div",{class:[y.container,x.sett.eyeProtection&&"eyeProtection",x.sett.camera&&"openCamera"]},[v("div",{id:"colexiu-detail-music-sheet",class:[y.musicSheet,h.musicSheet],style:{paddingLeft:w.isSpecialShapedScreen?w.notchHeight/2+"px":"auto"}},[a&&!d&&v(te,{class:y.skeleton,rowWidth:"80%",title:!0,row:15},null),d&&v(Z,null,null),s.value&&v(I,{score:s.value,opotions:{drawTitle:!1,drawComposer:!1,drawLyricist:!1,drawMetronomeMarks:!0,drawMeasureNumbers:!0},EngravingRules:g.pageType==="multiple"?{PageFormat:S}:{},onRerender:_,onRenderError:P},null)]),((i=r.value)==null?void 0:i.videoFilePath)&&((n=r.value)==null?void 0:n.expire)===0?v(ee,D(r.value,{btnClass:h.btn,popupClass:h.popup}),{default:()=>[v(O,{class:h.btnCont},{default:()=>[v("img",{src:ReplayIcon},null)]})]}):null])}}});G();Q(ue).mount("#app");export{de as __vite_legacy_guard};