index-fda91377.js 3.2 KB

1
  1. import{T as _}from"./index-6eb2661b.js";import{d as y,u as T,e as u,n as C,f as s,v as m,F as f,j as p,A,y as N,b3 as B}from"./index-15a3af56.js";import{a as w,b}from"./api-deaaeed5.js";import{T as k}from"./index-638c80b8.js";const S="_container_1imgs_1",j="_tools_1imgs_8",z="_tagWrap_1imgs_26",W="_tags_1imgs_30",F="_firstButton_1imgs_33",x="_content_1imgs_48",L="_item_1imgs_52",O="_cover_1imgs_58",V="_itemImg_1imgs_75",q="_itemBg_1imgs_105",D="_itemName_1imgs_130",r={container:S,tools:j,tagWrap:z,tags:W,firstButton:F,content:x,item:L,cover:O,itemImg:V,itemBg:q,itemName:D};function E(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!B(l)}const $=y({name:"XiaokuAi",setup(){const l=T(),c=u({musicTagIds:[],enable:!0,keyword:"",page:1,rows:9999}),a=u({tags:[],tagChildren:[],tagActiveId:"",tagActive:{},list:[],loading:!1}),v=async()=>{const t=await w();if(Array.isArray(t==null?void 0:t.data)&&t.data.length){a.tags=t.data,a.tagActiveId=t.data[0].id;const e=[];g(t.data[0].children,e),a.tagChildren=e}},d=async()=>{var e;a.loading=!0;const t=await b({...c,musicTagIds:[a.tagActiveId,...c.musicTagIds].filter(Boolean)});Array.isArray((e=t==null?void 0:t.data)==null?void 0:e.rows)&&(a.list=t.data.rows),a.loading=!1},g=(t,e)=>{if(!(t!=null&&t.length))return;const n={columnName:t[0].columnName,list:[]},i=[];for(let o=0;o<t.length;o++)n.list.push({name:t[o].name,id:t[o].id,activeIndex:-1}),t[o].children&&i.push(...t[o].children);e.push(n),i.length&&g(i,e)};C(async()=>{await v(),d()});const h=(t,e)=>{a.tagActiveId=t.id,c.musicTagIds=[];const n=[];g(a.tags[e].children,n),a.tagChildren=n,d()},I=(t,e)=>{const n=a.tagChildren[t].list[a.tagChildren[t].activeIndex],i=a.tagChildren[t].list[e];n&&n.id!==i.id&&(c.musicTagIds=c.musicTagIds.filter(o=>o!==n.id)),c.musicTagIds.includes(i.id)?(c.musicTagIds=c.musicTagIds.filter(o=>o!==i.id),a.tagChildren[t].activeIndex=-1):(c.musicTagIds.push(i.id),a.tagChildren[t].activeIndex=e),d()};return()=>{let t;return s("div",{class:r.container},[s("div",{class:r.tools},[s("div",{class:r.tagWrap},[s("div",{class:r.tags},[s(m,{size:[20,12]},{default:()=>{var e,n;return[s("span",{class:r.firstButton},[(n=(e=a.tags)==null?void 0:e[0])==null?void 0:n.columnName]),a.tags.map((i,o)=>s(f,null,[s(p,{round:!0,secondary:a.tagActiveId!==i.id,type:a.tagActiveId===i.id?"primary":"default",onClick:()=>h(i,o)},{default:()=>[i.name]})]))]}})]),a.tagChildren.map((e,n)=>s("div",{class:r.tags},[s(m,{size:[24,12]},{default:()=>[s("span",{class:r.firstButton},[e.columnName]),e.list.map((i,o)=>s(f,null,[s(p,{round:!0,secondary:e.activeIndex!==o,type:e.activeIndex===o?"primary":"default",onClick:()=>I(n,o)},{default:()=>[i.name]})]))]})]))]),s(_,{round:!0,onSearch:e=>{c.keyword=e,d()}},null)]),s(A,{show:a.loading},{default:()=>[s("div",{class:r.content},[a.list.length>0?s(m,{size:[50,40]},E(t=a.list.map((e,n)=>s("div",{class:r.item,key:`item-${n}`,onClick:()=>l.push({path:"/xiaoku-music",query:{id:e.id,name:e.name}})},[s("div",{class:r.cover},[s("div",{class:r.itemImg},[s("div",{class:r.itemBg},null),s(N,{objectFit:"cover",src:e.coverImg,lazy:!0,previewDisabled:!0,onLoad:i=>{i.target.dataset.loaded="true"}},null)])]),s("div",{class:r.itemName},[e.name])])))?t:{default:()=>[t]}):s(k,null,null)])]})])}}});export{$ as default};