1 |
- import{d as me,e as V,$ as d,r as M,q as pe,C as se,T as fe,f as i,a0 as Ie,a1 as Se,k as L,F as J,c as ie,a as xe,u as Te,U as N,aP as be,A as O,x as ae,aQ as Le,aR as le,j as ne,w as Ae,E as oe,z as ke,aC as ce,_ as Be,l as Ce,m as Pe,D as Ne,aS as Me}from"./index-5796f5ea-1723427255937.js";import{i as Re}from"./icon_back-c5ec0a72-1723427255937.js";import{i as Ee}from"./icon_separator-e0f6c575-1723427255937.js";import{T as Ue}from"./index-7990ac9c-1723427255937.js";import{P as $e,T as je,i as Ge,a as Fe}from"./index-57e10711-1723427255937.js";import{i as De,a as Oe}from"./icon-collect-active-4272e308-1723427255937.js";import{i as ze}from"./icon_default-d1bcaf5f-1723427255937.js";import{u as We}from"./catchData-ac6da149-1723427255937.js";import{c as Ve,d as Je,e as qe}from"./api-4e0ff40e-1723427255937.js";import{g as z,s as w}from"./index-db345329-1723427255937.js";import{g as Xe,s as re}from"./api-86ce96b3-1723427255937.js";import{T as ue}from"./index-621c35fd-1723427255937.js";import{u as Ye}from"./index-d9c305aa-1723427255937.js";import{v as W}from"./urlUtils-72ef455d-1723427255937.js";import{a as de}from"./contants-868ef0dd-1723427255937.js";import{C as He}from"./index-fe88def6-1723427255937.js";import"./Slider-50e067fb-1723427255937.js";import"./index-780eaceb-1723427255937.js";import"./Scrollbar-9339a5b3-1723427255937.js";const Qe="_container_1el4t_1",Ke="_iconBack_1el4t_6",Ze="_separator_1el4t_39",et="_wrap_1el4t_44",tt="_wrapBottom_1el4t_50",st="_content_1el4t_53",it="_tools_1el4t_60",at="_contentWrap_1el4t_84",lt="_musicList_1el4t_91",nt="_wrapList_1el4t_105",ot="_empty_1el4t_111",ct="_searchSection_1el4t_117",rt="_itemContainer_1el4t_140",ut="_item_1el4t_140",dt="_active_1el4t_162",mt="_arrow_1el4t_165",pt="_img_1el4t_168",ft="_title_1el4t_190",gt="_titleName_1el4t_197",ht="_titleDes_1el4t_204",vt="_btn_1el4t_214",wt="_showPlayLoading_1el4t_239",yt="_loadingWrap_1el4t_242",_t="_showLoading_1el4t_247",It="_musicStaff_1el4t_253",St="_goBtn_1el4t_268",xt="_rightBtns_1el4t_277",Tt="_textBtn_1el4t_284",bt="_transBtn_1el4t_292",Lt="_favitor_1el4t_297",At="_musicName_1el4t_312",kt="_staffImgs_1el4t_320",Bt="_previewWindow_1el4t_337",Ct="_previewClose_1el4t_342",Pt="_previewIframe_1el4t_349",Nt="_popSelect_1el4t_355",Mt="_popSelect1_1el4t_367",Rt="_popTrans_1el4t_377",Et="_iconArrow_1el4t_388",Ut="_textBtnActive_1el4t_400",l={container:Qe,iconBack:Ke,separator:Ze,wrap:et,wrapBottom:tt,content:st,tools:it,contentWrap:at,musicList:lt,wrapList:nt,empty:ot,searchSection:ct,itemContainer:rt,item:ut,active:dt,arrow:mt,img:pt,title:ft,titleName:gt,titleDes:ht,btn:vt,showPlayLoading:wt,loadingWrap:yt,showLoading:_t,musicStaff:It,goBtn:St,rightBtns:xt,textBtn:Tt,transBtn:bt,favitor:Lt,musicName:At,staffImgs:kt,previewWindow:Bt,previewClose:Ct,previewIframe:Pt,popSelect:Nt,popSelect1:Mt,popTrans:Rt,iconArrow:Et,textBtnActive:Ut},$t=""+new URL("icon_goXiaoku-5d0db670.png",import.meta.url).href,jt=""+new URL("icon-close-1bf25bcf.png",import.meta.url).href,Gt=""+new URL("icon_trans-e9b9e2da.png",import.meta.url).href,Ft=me({name:"music-guide",emits:["close"],setup(S,{emit:q}){const n=V({box:{height:"0px"},show:!1,steps:[{ele:"",eleRect:{},img:z("music1.png"),handStyle:{top:"0.91rem"},imgStyle:{top:d(-4),left:d(0),width:d(533),height:d(271)},btnsStyle:{bottom:d(40),left:d(-10)},eleRectPadding:{left:7,top:7,width:14,height:14},boxStyle:{}},{ele:"",img:z("music2.png"),imgStyle:{top:d(-4),left:d(-205),width:d(420),height:d(228)},btnsStyle:{bottom:d(35),left:d(-48)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:7,top:7,width:14,height:14}},{ele:"",img:z("music3.png"),imgStyle:{top:"100%",left:d(-130),width:d(401),height:d(304)},btnsStyle:{bottom:d(100),left:d(30)},boxStyle:{borderRadius:"40px"},eleRectPadding:{left:7,top:7,width:14,height:14},type:"bottom"}],step:0}),g=M(!1),c=M({});(async()=>{var o;try{const u=await Xe({guideTag:"teacher-guideInfo"});u.data?c.value=JSON.parse((o=u.data)==null?void 0:o.guideValue)||null:c.value={},c.value&&c.value.musicGuide?g.value=!1:g.value=!0}catch(u){console.log(u)}})();const y=()=>{var u,_,T,I;const o=document.getElementById("music-".concat(n.step));if(o){const h=o.getBoundingClientRect();if(console.log(o.style.display,"ele"),o.style.display=="none"){x();return}const P=((u=n.steps[n.step].eleRectPadding)==null?void 0:u.left)||0,p=((_=n.steps[n.step].eleRectPadding)==null?void 0:_.top)||0,R=((T=n.steps[n.step].eleRectPadding)==null?void 0:T.width)||0,E=((I=n.steps[n.step].eleRectPadding)==null?void 0:I.height)||0;n.box={left:h.x-P+"px",top:h.y-p+"px",width:h.width+R+"px",height:h.height+E+"px"}}else x()},k=async o=>{try{if(o!=="xiaoku-music")return;c.value?c.value.musicGuide=!1:c.value={musicGuide:!1};try{await re({guideTag:"teacher-guideInfo",guideValue:JSON.stringify(c.value)})}catch(u){console.log(u)}n.step=0,y(),g.value=!0}catch(u){}};pe(()=>{y(),window.addEventListener("resize",B),se.on("teacher-guideInfo",k)});const B=()=>{y()};fe(()=>{window.removeEventListener("resize",B),se.off("teacher-guideInfo",k)});const x=()=>{if(n.step>=3){C();return}n.step=n.step+1,y()},C=async()=>{c.value?c.value.musicGuide=!0:c.value={musicGuide:!0};try{const o=await re({guideTag:"teacher-guideInfo",guideValue:JSON.stringify(c.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:w.content,onClick:()=>x()},[i("div",{class:w.backBtn,onClick:o=>{o.stopPropagation(),C()}},[L("跳过")]),i("div",{class:w.box,style:{...n.box,...n.steps[n.step].boxStyle},id:"modeType-".concat(n.step)},[n.steps.map((o,u)=>{var _,T,I,h;return i("div",{onClick:P=>P.stopPropagation(),class:w.item,style:o.type=="bottom"?{display:u===n.step?"":"none",left:"".concat((_=o.eleRect)==null?void 0:_.left,"px"),top:"-".concat((T=o.imgStyle)==null?void 0:T.height)}:{display:u===n.step?"":"none",left:"".concat((I=o.eleRect)==null?void 0:I.left,"px"),top:"".concat((h=n.box)==null?void 0:h.height)}},[i("img",{class:w.img,style:o.imgStyle,src:o.img},null),i("div",{class:w.btns,style:o.btnsStyle},[n.step+1==n.steps.length?i(J,null,[i("div",{class:[w.endBtn],onClick:()=>C()},[L("完成")]),i("div",{class:w.nextBtn,onClick:()=>{n.step=0,y()}},[L("再看一遍")])]):i("div",{class:w.btn,onClick:()=>x()},[L("下一步 ("),n.step+1,L("/"),n.steps.length,L(")")])])])})])])]),[[Se,g.value,"show"]]):null])}});function Dt(S){return typeof S=="function"||Object.prototype.toString.call(S)==="[object Object]"&&!Ne(S)}const os=me({name:"XiaokuMusic",setup(){const S=We(),q=ie(),n=xe(),g=Te(),c=V({page:1,rows:20,status:!0,name:"",audioPlayTypes:"",musicSheetCategoriesId:n.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:"切换声轨"}),y=M(""),k=M(!1),B=ie(),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=S.getSubjectList,t=sessionStorage.getItem("musicSubjectList")?JSON.parse(sessionStorage.getItem("musicSubjectList")):[],a=[];console.log(s,t,"subjectList"),s.forEach(r=>{t.find(m=>m.id===r.id)&&a.push(r)}),x(a),e.tags=[{columnName:"声部",name:"全部声部",id:""},...a]},o=async()=>{var t;e.loading=!0;let s={};try{const{audioPlayTypes:a,...r}=c;s=await Ve({...r,audioPlayTypes:a?a==="PLAY_SING"?["PLAY","SING"]:[a]:[],musicSubject:e.musicSubject,musicalInstrumentId:e.musicalInstrumentId})}catch(a){console.log(a)}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)?(e.list=[...e.list,...s.data.rows],e.finshed=s.data.rows.length<c.rows):e.finshed=!0,e.list[e.listActive]&&h(e.list[e.listActive]),e.loading=!1,setTimeout(()=>{k.value=!0},500)},u=()=>{e.listActive=0,e.showPlayer=!1,e.playState="pause",c.page=1,e.finshed=!1,o()},_=M(),T=()=>{e.loading||e.finshed||(c.page=c.page+1,o())},I=s=>{var t;((t=s.data)==null?void 0:t.api)==="api_fingerPreView"&&(e.showCloseBtn=!s.data.state)};pe(async()=>{const s=Object.keys(de).map(a=>({value:a,label:de[a]}));e.audioPlayTypeList=[{label:"全部",value:""},...s],await S.getSubjects(),Ye(document.querySelector(".musicList-container"),a=>{const r=a[0],{height:f}=r.contentRect;document.documentElement.style.setProperty("--xiaoku-music-height",f+"px")}),C(),await o(),new IntersectionObserver(a=>{a[0].intersectionRatio>0&&T()}).observe(_.value),D(),window.addEventListener("message",I)}),fe(()=>{window.removeEventListener("message",I)});const h=async s=>{const t=await Je({type:"MUSIC",materialId:s.id});(t==null?void 0:t.code)===200&&(s.favitor=t.data)},P=s=>{const t=e.list.findIndex(a=>a.id===s.id);t>-1&&(e.listActive=t),h(s)},p=N(()=>{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(B.getToken,"/#/preview"),e.list[e.listActive]||{}}),R=()=>{e.list[e.listActive].favitor=!e.list[e.listActive].favitor,qe({favoriteFlag:e.list[e.listActive].favitor,type:"MUSIC",materialId:e.list[e.listActive].id})},E=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)};N(()=>{const s=e.list[e.listActive],t=(s==null?void 0:s.musicalInstruments)||[],a=[];return t.forEach((r,f)=>{a.push({label:r.name,value:f})}),a});const F=N(()=>{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=B.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)},Y=s=>{s==="play"?e.playState="play":s==="pause"?e.playState="pause":s==="pre"?e.list[e.listActive-1]&&E(e.list[e.listActive-1]):s==="next"?e.list[e.listActive+1]&&E(e.list[e.listActive+1]):s==="favitor"&&R()},ge=N(()=>{const s=e.list[e.listActive],{scoreType:t,isConvertibleScore:a}=s||{},r=[{value:"first",label:"首调"},{value:"fixed",label:"固定调"}];return!(["JIAN","FIRST"].includes(t)&&a===!1)&&a!=null&&r.unshift({value:"staff",label:"五线谱"}),r}),D=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 r="first";r=t==="STAVE"?"staff":t==="JIAN"?"fixed":"first",e.showMusicImg=r,e.showTransBtn=X(a,t)}},he=s=>{var K,Z,j,ee,te;const a=((Z=(K=new DOMParser().parseFromString(s,"text/xml").getElementsByTagName("part-list"))==null?void 0:K[0])==null?void 0:Z.getElementsByTagName("score-part"))||[],r=Array.from(a).map(v=>{var b,G,A;return((A=(G=(b=v.getElementsByTagName("part-name"))==null?void 0:b[0])==null?void 0:G.textContent)==null?void 0:A.trim())||""});((ee=(j=r[0])==null?void 0:j.toLocaleUpperCase)==null?void 0:ee.call(j))==="COMMON"&&r.shift();const f=(te=e.list[e.listActive])==null?void 0:te.multiTracksSelection,m=f?f==null?void 0:f.split(","):[],ve=r.map((v,b)=>{const G=!!(m.length==0||m.includes(v)),A=be(v),_e=Me(A,b);return{label:v+(A?"(".concat(A,")"):""),value:b,sortId:_e,canselect:G,track:v}}).filter(v=>v.canselect).sort((v,b)=>v.sortId-b.sortId);e.trackList=ve;const we=e.list[e.listActive],{scoreType:$,isConvertibleScore:ye}=we||{};let Q="first";Q=$==="STAVE"?"staff":$==="JIAN"?"fixed":"first",e.showMusicImg=Q,e.showTransBtn=X(ye,$)};O(()=>e.listActive,async()=>{e.musicInstrumentIndex=0,D()}),O(()=>e.musicInstrumentIndex,async()=>{var s;e.trackName=((s=e.trackList.find(t=>t.value===e.musicInstrumentIndex))==null?void 0:s.label)||"切换声轨",U()}),O(()=>e.showMusicImg,()=>{F.value&&U()});const H=N(()=>{var t,a,r,f;let s=[];if(e.showMusicImg==="first"){const m=(t=p.value)==null?void 0:t.musicFirstImg;s=m?m.split(","):[]}else if(e.showMusicImg==="fixed"){const m=(a=p.value)==null?void 0:a.musicJianImg;s=m?m.split(","):[]}else if(e.showMusicImg==="staff"){const m=((r=p.value)==null?void 0:r.musicImg)||((f=p.value)==null?void 0:f.musicSvg);s=m?m.split(","):[]}return s});return()=>{let s;return i("div",{class:l.container},[i(ae,{align:"center",wrapItem:!1,size:16},{default:()=>[i("img",{style:{cursor:"pointer"},src:Re,class:l.iconBack,onClick:()=>g.push({path:"/xiaoku-ai"})},null),i(Le,{separator:""},{default:()=>[i(le,{onClick:()=>g.push({path:"/xiaoku-ai"})},{default:()=>[L("全部列表")]}),i("img",{class:l.separator,src:Ee},null),i(le,null,{default:()=>[n.query.name]})]})]}),i("div",{class:[l.wrap,e.showPlayer?l.wrapBottom:""]},[i("div",{class:l.content},[i("div",{class:l.tools},[i(ae,{style:{width:"100%"},size:[12,6],wrapItem:!1},Dt(s=e.audioPlayTypeList.map(t=>i(ne,{round:!0,textColor:c.audioPlayTypes===t.value?"#fff":"#000",color:c.audioPlayTypes===t.value?"#198CFE":"#fff",type:c.audioPlayTypes===t.value?"primary":"default",onClick:()=>{var a;c.audioPlayTypes=t.value||"",t.value==="SING"&&(e.musicalInstrumentId="",e.musicSubject=""),e.reshing=!0,(a=document.querySelector(".musicList-container"))==null||a.scroll(0,0),u()}},{default:()=>[t.label]})))?s:{default:()=>[s]})]),i("div",{class:l.contentWrap},[i("div",{class:[l.musicList,"musicList-container"]},[i("div",{class:l.searchSection},[c.audioPlayTypes!=="SING"&&i(He,{placeholder:"全部乐器",arrowType:"small",class:l.instrumentSection,value:y.value,"onUpdate:value":t=>y.value=t,options:e.tags,onMoreId:t=>{var a;e.musicalInstrumentId=t.childId,e.musicSubject=t.parentId,e.reshing=!0,(a=document.querySelector(".musicList-container"))==null||a.scroll(0,0),u()}},null),i(Ue,{style:{marginLeft:"auto"},round:!0,border:!1,onSearch:t=>{c.name=t,e.reshing=!0,u()}},null)]),i("div",{class:[l.wrapList,"music-wrap-list"]},[e.list.map((t,a)=>i("div",{class:l.itemContainer},[i("div",{class:[l.item,e.listActive===a&&l.active],onClick:()=>{P(t),U()}},[i("div",{class:l.img},[i(Ae,{lazy:!0,objectFit:"cover",previewDisabled:!0,src:t.titleImg||ze,onLoad:r=>{r.target.dataset.loaded="true"}},null),i($e,{class:[e.listActive===a&&e.playState==="play"?"":l.showPlayLoading]},null)]),i("div",{class:l.title},[i("div",{class:l.titleName},[i(je,{text:t.musicSheetName},null)]),i("div",{class:l.titleDes},[t.composer])]),i("img",{class:l.arrow,src:Ge},null)])])),i("div",{ref:_,class:[l.loadingWrap,e.finshed&&l.showLoading]},[i(oe,{show:!0},null)]),!e.loading&&e.list.length===0&&i("div",{class:l.empty},[i(ue,null,null)])])]),i("div",{class:l.musicStaff},[i("div",{class:l.musicName},[p.value.musicSheetName]),i("img",{id:"music-2",style:{display:p.value.id?"":"none"},class:[l.goBtn],src:$t,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&showGuide=true&id=").concat(p.value.id,"&Authorization=").concat(q.getToken,"&musicRenderType=").concat(t,"&showGuide=true&part-index=").concat(e.musicInstrumentIndex);e.tagIndex&&(a+="&instrumentId="+e.tagIndex),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:l.rightBtns,style:{display:p.value.id?"":"none"}},[F.value&&i(ce,{options:e.trackList,trigger:"hover",value:e.musicInstrumentIndex,"onUpdate:value":[t=>e.musicInstrumentIndex=t,async t=>{await D()}],class:[l.popSelect]},{default:()=>[i(ne,{round:!0,class:[l.textBtn]},{default:()=>[e.trackName,i("i",{class:l.iconArrow},null)]})]}),e.showTransBtn&&i(ce,{options:ge.value,trigger:"hover",value:e.showMusicImg,"onUpdate:value":[t=>e.showMusicImg=t,async t=>{e.showMusicImg=t}],class:[l.popTrans]},{default:()=>[i("img",{class:[l.transBtn],src:Gt},null)]}),i("div",{class:l.favitor,onClick:()=>R()},[i(Be,{name:"favitor",mode:"out-in"},{default:()=>[p.value.favitor?i("img",{src:De,key:"1"},null):i("img",{src:Oe,key:"2"},null)]})])]),i("div",{class:l.staffImgs},[F.value?i("iframe",{id:"staffIframeRef",style:{width:"100%",height:"100%",paddingTop:"20px"},src:e.iframeSrc,onLoad:U},null):i(J,null,[H.value.length>0?H.value.map(t=>i("img",{src:t,key:t},null)):i(ue,null,null)])])])])])]),e.list.length!==0&&i(Fe,{show:e.showPlayer,playState:e.playState,item:p.value,onChange:t=>Y(t)},null),k.value?i(Ft,null,null):null,i(Ce,{maskClosable:Pe,show:e.previewModal,"onUpdate:show":[t=>e.previewModal=t,t=>{t||(e.previewUrl="")}],class:l.previewWindow,showIcon:!1,displayDirective:"show"},{default:()=>[i(oe,{show:e.showPreivew,style:"--n-opacity-spinning: 1;"},{default:()=>[i("img",{style:{display:e.showCloseBtn?"":"none"},src:jt,class:l.previewClose,onClick:()=>{e.previewModal=!1,e.previewUrl=""}},null),i("iframe",{class:l.previewIframe,onLoad:()=>{e.showPreivew=!1},frameborder:"0",src:e.previewUrl},null)]})]})])}}});export{os as default};
|