index-74ae4ba9-1723711575229.js 18 KB

1
  1. import{d as pe,e as V,$ as p,r as M,q as fe,C as ie,T as ge,f as i,a0 as Ie,a1 as Se,k as y,F as J,c as ae,a as Te,u as xe,U as R,aP as be,A as Ae,x as ne,aQ as Pe,aR as le,j as oe,w as Le,E as ce,z as ke,aC as re,_ as Ce,l as Be,m as Ne,D as Re,aS as Me}from"./index-16fc593d-1723711575229.js";import{i as Ee}from"./icon_back-c5ec0a72-1723711575229.js";import{i as Fe}from"./icon_separator-e0f6c575-1723711575229.js";import{T as Ue}from"./index-bea27efb-1723711575229.js";import{P as $e,T as je,i as Ge,a as De}from"./index-26319c08-1723711575229.js";import{i as Oe,a as ze}from"./icon-collect-active-4272e308-1723711575229.js";import{i as We}from"./icon_default-d1bcaf5f-1723711575229.js";import{u as Ve}from"./catchData-74d873d2-1723711575229.js";import{c as Je,d as qe,e as Xe}from"./api-c04480d9-1723711575229.js";import{g as z,s as v}from"./index-db345329-1723711575229.js";import{g as Ye,s as ue}from"./api-540749b5-1723711575229.js";import{T as de}from"./index-a0ba6dba-1723711575229.js";import{u as He}from"./index-c58204ce-1723711575229.js";import{v as W}from"./urlUtils-72ef455d-1723711575229.js";import{a as me}from"./contants-868ef0dd-1723711575229.js";import{C as Qe}from"./index-dbef48e4-1723711575229.js";import"./Slider-46ed031d-1723711575229.js";import"./index-64d525c7-1723711575229.js";import"./Scrollbar-07288b66-1723711575229.js";const Ke="_container_wlncf_1",Ze="_iconBack_wlncf_6",et="_separator_wlncf_39",tt="_wrap_wlncf_44",st="_wrapBottom_wlncf_50",it="_content_wlncf_53",at="_tools_wlncf_60",nt="_contentWrap_wlncf_84",lt="_musicList_wlncf_91",ot="_wrapList_wlncf_105",ct="_empty_wlncf_111",rt="_searchSection_wlncf_117",ut="_itemContainer_wlncf_140",dt="_item_wlncf_140",mt="_active_wlncf_162",pt="_arrow_wlncf_165",ft="_img_wlncf_168",gt="_title_wlncf_190",wt="_titleName_wlncf_197",ht="_titleDes_wlncf_204",vt="_iconType_wlncf_215",yt="_iconPlay_wlncf_226",_t="_iconSing_wlncf_230",It="_btn_wlncf_234",St="_showPlayLoading_wlncf_259",Tt="_loadingWrap_wlncf_262",xt="_showLoading_wlncf_267",bt="_musicStaff_wlncf_273",At="_goBtn_wlncf_288",Pt="_rightBtns_wlncf_297",Lt="_textBtn_wlncf_304",kt="_transBtn_wlncf_312",Ct="_favitor_wlncf_317",Bt="_musicName_wlncf_332",Nt="_staffImgs_wlncf_340",Rt="_previewWindow_wlncf_357",Mt="_previewClose_wlncf_362",Et="_previewIframe_wlncf_369",Ft="_popSelect_wlncf_375",Ut="_popSelect1_wlncf_387",$t="_popTrans_wlncf_397",jt="_iconArrow_wlncf_408",Gt="_textBtnActive_wlncf_420",n={container:Ke,iconBack:Ze,separator:et,wrap:tt,wrapBottom:st,content:it,tools:at,contentWrap:nt,musicList:lt,wrapList:ot,empty:ct,searchSection:rt,itemContainer:ut,item:dt,active:mt,arrow:pt,img:ft,title:gt,titleName:wt,titleDes:ht,iconType:vt,iconPlay:yt,iconSing:_t,btn:It,showPlayLoading:St,loadingWrap:Tt,showLoading:xt,musicStaff:bt,goBtn:At,rightBtns:Pt,textBtn:Lt,transBtn:kt,favitor:Ct,musicName:Bt,staffImgs:Nt,previewWindow:Rt,previewClose:Mt,previewIframe:Et,popSelect:Ft,popSelect1:Ut,popTrans:$t,iconArrow:jt,textBtnActive:Gt},Dt=""+new URL("icon_goXiaoku-5d0db670.png",import.meta.url).href,Ot=""+new URL("icon-close-1bf25bcf.png",import.meta.url).href,zt=""+new URL("icon_trans-e9b9e2da.png",import.meta.url).href,Wt=pe({name:"music-guide",emits:["close"],setup(T,{emit:q}){const l=V({box:{height:"0px"},show:!1,steps:[{ele:"",eleRect:{},img:z("music1.png"),handStyle:{top:"0.91rem"},imgStyle:{top:p(-4),left:p(0),width:p(533),height:p(271)},btnsStyle:{bottom:p(40),left:p(-10)},eleRectPadding:{left:7,top:7,width:14,height:14},boxStyle:{}},{ele:"",img:z("music2.png"),imgStyle:{top:p(-4),left:p(-205),width:p(420),height:p(228)},btnsStyle:{bottom:p(35),left:p(-48)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:7,top:7,width:14,height:14}},{ele:"",img:z("music3.png"),imgStyle:{top:"100%",left:p(-130),width:p(401),height:p(304)},btnsStyle:{bottom:p(100),left:p(30)},boxStyle:{borderRadius:"40px"},eleRectPadding:{left:7,top:7,width:14,height:14},type:"bottom"}],step:0}),g=M(!1),r=M({});(async()=>{var o;try{const m=await Ye({guideTag:"teacher-guideInfo"});m.data?r.value=JSON.parse((o=m.data)==null?void 0:o.guideValue)||null:r.value={},r.value&&r.value.musicGuide?g.value=!1:g.value=!0}catch(m){console.log(m)}})();const _=()=>{var m,I,b,S;const o=document.getElementById("music-".concat(l.step));if(o){const w=o.getBoundingClientRect();if(console.log(o.style.display,"ele"),o.style.display=="none"){x();return}const B=((m=l.steps[l.step].eleRectPadding)==null?void 0:m.left)||0,f=((I=l.steps[l.step].eleRectPadding)==null?void 0:I.top)||0,E=((b=l.steps[l.step].eleRectPadding)==null?void 0:b.width)||0,F=((S=l.steps[l.step].eleRectPadding)==null?void 0:S.height)||0;l.box={left:w.x-B+"px",top:w.y-f+"px",width:w.width+E+"px",height:w.height+F+"px"}}else x()},L=async o=>{try{if(o!=="xiaoku-music")return;r.value?r.value.musicGuide=!1:r.value={musicGuide:!1};try{await ue({guideTag:"teacher-guideInfo",guideValue:JSON.stringify(r.value)})}catch(m){console.log(m)}l.step=0,_(),g.value=!0}catch(m){}};fe(()=>{_(),window.addEventListener("resize",k),ie.on("teacher-guideInfo",L)});const k=()=>{_()};ge(()=>{window.removeEventListener("resize",k),ie.off("teacher-guideInfo",L)});const x=()=>{if(l.step>=3){C();return}l.step=l.step+1,_()},C=async()=>{r.value?r.value.musicGuide=!0:r.value={musicGuide:!0};try{const o=await ue({guideTag:"teacher-guideInfo",guideValue:JSON.stringify(r.value)})}catch(o){console.log(o)}g.value=!1};return()=>i(J,null,[g.value?Ie(i("div",{"onUpdate:show":o=>g.value=o,class:["n-modal-mask","n-modal-mask-guide"]},[i("div",{class:v.content,onClick:()=>x()},[i("div",{class:v.backBtn,onClick:o=>{o.stopPropagation(),C()}},[y("跳过")]),i("div",{class:v.box,style:{...l.box,...l.steps[l.step].boxStyle},id:"modeType-".concat(l.step)},[l.steps.map((o,m)=>{var I,b,S,w;return i("div",{onClick:B=>B.stopPropagation(),class:v.item,style:o.type=="bottom"?{display:m===l.step?"":"none",left:"".concat((I=o.eleRect)==null?void 0:I.left,"px"),top:"-".concat((b=o.imgStyle)==null?void 0:b.height)}:{display:m===l.step?"":"none",left:"".concat((S=o.eleRect)==null?void 0:S.left,"px"),top:"".concat((w=l.box)==null?void 0:w.height)}},[i("img",{class:v.img,style:o.imgStyle,src:o.img},null),i("div",{class:v.btns,style:o.btnsStyle},[l.step+1==l.steps.length?i(J,null,[i("div",{class:[v.endBtn],onClick:()=>C()},[y("完成")]),i("div",{class:v.nextBtn,onClick:()=>{l.step=0,_()}},[y("再看一遍")])]):i("div",{class:v.btn,onClick:()=>x()},[y("下一步 ("),l.step+1,y("/"),l.steps.length,y(")")])])])})])])]),[[Se,g.value,"show"]]):null])}});function Vt(T){return typeof T=="function"||Object.prototype.toString.call(T)==="[object Object]"&&!Re(T)}const ds=pe({name:"XiaokuMusic",setup(){const T=Ve(),q=ae(),l=Te(),g=xe(),r=V({page:1,rows:20,status:!0,name:"",audioPlayTypes:"",musicSheetCategoriesId:l.query.id||""}),e=V({loading:!1,finshed:!1,reshing:!1,tags:[],tagIndex:0,musicalInstrumentId:"",musicSubject:"",list:[],listActive:0,musicInstrumentIndex:0,playState:"pause",showPlayer:!1,previewModal:!1,showPreivew:!1,previewUrl:"",showCloseBtn:!0,audioPlayTypeList:[],iframeSrc:"",showMusicImg:"staff",trackList:[],showTransBtn:!0,trackName:"切换声部"}),_=M(""),L=M(!1),k=ae(),x=s=>{for(const t of s)t.instruments&&t.instruments.length>0&&(t.instruments.forEach(a=>{a.columnName="乐器"}),t.children=t.instruments,x(t.instruments))},C=async()=>{const s=T.getSubjectList,t=sessionStorage.getItem("musicSubjectList")?JSON.parse(sessionStorage.getItem("musicSubjectList")):[],a=[];console.log(s,t,"subjectList"),s.forEach(c=>{t.find(u=>u.id===c.id)&&a.push(c)}),x(a),e.tags=[{columnName:"声部",name:"全部声部",id:""},...a]},o=async()=>{var t,a,c;e.loading=!0;let s={};try{const{audioPlayTypes:d,...u}=r;s=await Je({...u,audioPlayTypes:d?d==="PLAY_SING"?["PLAY","SING"]:[d]:[],musicSubject:e.musicSubject,musicalInstrumentId:e.musicalInstrumentId})}catch(d){console.log(d)}if(e.reshing&&(e.list=[],e.reshing=!1),(s==null?void 0:s.code)===200&&Array.isArray((t=s==null?void 0:s.data)==null?void 0:t.rows)){console.log((a=s==null?void 0:s.data)==null?void 0:a.rows),(((c=s==null?void 0:s.data)==null?void 0:c.rows)||[]).forEach(N=>{N.audioPlayTypeArray=N.audioPlayTypes?N.audioPlayTypes.split(","):[]}),e.list=[...e.list,...s.data.rows],e.finshed=s.data.rows.length<r.rows;const u=e.list[e.listActive];u&&u.isScoreRender&&e.listActive===0&&(e.musicInstrumentIndex=999)}else e.finshed=!0;e.list[e.listActive]&&w(e.list[e.listActive]),e.loading=!1,setTimeout(()=>{L.value=!0},500)},m=()=>{e.listActive=0,e.showPlayer=!1,e.playState="pause",r.page=1,e.finshed=!1,o()},I=M(),b=()=>{e.loading||e.finshed||(r.page=r.page+1,o())},S=s=>{var t;((t=s.data)==null?void 0:t.api)==="api_fingerPreView"&&(e.showCloseBtn=!s.data.state)};fe(async()=>{const s=Object.keys(me).map(a=>({value:a,label:me[a]}));e.audioPlayTypeList=[{label:"全部",value:""},...s],await T.getSubjects(),He(document.querySelector(".musicList-container"),a=>{const c=a[0],{height:d}=c.contentRect;document.documentElement.style.setProperty("--xiaoku-music-height",d+"px")}),C(),await o(),new IntersectionObserver(a=>{a[0].intersectionRatio>0&&b()}).observe(I.value),$(),U(),window.addEventListener("message",S)}),ge(()=>{window.removeEventListener("message",S)});const w=async s=>{const t=await qe({type:"MUSIC",materialId:s.id});(t==null?void 0:t.code)===200&&(s.favitor=t.data)},B=s=>{const t=e.list.findIndex(a=>a.id===s.id);t>-1&&(e.listActive=t),w(s)},f=R(()=>{var s;return e.list[e.listActive]&&"".concat(W(),"/instrument/?modelType=practise&id=").concat((s=e.list[e.listActive])==null?void 0:s.xmlFileUrl,"&Authorization=").concat(k.getToken,"/#/preview"),e.list[e.listActive]||{}}),E=()=>{e.list[e.listActive].favitor=!e.list[e.listActive].favitor,Xe({favoriteFlag:e.list[e.listActive].favitor,type:"MUSIC",materialId:e.list[e.listActive].id})},F=s=>{const t=e.list.findIndex(a=>a.id===s.id);t>-1&&(e.listActive===t?e.playState=e.playState==="play"?"pause":"play":e.playState="play",e.showPlayer=!0,e.listActive=t)};R(()=>{const s=e.list[e.listActive],t=(s==null?void 0:s.musicalInstruments)||[],a=[];return t.forEach((c,d)=>{a.push({label:c.name,value:d})}),a});const O=R(()=>{var s;return e.list.length?((s=e.list[e.listActive])==null?void 0:s.musicSheetType)!=="SINGLE":!1}),X=(s,t)=>!!(s||s===""||s===void 0||s===null||["JIAN","FIRST"].includes(t)&&!s),U=()=>{const s=k.getToken,t=e.list[e.listActive],a=e.showMusicImg==="first"?"firstTone":e.showMusicImg==="fixed"?"fixedTone":(e.showMusicImg==="staff","staff");e.iframeSrc="".concat(W(),"/instrument/?id=").concat(t.id,"&modelType=practise&modeType=json&Authorization=").concat(s,"&isPreView=true&part-index=").concat(e.musicInstrumentIndex,"&musicRenderType=").concat(a),console.log(e.iframeSrc,"iframeSrc")},Y=s=>{s==="play"?e.playState="play":s==="pause"?e.playState="pause":s==="pre"?e.list[e.listActive-1]&&F(e.list[e.listActive-1]):s==="next"?e.list[e.listActive+1]&&F(e.list[e.listActive+1]):s==="favitor"&&E()},we=R(()=>{const s=e.list[e.listActive],{scoreType:t,isConvertibleScore:a}=s||{},c=[{value:"first",label:"首调"},{value:"fixed",label:"固定调"}];return!(["JIAN","FIRST"].includes(t)&&a===!1)&&a!=null&&c.unshift({value:"staff",label:"五线谱"}),c}),$=async()=>{const s=e.list[e.listActive];if((s==null?void 0:s.musicSheetType)==="CONCERT"){if(s.xmlFileUrl){const t=await fetch(s.xmlFileUrl).then(a=>a.text());he(t)}}else{const{scoreType:t,isConvertibleScore:a}=s||{};let c="first";c=t==="STAVE"?"staff":t==="JIAN"?"fixed":"first",e.showMusicImg=c,e.showTransBtn=X(a,t)}},he=s=>{var Z,ee,G,te,se;const a=((ee=(Z=new DOMParser().parseFromString(s,"text/xml").getElementsByTagName("part-list"))==null?void 0:Z[0])==null?void 0:ee.getElementsByTagName("score-part"))||[],c=Array.from(a).map(h=>{var A,D,P;return((P=(D=(A=h.getElementsByTagName("part-name"))==null?void 0:A[0])==null?void 0:D.textContent)==null?void 0:P.trim())||""});((te=(G=c[0])==null?void 0:G.toLocaleUpperCase)==null?void 0:te.call(G))==="COMMON"&&c.shift();const d=(se=e.list[e.listActive])==null?void 0:se.multiTracksSelection,u=d?d==null?void 0:d.split(","):[],N=c.map((h,A)=>{const D=!!(u.length==0||u.includes(h)),P=be(h),_e=Me(P,A);return{label:h+(P?"(".concat(P,")"):""),value:A,sortId:_e,canselect:D,track:h}}).filter(h=>h.canselect).sort((h,A)=>h.sortId-A.sortId);e.trackList=N;const Q=e.list[e.listActive];Q&&Q.isScoreRender&&e.trackList.unshift({label:"总谱",value:999,sortId:0,canselect:!0,track:999});const ve=e.list[e.listActive],{scoreType:j,isConvertibleScore:ye}=ve||{};let K="first";K=j==="STAVE"?"staff":j==="JIAN"?"fixed":"first",e.showMusicImg=K,e.showTransBtn=X(ye,j)};Ae(()=>e.listActive,async()=>{e.musicInstrumentIndex=0,$()});const H=R(()=>{var t,a,c,d;let s=[];if(e.showMusicImg==="first"){const u=(t=f.value)==null?void 0:t.musicFirstImg;s=u?u.split(","):[]}else if(e.showMusicImg==="fixed"){const u=(a=f.value)==null?void 0:a.musicJianImg;s=u?u.split(","):[]}else if(e.showMusicImg==="staff"){const u=((c=f.value)==null?void 0:c.musicImg)||((d=f.value)==null?void 0:d.musicSvg);s=u?u.split(","):[]}return s});return()=>{let s;return i("div",{class:n.container},[i(ne,{align:"center",wrapItem:!1,size:16},{default:()=>[i("img",{style:{cursor:"pointer"},src:Ee,class:n.iconBack,onClick:()=>g.push({path:"/xiaoku-ai"})},null),i(Pe,{separator:""},{default:()=>[i(le,{onClick:()=>g.push({path:"/xiaoku-ai"})},{default:()=>[y("全部列表")]}),i("img",{class:n.separator,src:Fe},null),i(le,null,{default:()=>[l.query.name]})]})]}),i("div",{class:[n.wrap,e.showPlayer?n.wrapBottom:""]},[i("div",{class:n.content},[i("div",{class:n.tools},[i(ne,{style:{width:"100%"},size:[12,6],wrapItem:!1},Vt(s=e.audioPlayTypeList.map(t=>i(oe,{round:!0,textColor:r.audioPlayTypes===t.value?"#fff":"#000",color:r.audioPlayTypes===t.value?"#198CFE":"#fff",type:r.audioPlayTypes===t.value?"primary":"default",onClick:()=>{var a;r.audioPlayTypes=t.value||"",t.value==="SING"&&(e.musicalInstrumentId="",e.musicSubject=""),e.reshing=!0,(a=document.querySelector(".musicList-container"))==null||a.scroll(0,0),m()}},{default:()=>[t.label]})))?s:{default:()=>[s]})]),i("div",{class:n.contentWrap},[i("div",{class:[n.musicList,"musicList-container"]},[i("div",{class:n.searchSection},[r.audioPlayTypes!=="SING"&&i(Qe,{placeholder:"全部乐器",arrowType:"small",childShowAllCheck:!1,class:n.instrumentSection,value:_.value,"onUpdate:value":t=>_.value=t,options:e.tags,onMoreId:t=>{var a;e.loading||(e.musicalInstrumentId=t.childId,e.musicSubject=t.parentId,e.reshing=!0,(a=document.querySelector(".musicList-container"))==null||a.scroll(0,0),m())}},null),i(Ue,{style:{marginLeft:"auto"},round:!0,border:!1,onSearch:t=>{e.loading||(r.name=t,e.reshing=!0,m())}},null)]),i("div",{class:[n.wrapList,"music-wrap-list"]},[e.list.map((t,a)=>{var c,d;return i("div",{class:n.itemContainer},[i("div",{class:[n.item,e.listActive===a&&n.active],onClick:async()=>{B(t),await $();const u=e.list[e.listActive];console.log(u,"selected music"),u&&u.isScoreRender?e.musicInstrumentIndex=999:e.musicInstrumentIndex=0,U()}},[i("div",{class:n.img},[i(Le,{lazy:!0,objectFit:"cover",previewDisabled:!0,src:t.titleImg||We,onLoad:u=>{u.target.dataset.loaded="true"}},null),i($e,{class:[e.listActive===a&&e.playState==="play"?"":n.showPlayLoading]},null)]),i("div",{class:n.title},[i("div",{class:n.titleName},[i(je,{text:t.musicSheetName},null)]),i("div",{class:n.titleDes},[((c=t.audioPlayTypeArray)==null?void 0:c.includes("PLAY"))&&i("span",{class:[n.iconType,n.iconPlay]},[y("演奏")]),((d=t.audioPlayTypeArray)==null?void 0:d.includes("SING"))&&i("span",{class:[n.iconType,n.iconSing]},[y("演唱")]),t.composer])]),i("img",{class:n.arrow,src:Ge},null)])])}),i("div",{ref:I,class:[n.loadingWrap,e.finshed&&n.showLoading]},[i(ce,{show:!0},null)]),!e.loading&&e.list.length===0&&i("div",{class:n.empty},[i(de,null,null)])])]),i("div",{class:n.musicStaff},[i("div",{class:n.musicName},[f.value.musicSheetName]),i("img",{id:"music-2",style:{display:f.value.id?"":"none"},class:[n.goBtn],src:Dt,onClick:()=>{Y("pause");let t="staff";e.showMusicImg==="first"?t="firstTone":e.showMusicImg==="fixed"?t="fixedTone":e.showMusicImg==="staff"&&(t="staff");let a="".concat(W(),"/instrument?v=").concat(+new Date,"&platform=pc&id=").concat(f.value.id,"&Authorization=").concat(q.getToken,"&musicRenderType=").concat(t,"&showGuide=true&part-index=").concat(e.musicInstrumentIndex);e.musicalInstrumentId&&(a+="&instrumentId="+e.musicalInstrumentId),window.matchMedia("(display-mode: standalone)").matches?(ke.application=window.matchMedia("(display-mode: standalone)").matches,e.previewModal=!0,e.previewUrl=a,e.showPreivew=!1):window.open(a)}},null),i("div",{class:n.rightBtns,style:{display:f.value.id?"":"none"}},[O.value&&i(re,{options:e.trackList,trigger:"hover",value:e.musicInstrumentIndex,"onUpdate:value":[t=>e.musicInstrumentIndex=t,async t=>{var a;await $(),e.trackName=((a=e.trackList.find(c=>c.value===e.musicInstrumentIndex))==null?void 0:a.label)||"切换声部",U()}],class:[n.popSelect]},{default:()=>[i(oe,{round:!0,class:[n.textBtn]},{default:()=>[e.trackName,i("i",{class:n.iconArrow},null)]})]}),e.showTransBtn&&i(re,{options:we.value,trigger:"hover",value:e.showMusicImg,"onUpdate:value":[t=>e.showMusicImg=t,async t=>{e.showMusicImg=t,O.value&&U()}],class:[n.popTrans]},{default:()=>[i("img",{class:[n.transBtn],src:zt},null)]}),i("div",{class:n.favitor,onClick:()=>E()},[i(Ce,{name:"favitor",mode:"out-in"},{default:()=>[f.value.favitor?i("img",{src:Oe,key:"1"},null):i("img",{src:ze,key:"2"},null)]})])]),i("div",{class:n.staffImgs},[O.value?i("iframe",{id:"staffIframeRef",style:{width:"100%",height:"100%",paddingTop:"20px"},src:e.iframeSrc,onLoad:()=>{}},null):i(J,null,[H.value.length>0?H.value.map(t=>i("img",{src:t,key:t},null)):i(de,null,null)])])])])])]),e.list.length!==0&&i(De,{show:e.showPlayer,playState:e.playState,item:f.value,onChange:t=>Y(t)},null),L.value?i(Wt,null,null):null,i(Be,{maskClosable:Ne,show:e.previewModal,"onUpdate:show":[t=>e.previewModal=t,t=>{t||(e.previewUrl="")}],class:n.previewWindow,showIcon:!1,displayDirective:"show"},{default:()=>[i(ce,{show:e.showPreivew,style:"--n-opacity-spinning: 1;"},{default:()=>[i("img",{style:{display:e.showCloseBtn?"":"none"},src:Ot,class:n.previewClose,onClick:()=>{e.previewModal=!1,e.previewUrl=""}},null),i("iframe",{class:n.previewIframe,onLoad:()=>{e.showPreivew=!1},frameborder:"0",src:e.previewUrl},null)]})]})])}}});export{ds as default};