index-61cff730-1724246911995.js 17 KB

1
  1. import{d as pt,e as q,$ as u,r as j,q as mt,C as at,T as ft,f as s,a0 as It,a1 as St,k as y,F as X,c as ot,a as xt,u as bt,U as M,aP as Tt,A as z,x as O,aQ as At,aR as nt,aC as W,j as R,w as Ct,y as Bt,E as lt,z as kt,_ as Lt,l as Nt,m as Pt,D as Mt,aS as Rt}from"./index-2a34dfa0-1724246911995.js";import{i as Et}from"./icon_back-c5ec0a72-1724246911995.js";import{i as Ft}from"./icon_separator-e0f6c575-1724246911995.js";import{T as Ut}from"./index-290bce2b-1724246911995.js";import{P as $t,T as Gt,i as ct,a as rt,b as jt,c as Dt}from"./index-d6c6f8f5-1724246911995.js";import{i as zt,a as Ot}from"./icon-collect-active-4272e308-1724246911995.js";import{i as Wt}from"./icon_default-d1bcaf5f-1724246911995.js";import{u as Vt}from"./catchData-5c8c65be-1724246911995.js";import{c as Jt,d as qt,e as Xt}from"./api-dc556020-1724246911995.js";import{g as V,s as w}from"./index-db345329-1724246911995.js";import{g as Ht,s as ut}from"./api-80ef2b13-1724246911995.js";import{T as dt}from"./index-30f355e8-1724246911995.js";import{u as Qt}from"./index-a571c58d-1724246911995.js";import{v as J}from"./urlUtils-72ef455d-1724246911995.js";import"./Slider-1600f2e5-1724246911995.js";import"./index-3738a694-1724246911995.js";const Kt="_container_8ouit_1",Yt="_iconBack_8ouit_6",Zt="_separator_8ouit_39",te="_wrap_8ouit_44",ee="_wrapBottom_8ouit_50",se="_content_8ouit_53",ie="_tools_8ouit_60",ae="_contentWrap_8ouit_84",oe="_musicList_8ouit_91",ne="_wrapList_8ouit_105",le="_empty_8ouit_111",ce="_itemContainer_8ouit_117",re="_item_8ouit_117",ue="_active_8ouit_139",de="_arrow_8ouit_142",pe="_img_8ouit_145",me="_title_8ouit_167",fe="_titleName_8ouit_174",ge="_titleDes_8ouit_181",ve="_btn_8ouit_191",he="_showPlayLoading_8ouit_216",we="_loadingWrap_8ouit_219",ye="_showLoading_8ouit_224",_e="_musicStaff_8ouit_230",Ie="_goBtn_8ouit_245",Se="_rightBtns_8ouit_254",xe="_textBtn_8ouit_261",be="_transBtn_8ouit_269",Te="_favitor_8ouit_274",Ae="_musicName_8ouit_289",Ce="_staffImgs_8ouit_297",Be="_previewWindow_8ouit_314",ke="_previewClose_8ouit_319",Le="_previewIframe_8ouit_326",Ne="_popSelect_8ouit_332",Pe="_popSelect1_8ouit_344",Me="_popTrans_8ouit_354",Re="_iconArrow_8ouit_365",Ee="_textBtnActive_8ouit_377",o={container:Kt,iconBack:Yt,separator:Zt,wrap:te,wrapBottom:ee,content:se,tools:ie,contentWrap:ae,musicList:oe,wrapList:ne,empty:le,itemContainer:ce,item:re,active:ue,arrow:de,img:pe,title:me,titleName:fe,titleDes:ge,btn:ve,showPlayLoading:he,loadingWrap:we,showLoading:ye,musicStaff:_e,goBtn:Ie,rightBtns:Se,textBtn:xe,transBtn:be,favitor:Te,musicName:Ae,staffImgs:Ce,previewWindow:Be,previewClose:ke,previewIframe:Le,popSelect:Ne,popSelect1:Pe,popTrans:Me,iconArrow:Re,textBtnActive:Ee},Fe=""+new URL("icon_goXiaoku-5d0db670.png",import.meta.url).href,Ue=""+new URL("icon-close-1bf25bcf.png",import.meta.url).href,$e=""+new URL("icon_trans-e9b9e2da.png",import.meta.url).href,Ge=pt({name:"music-guide",emits:["close"],setup(b,{emit:H}){const n=q({box:{height:"0px"},show:!1,steps:[{ele:"",eleRect:{},img:V("music1.png"),handStyle:{top:"0.91rem"},imgStyle:{top:u(-4),left:u(0),width:u(533),height:u(271)},btnsStyle:{bottom:u(40),left:u(-10)},eleRectPadding:{left:7,top:7,width:14,height:14},boxStyle:{}},{ele:"",img:V("music2.png"),imgStyle:{top:u(-4),left:u(-205),width:u(420),height:u(228)},btnsStyle:{bottom:u(35),left:u(-48)},boxStyle:{borderRadius:"25px"},eleRectPadding:{left:7,top:7,width:14,height:14}},{ele:"",img:V("music3.png"),imgStyle:{top:"100%",left:u(-130),width:u(401),height:u(304)},btnsStyle:{bottom:u(100),left:u(30)},boxStyle:{borderRadius:"40px"},eleRectPadding:{left:7,top:7,width:14,height:14},type:"bottom"}],step:0}),g=j(!1),r=j({});(async()=>{var l;try{const d=await Ht({guideTag:"teacher-guideInfo"});d.data?r.value=JSON.parse((l=d.data)==null?void 0:l.guideValue)||null:r.value={},r.value&&r.value.musicGuide?g.value=!1:g.value=!0}catch(d){console.log(d)}})();const _=()=>{var d,S,x,A;const l=document.getElementById("music-".concat(n.step));if(l){const m=l.getBoundingClientRect();if(console.log(l.style.display,"ele"),l.style.display=="none"){I();return}const p=((d=n.steps[n.step].eleRectPadding)==null?void 0:d.left)||0,F=((S=n.steps[n.step].eleRectPadding)==null?void 0:S.top)||0,k=((x=n.steps[n.step].eleRectPadding)==null?void 0:x.width)||0,C=((A=n.steps[n.step].eleRectPadding)==null?void 0:A.height)||0;n.box={left:m.x-p+"px",top:m.y-F+"px",width:m.width+k+"px",height:m.height+C+"px"}}else I()},P=async l=>{try{if(l!=="xiaoku-music")return;r.value?r.value.musicGuide=!1:r.value={musicGuide:!1};try{await ut({guideTag:"teacher-guideInfo",guideValue:JSON.stringify(r.value)})}catch(d){console.log(d)}n.step=0,_(),g.value=!0}catch(d){}};mt(()=>{_(),window.addEventListener("resize",E),at.on("teacher-guideInfo",P)});const E=()=>{_()};ft(()=>{window.removeEventListener("resize",E),at.off("teacher-guideInfo",P)});const I=()=>{if(n.step>=3){T();return}n.step=n.step+1,_()},T=async()=>{r.value?r.value.musicGuide=!0:r.value={musicGuide:!0};try{const l=await ut({guideTag:"teacher-guideInfo",guideValue:JSON.stringify(r.value)})}catch(l){console.log(l)}g.value=!1};return()=>s(X,null,[g.value?It(s("div",{"onUpdate:show":l=>g.value=l,class:["n-modal-mask","n-modal-mask-guide"]},[s("div",{class:w.content,onClick:()=>I()},[s("div",{class:w.backBtn,onClick:l=>{l.stopPropagation(),T()}},[y("跳过")]),s("div",{class:w.box,style:{...n.box,...n.steps[n.step].boxStyle},id:"modeType-".concat(n.step)},[n.steps.map((l,d)=>{var S,x,A,m;return s("div",{onClick:p=>p.stopPropagation(),class:w.item,style:l.type=="bottom"?{display:d===n.step?"":"none",left:"".concat((S=l.eleRect)==null?void 0:S.left,"px"),top:"-".concat((x=l.imgStyle)==null?void 0:x.height)}:{display:d===n.step?"":"none",left:"".concat((A=l.eleRect)==null?void 0:A.left,"px"),top:"".concat((m=n.box)==null?void 0:m.height)}},[s("img",{class:w.img,style:l.imgStyle,src:l.img},null),s("div",{class:w.btns,style:l.btnsStyle},[n.step+1==n.steps.length?s(X,null,[s("div",{class:[w.endBtn],onClick:()=>T()},[y("完成")]),s("div",{class:w.nextBtn,onClick:()=>{n.step=0,_()}},[y("再看一遍")])]):s("div",{class:w.btn,onClick:()=>I()},[y("下一步 ("),n.step+1,y("/"),n.steps.length,y(")")])])])})])])]),[[St,g.value,"show"]]):null])}});function je(b){return typeof b=="function"||Object.prototype.toString.call(b)==="[object Object]"&&!Mt(b)}const is=pt({name:"XiaokuMusic",setup(){const b=Vt(),H=ot(),n=xt(),g=bt(),r=q({page:1,rows:20,status:!0,name:"",musicSheetCategoriesId:n.query.id||""}),t=q({loading:!1,finshed:!1,reshing:!1,tags:[],tagIndex:0,list:[],listActive:0,musicInstrumentIndex:0,playState:"pause",showPlayer:!1,previewModal:!1,showPreivew:!1,previewUrl:"",showCloseBtn:!0,iframeSrc:"",showMusicImg:"staff",trackList:[],showTransBtn:!0,trackName:"切换声轨"}),_=j(!1),P=ot(),E=async()=>{const i=b.getSubjectInstruments,e=sessionStorage.getItem("musicSubjectList")?JSON.parse(sessionStorage.getItem("musicSubjectList")):[],a=[];i.forEach(c=>{e.find(f=>f.id===c.id)&&a.push(c)}),t.tags=[{name:"全部",id:0,value:0,label:"全部"},...a]},I=async()=>{var e;t.loading=!0;let i={};try{i=await Jt({...r,musicalInstrumentId:t.tagIndex?t.tagIndex:""})}catch(a){console.log(a)}t.reshing&&(t.list=[],t.reshing=!1),(i==null?void 0:i.code)===200&&Array.isArray((e=i==null?void 0:i.data)==null?void 0:e.rows)?(t.list=[...t.list,...i.data.rows],t.finshed=i.data.rows.length<r.rows):t.finshed=!0,t.list[t.listActive]&&x(t.list[t.listActive]),t.loading=!1,setTimeout(()=>{_.value=!0},500)},T=()=>{t.listActive=0,t.showPlayer=!1,t.playState="pause",r.page=1,t.finshed=!1,I()},l=j(),d=()=>{t.loading||t.finshed||(r.page=r.page+1,I())},S=i=>{var e;((e=i.data)==null?void 0:e.api)==="api_fingerPreView"&&(t.showCloseBtn=!i.data.state)};mt(async()=>{await b.getSubjects(),Qt(document.querySelector(".musicList-container"),e=>{const a=e[0],{height:c}=a.contentRect;document.documentElement.style.setProperty("--xiaoku-music-height",c+"px")}),E(),await I(),new IntersectionObserver(e=>{e[0].intersectionRatio>0&&d()}).observe(l.value),D(),window.addEventListener("message",S)}),ft(()=>{window.removeEventListener("message",S)});const x=async i=>{const e=await qt({type:"MUSIC",materialId:i.id});(e==null?void 0:e.code)===200&&(i.favitor=e.data)},A=i=>{const e=t.list.findIndex(a=>a.id===i.id);e>-1&&(t.listActive=e),x(i)},m=i=>{const e={};return i==null||i.forEach(a=>{a.id===t.tagIndex&&(e.selected=!0,e.name=a.name)}),e},p=M(()=>{var i;return t.list[t.listActive]&&"".concat(J(),"/instrument/?modelType=practise&id=").concat((i=t.list[t.listActive])==null?void 0:i.xmlFileUrl,"&Authorization=").concat(P.getToken,"/#/preview"),t.list[t.listActive]||{}}),F=()=>{t.list[t.listActive].favitor=!t.list[t.listActive].favitor,Xt({favoriteFlag:t.list[t.listActive].favitor,type:"MUSIC",materialId:t.list[t.listActive].id})},k=i=>{const e=t.list.findIndex(a=>a.id===i.id);e>-1&&(t.listActive===e?t.playState=t.playState==="play"?"pause":"play":t.playState="play",t.showPlayer=!0,t.listActive=e)};M(()=>{const i=t.list[t.listActive],e=(i==null?void 0:i.musicalInstruments)||[],a=[];return e.forEach((c,v)=>{a.push({label:c.name,value:v})}),a});const C=M(()=>{var i;return t.list.length?((i=t.list[t.listActive])==null?void 0:i.musicSheetType)!=="SINGLE":!1}),Q=(i,e)=>!!(i||i===""||i===void 0||i===null||["JIAN","FIRST"].includes(e)&&!i),L=()=>{const i=P.getToken,e=t.list[t.listActive],a=t.showMusicImg==="first"?"firstTone":t.showMusicImg==="fixed"?"fixedTone":(t.showMusicImg==="staff","staff");t.iframeSrc="".concat(J(),"/instrument/?id=").concat(e.id,"&modelType=practise&modeType=json&Authorization=").concat(i,"&isPreView=true&part-index=").concat(t.musicInstrumentIndex,"&musicRenderType=").concat(a)},K=i=>{i==="play"?t.playState="play":i==="pause"?t.playState="pause":i==="pre"?t.list[t.listActive-1]&&k(t.list[t.listActive-1]):i==="next"?t.list[t.listActive+1]&&k(t.list[t.listActive+1]):i==="favitor"&&F()},gt=M(()=>{const i=t.list[t.listActive],{scoreType:e,isConvertibleScore:a}=i||{},c=[{value:"first",label:"首调"},{value:"fixed",label:"固定调"}];return!(["JIAN","FIRST"].includes(e)&&a===!1)&&a!=null&&c.unshift({value:"staff",label:"五线谱"}),c}),D=async()=>{const i=t.list[t.listActive];if((i==null?void 0:i.musicSheetType)==="CONCERT"){if(i.xmlFileUrl){const e=await fetch(i.xmlFileUrl).then(a=>a.text());vt(e)}}else{const{scoreType:e,isConvertibleScore:a}=i||{};let c="first";c=e==="STAVE"?"staff":e==="JIAN"?"fixed":"first",t.showMusicImg=c,t.showTransBtn=Q(a,e)}},vt=i=>{var tt,et,$,st,it;const a=((et=(tt=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("part-list"))==null?void 0:tt[0])==null?void 0:et.getElementsByTagName("score-part"))||[],c=Array.from(a).map(h=>{var B,G,N;return((N=(G=(B=h.getElementsByTagName("part-name"))==null?void 0:B[0])==null?void 0:G.textContent)==null?void 0:N.trim())||""});((st=($=c[0])==null?void 0:$.toLocaleUpperCase)==null?void 0:st.call($))==="COMMON"&&c.shift();const v=(it=t.list[t.listActive])==null?void 0:it.multiTracksSelection,f=v?v==null?void 0:v.split(","):[],ht=c.map((h,B)=>{const G=!!(f.length==0||f.includes(h)),N=Tt(h),_t=Rt(N,B);return{label:h+(N?"(".concat(N,")"):""),value:B,sortId:_t,canselect:G,track:h}}).filter(h=>h.canselect).sort((h,B)=>h.sortId-B.sortId);t.trackList=ht;const wt=t.list[t.listActive],{scoreType:U,isConvertibleScore:yt}=wt||{};let Z="first";Z=U==="STAVE"?"staff":U==="JIAN"?"fixed":"first",t.showMusicImg=Z,t.showTransBtn=Q(yt,U)};z(()=>t.listActive,async()=>{t.musicInstrumentIndex=0,D()}),z(()=>t.musicInstrumentIndex,async()=>{var i;t.trackName=((i=t.trackList.find(e=>e.value===t.musicInstrumentIndex))==null?void 0:i.label)||"切换声轨",L()}),z(()=>t.showMusicImg,()=>{C.value&&L()});const Y=M(()=>{var e,a,c,v;let i=[];if(t.showMusicImg==="first"){const f=(e=p.value)==null?void 0:e.musicFirstImg;i=f?f.split(","):[]}else if(t.showMusicImg==="fixed"){const f=(a=p.value)==null?void 0:a.musicJianImg;i=f?f.split(","):[]}else if(t.showMusicImg==="staff"){const f=((c=p.value)==null?void 0:c.musicImg)||((v=p.value)==null?void 0:v.musicSvg);i=f?f.split(","):[]}return i});return()=>{let i;return s("div",{class:o.container},[s(O,{align:"center",wrapItem:!1,size:16},{default:()=>[s("img",{style:{cursor:"pointer"},src:Et,class:o.iconBack,onClick:()=>g.push({path:"/xiaoku-ai"})},null),s(At,{separator:""},{default:()=>[s(nt,{onClick:()=>g.push({path:"/xiaoku-ai"})},{default:()=>[y("全部列表")]}),s("img",{class:o.separator,src:Ft},null),s(nt,null,{default:()=>[n.query.name]})]})]}),s("div",{class:[o.wrap,t.showPlayer?o.wrapBottom:""]},[s("div",{class:o.content},[s("div",{class:o.tools},[s(O,{style:{width:"100%"},size:[24,12],wrapItem:!1},{default:()=>[s("div",{id:"music-0"},[s(O,{style:{width:"100%"},size:[24,12],wrapItem:!1},je(i=t.tags.map(e=>e.instruments&&e.instruments.length>1?s(W,{options:e.instruments,trigger:"hover",value:t.tagIndex,"onUpdate:value":[a=>t.tagIndex=a,()=>{t.reshing=!0,document.querySelector(".musicList-container").scroll(0,0),T()}],scrollable:!0,key:e.value,class:[o.popSelect1]},{default:()=>[s(R,{round:!0,textColor:m(e.instruments).selected?"#fff":"#000",color:m(e.instruments).selected?"#198CFE":"#fff",type:m(e.instruments).selected?"primary":"default",class:[o.textBtn,m(e.instruments).selected&&o.textBtnActive]},{default:()=>[m(e.instruments).name||e.name,s("i",{class:o.iconArrow},null)]})]}):s(R,{round:!0,textColor:t.tagIndex===e.value?"#fff":"#000",color:t.tagIndex===e.value?"#198CFE":"#fff",type:t.tagIndex===e.value?"primary":"default",onClick:()=>{t.tagIndex=e.value||0,t.reshing=!0,document.querySelector(".musicList-container").scroll(0,0),T()}},{default:()=>[e.name]})))?i:{default:()=>[i]})])]}),s(Ut,{style:{marginLeft:"auto"},round:!0,border:!1,onSearch:e=>{r.name=e,t.reshing=!0,T()}},null)]),s("div",{class:o.contentWrap},[s("div",{class:[o.musicList,"musicList-container"]},[s("div",{class:[o.wrapList,"music-wrap-list"]},[t.list.map((e,a)=>s("div",{class:o.itemContainer},[s("div",{class:[o.item,t.listActive===a&&o.active],onClick:()=>{A(e),L()}},[s("div",{class:o.img},[s(Ct,{lazy:!0,objectFit:"cover",previewDisabled:!0,src:e.titleImg||Wt,onLoad:c=>{c.target.dataset.loaded="true"}},null),s($t,{class:[t.listActive===a&&t.playState==="play"?"":o.showPlayLoading]},null)]),s("div",{class:o.title},[s("div",{class:o.titleName},[s(Gt,{text:e.musicSheetName},null)]),s("div",{class:o.titleDes},[e.composer])]),a==0?s(R,Bt({color:"#259CFE",textColor:"#fff"},{id:"music-1"},{round:!0,class:o.btn,type:"primary",onClick:c=>{c.stopPropagation(),k(e),t.listActive===a&&t.playState==="play"&&C.value&&L()}}),{default:()=>[y("试听"),s("img",{src:t.listActive===a&&t.playState==="play"?ct:rt},null)]}):s(R,{color:"#259CFE",textColor:"#fff",round:!0,class:o.btn,type:"primary",onClick:c=>{c.stopPropagation(),k(e),t.listActive===a&&t.playState==="play"&&C.value&&L()}},{default:()=>[y("试听"),s("img",{src:t.listActive===a&&t.playState==="play"?ct:rt},null)]}),s("img",{class:o.arrow,src:jt},null)])])),s("div",{ref:l,class:[o.loadingWrap,t.finshed&&o.showLoading]},[s(lt,{show:!0},null)]),!t.loading&&t.list.length===0&&s("div",{class:o.empty},[s(dt,null,null)])])]),s("div",{class:o.musicStaff},[s("div",{class:o.musicName},[p.value.musicSheetName]),s("img",{id:"music-2",style:{display:p.value.id?"":"none"},class:[o.goBtn],src:Fe,onClick:()=>{K("pause");let e="staff";t.showMusicImg==="first"?e="firstTone":t.showMusicImg==="fixed"?e="fixedTone":t.showMusicImg==="staff"&&(e="staff");const a="".concat(J(),"/instrument?v=").concat(+new Date,"&platform=pc&showGuide=true&id=").concat(p.value.id,"&Authorization=").concat(H.getToken,"&musicRenderType=").concat(e,"&showGuide=true&part-index=").concat(t.musicInstrumentIndex);window.matchMedia("(display-mode: standalone)").matches?(kt.application=window.matchMedia("(display-mode: standalone)").matches,t.previewModal=!0,t.previewUrl=a,t.showPreivew=!1):window.open(a)}},null),s("div",{class:o.rightBtns,style:{display:p.value.id?"":"none"}},[C.value&&s(W,{options:t.trackList,trigger:"hover",value:t.musicInstrumentIndex,"onUpdate:value":[e=>t.musicInstrumentIndex=e,async e=>{await D()}],class:[o.popSelect]},{default:()=>[s(R,{round:!0,class:[o.textBtn]},{default:()=>[t.trackName,s("i",{class:o.iconArrow},null)]})]}),t.showTransBtn&&s(W,{options:gt.value,trigger:"hover",value:t.showMusicImg,"onUpdate:value":[e=>t.showMusicImg=e,async e=>{t.showMusicImg=e}],class:[o.popTrans]},{default:()=>[s("img",{class:[o.transBtn],src:$e},null)]}),s("div",{class:o.favitor,onClick:()=>F()},[s(Lt,{name:"favitor",mode:"out-in"},{default:()=>[p.value.favitor?s("img",{src:zt,key:"1"},null):s("img",{src:Ot,key:"2"},null)]})])]),s("div",{class:o.staffImgs},[C.value?s("iframe",{id:"staffIframeRef",style:{width:"100%",height:"100%",paddingTop:"20px"},src:t.iframeSrc,onLoad:L},null):s(X,null,[Y.value.length>0?Y.value.map(e=>s("img",{src:e,key:e},null)):s(dt,null,null)])])])])])]),t.list.length!==0&&s(Dt,{show:t.showPlayer,playState:t.playState,item:p.value,onChange:e=>K(e)},null),_.value?s(Ge,null,null):null,s(Nt,{maskClosable:Pt,show:t.previewModal,"onUpdate:show":[e=>t.previewModal=e,e=>{e||(t.previewUrl="")}],class:o.previewWindow,showIcon:!1,displayDirective:"show"},{default:()=>[s(lt,{show:t.showPreivew,style:"--n-opacity-spinning: 1;"},{default:()=>[s("img",{style:{display:t.showCloseBtn?"":"none"},src:Ue,class:o.previewClose,onClick:()=>{t.previewModal=!1,t.previewUrl=""}},null),s("iframe",{class:o.previewIframe,onLoad:()=>{t.showPreivew=!1},frameborder:"0",src:t.previewUrl},null)]})]})])}}});export{is as default};