index-9627bd3f.js 9.3 KB

1
  1. import{d as w,e as y,r as k,M as P,cq as L,w as $,f as e,o as T,cr as D,j as _,c as j,a as M,u as z,q as E,aZ as q,U as A,co as G,cp as N,k as x,Y as O,cs as V,T as X,a7 as Y,aV as Z}from"./index-bfbabd78.js";import{T as H}from"./index-a49081c9.js";import{i as J,a as K}from"./icon-collect-active-4272e308.js";import{T as B}from"./index-08b95d7a.js";import{N as Q}from"./Slider-366408cc.js";import{c as tt,d as et,e as at,f as st}from"./api-cd19ff15.js";const it="_container_1dh8a_1",ot="_separator_1dh8a_32",nt="_wrap_1dh8a_36",lt="_content_1dh8a_42",rt="_tools_1dh8a_49",ct="_contentWrap_1dh8a_59",dt="_musicList_1dh8a_65",ut="_wrapList_1dh8a_76",mt="_empty_1dh8a_83",ft="_itemContainer_1dh8a_89",pt="_item_1dh8a_89",_t="_active_1dh8a_110",gt="_arrow_1dh8a_113",vt="_img_1dh8a_116",ht="_title_1dh8a_137",yt="_titleName_1dh8a_144",wt="_titleDes_1dh8a_151",St="_btn_1dh8a_161",bt="_showPlayLoading_1dh8a_183",It="_loadingWrap_1dh8a_186",Ct="_musicStaff_1dh8a_191",Lt="_goBtn_1dh8a_207",At="_favitor_1dh8a_215",Nt="_musicName_1dh8a_233",xt="_staffImgs_1dh8a_241",i={container:it,separator:ot,wrap:nt,content:lt,tools:rt,contentWrap:ct,musicList:dt,wrapList:ut,empty:mt,itemContainer:ft,item:pt,active:_t,arrow:gt,img:vt,title:ht,titleName:yt,titleDes:wt,btn:St,showPlayLoading:bt,loadingWrap:It,musicStaff:Ct,goBtn:Lt,favitor:At,musicName:Nt,staffImgs:xt},kt=""+new URL("icon_back-57d35e72.svg",import.meta.url).href,Pt=""+new URL("icon_separator-7cca8458.svg",import.meta.url).href,Tt=""+new URL("icon_arrow-b4fee1f7.svg",import.meta.url).href,F=""+new URL("icon_play-43b52923.svg",import.meta.url).href,R=""+new URL("icon_pause-6dbc64e3.svg",import.meta.url).href,Bt=""+new URL("icon_goXiaoku-c05e1880.svg",import.meta.url).href,Ft="_container_hsosf_1",Rt="_hidden_hsosf_15",Ut="_item_hsosf_19",Wt="_img_hsosf_25",$t="_rotateImg_hsosf_1",Dt="_svgcontainer_hsosf_50",jt="_progress_hsosf_55",Mt="_title_hsosf_66",zt="_titleName_hsosf_70",Et="_titleDes_hsosf_77",qt="_playBtns_hsosf_89",Gt="_playBtn_hsosf_89",Ot="_timeWrap_hsosf_111",Vt="_timeProgress_hsosf_117",Xt="_time_hsosf_111",l={container:Ft,hidden:Rt,item:Ut,img:Wt,rotateImg:$t,svgcontainer:Dt,progress:jt,title:Mt,titleName:zt,titleDes:Et,playBtns:qt,playBtn:Gt,timeWrap:Ot,timeProgress:Vt,time:Xt},Yt=""+new URL("icon_pre-20929b0c.svg",import.meta.url).href,Zt=""+new URL("icon_next-7dc20456.svg",import.meta.url).href,Ht=w({name:"playItem",props:{item:{type:Object,default:()=>({})},show:{type:Boolean,default:!1},playState:{type:String,default:"pause"}},emits:["change"],setup(o,{emit:m}){let u=null;const n=y({isFirst:!0,duration:0,currentTime:0}),t=k(),v=()=>{if(n.duration=t.value.duration,n.isFirst){n.isFirst=!1;return}o.playState==="play"&&t.value.play()},p=c=>{t.value.pause(),n.currentTime=c,clearTimeout(u),u=setTimeout(()=>{t.value.currentTime=c,o.playState==="play"&&t.value.play(),u=null},300)},g=P(()=>`${L(n.currentTime)} / ${L(n.duration)}`);return $(()=>o.playState,c=>{c==="play"?t.value.play():t.value.pause()}),()=>e("div",{class:[l.container,o.show?l.show:l.hidden]},[e("div",{class:[l.item]},[e("div",{class:l.img},[e(T,{lazy:!0,objectFit:"cover",previewDisabled:!0,src:o.item.titleImg,onLoad:c=>{c.target.dataset.loaded="true"}},null),e("svg",{class:l.svgcontainer},[e("defs",null,[e("linearGradient",{id:"GradientProgress"},[e("stop",{"stop-color":"#5BECFF",offset:"0%"},null),e("stop",{"stop-color":"#259CFE",offset:"100%"},null)])])]),e(D,{type:"circle",class:l.progress,showIndicator:!1,percentage:n.currentTime/n.duration*100},null)]),e("div",{class:l.title},[e("div",{class:l.titleName},[e(B,{text:o.item.musicSheetName},null)]),e("div",{class:l.titleDes},[o.item.composer])]),e("div",{class:l.playBtns},[e(_,{color:"rgba(246,246,246,1)",circle:!0,bordered:!1,onClick:()=>m("change","pre")},{default:()=>[e("img",{src:Yt},null)]}),e(_,{color:"rgba(57,130,246,1)",class:l.playBtn,circle:!0,bordered:!1,onClick:()=>m("change",o.playState==="pause"?"play":"pause")},{default:()=>[e("img",{style:{display:o.playState==="pause"?"":"none",transform:"scale(1.5) translateX(1Px)"},src:F},null),e("img",{style:{display:o.playState==="play"?"":"none",transform:"scale(1.5)"},src:R},null)]}),e(_,{color:"rgba(246,246,246,1)",circle:!0,bordered:!1,onClick:()=>m("change","next")},{default:()=>[e("img",{src:Zt},null)]})]),e("div",{class:l.timeWrap},[e(Q,{tooltip:!1,step:.01,class:l.timeProgress,value:n.currentTime,max:n.duration,"onUpdate:value":c=>p(c)},null),e("div",{class:l.time},[g.value]),e("audio",{ref:t,src:o.item.audioFileUrl||o.item.metronomeUrl,onLoadedmetadata:v,onTimeupdate:()=>{u||(n.currentTime=t.value.currentTime)}},null)])])])}}),Jt="_audioAnimate_29dwa_1",Kt="_musicWave_29dwa_1",Qt={audioAnimate:Jt,musicWave:Kt},te=w({name:"playLoading",setup(){return()=>e("div",{class:Qt.audioAnimate},[e("div",null,null),e("div",null,null),e("div",null,null),e("div",null,null)])}});function ee(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!Z(o)}const ce=w({name:"XiaokuMusic",setup(){const o=j(),m=M(),u=z(),n=y({page:1,rows:20,status:!0,keyword:"",musicSheetCategoriesId:m.query.id||""}),t=y({loading:!1,finshed:!1,reshing:!1,tags:[],tagIndex:0,list:[],listActive:0,playState:"pause",showPlayer:!1}),v=async()=>{const s=await tt();Array.isArray(s==null?void 0:s.data)&&(t.tags=[{name:"全部",id:0},...s.data])},p=async()=>{var a;t.loading=!0;let s={};try{s=await et({...n,musicSubject:t.tagIndex?t.tagIndex:""})}catch(r){console.log(r)}t.reshing&&(t.list=[],t.reshing=!1),(s==null?void 0:s.code)===200&&Array.isArray((a=s==null?void 0:s.data)==null?void 0:a.rows)&&(t.list=[...t.list,...s.data.rows],t.finshed=s.data.rows.length<n.rows,console.log("🚀 ~ data.finshed:",t.finshed)),t.list[t.listActive]&&S(t.list[t.listActive]),t.loading=!1},g=()=>{n.page=1,t.finshed=!1,p()},c=k(),U=()=>{console.log(t.finshed),!(t.loading||t.finshed)&&(n.page=n.page+1,p())};E(async()=>{v(),await p();const s=new IntersectionObserver(a=>{a[0].intersectionRatio>0&&U()});q(()=>{s.observe(c.value)})});const S=async s=>{const a=await at({type:"MUSIC",materialId:s.id});(a==null?void 0:a.code)===200&&(s.favitor=a.data)},W=s=>{const a=t.list.findIndex(r=>r.id===s.id);a>-1&&(t.listActive=a),S(s)},d=P(()=>t.list[t.listActive]||{}),b=()=>{t.list[t.listActive].favitor=!t.list[t.listActive].favitor,st({favoriteFlag:t.list[t.listActive].favitor,type:"MUSIC",materialId:t.list[t.listActive].id})},h=s=>{const a=t.list.findIndex(r=>r.id===s.id);a>-1&&(t.listActive===a?t.playState=t.playState==="play"?"pause":"play":t.playState="play",t.showPlayer=!0,t.listActive=a)},I=s=>{s==="play"?t.playState="play":s==="pause"?t.playState="pause":s==="pre"?t.list[t.listActive-1]&&h(t.list[t.listActive-1]):s==="next"?t.list[t.listActive+1]&&h(t.list[t.listActive+1]):s==="favitor"&&b()};return()=>{let s;return e("div",{class:i.container},[e(A,{align:"center",wrapItem:!1,size:16},{default:()=>[e("img",{style:{cursor:"pointer"},src:kt,onClick:()=>u.push({path:"/xiaoku-ai"})},null),e(G,{separator:""},{default:()=>[e(N,{onClick:()=>u.push({path:"/xiaoku-ai"})},{default:()=>[x("曲谱列表")]}),e("img",{class:i.separator,src:Pt},null),e(N,null,{default:()=>[m.query.name]})]})]}),e("div",{class:i.wrap,style:{paddingBottom:t.showPlayer?"108Px":""}},[e("div",{class:i.content},[e("div",{class:i.tools},[e(A,{style:{width:"100%"},size:[24,12],wrapItem:!1},ee(s=t.tags.map(a=>e(_,{round:!0,textColor:t.tagIndex===a.id?"#fff":"#000",color:t.tagIndex===a.id?"#198CFE":"#fff",onClick:()=>{t.tagIndex=a.id,t.reshing=!0,g()}},{default:()=>[a.name]})))?s:{default:()=>[s]}),e(H,{style:{marginLeft:"auto"},round:!0,onSearch:a=>{n.keyword=a,t.reshing=!0,g()}},null)]),e("div",{class:i.contentWrap},[e("div",{class:i.musicList},[e("div",{class:i.wrapList},[t.list.map((a,r)=>e("div",{class:i.itemContainer},[e("div",{class:[i.item,t.listActive===r&&i.active],onClick:()=>W(a)},[e("div",{class:i.img},[e(T,{lazy:!0,objectFit:"cover",previewDisabled:!0,src:a.titleImg,onLoad:f=>{f.target.dataset.loaded="true"}},null),e(te,{class:[t.listActive===r&&t.playState==="play"?"":i.showPlayLoading]},null)]),e("div",{class:i.title},[e("div",{class:i.titleName},[e(B,{text:a.musicSheetName},null)]),e("div",{class:i.titleDes},[a.composer])]),e(_,{color:"#259CFE",textColor:"#fff",round:!0,class:i.btn,type:"primary",onClick:f=>{f.stopPropagation(),h(a)}},{default:()=>[x("试听"),e("img",{src:t.listActive===r&&t.playState==="play"?R:F},null)]}),e("img",{class:i.arrow,src:Tt},null)])])),!t.finshed&&e("div",{ref:c,class:i.loadingWrap},[e(O,{show:!0},null)]),!t.loading&&t.list.length===0&&e("div",{class:i.empty},[e(V,null,null)])])]),e("div",{class:i.musicStaff},[e("div",{class:i.musicName},[d.value.musicSheetName]),e("img",{style:{display:d.value.id?"":"none"},class:i.goBtn,src:Bt,onClick:()=>{I("pause");const r=`${/(localhost|192)/.test(location.host)?"https://test.lexiaoya.cn":location.origin}/instrument?platform=pc&id=${d.value.id}&Authorization=${o.getToken}`;window.open(r)}},null),e("div",{style:{display:d.value.id?"":"none"},class:i.favitor,onClick:()=>b()},[e(X,{name:"favitor",mode:"out-in"},{default:()=>[d.value.favitor?e("img",{src:J,key:"1"},null):e("img",{src:K,key:"2"},null)]})]),e("div",{class:i.staffImgs},[e(Y,{name:"van-fade"},{default:()=>{var a,r,f;return[(f=((a=d.value)==null?void 0:a.musicSvg)||((r=d.value)==null?void 0:r.musicImg))==null?void 0:f.split(",").map((C,ae)=>e("img",{src:C,key:C},null))]}})])])])])]),t.list.length!==0&&e(Ht,{show:t.showPlayer,playState:t.playState,item:d.value,onChange:a=>I(a)},null)])}}});export{ce as default};