index-70fd0f20.js 3.1 KB

1
  1. import{T as I}from"./index-bb8f5d60.js";import{d as y,u as T,e as p,q as j,f as a,B as m,j as g,F as f,bX as C,o as z,aG as N}from"./index-b5a12e99.js";import{a as x,b as A}from"./api-291ee5fb.js";const w="_container_ecxzj_1",b="_tools_ecxzj_7",k="_tagWrap_ecxzj_21",B="_tags_ecxzj_25",S="_content_ecxzj_34",q="_item_ecxzj_38",W="_cover_ecxzj_44",F="_itemImg_ecxzj_61",L="_itemBg_ecxzj_91",O="_itemName_ecxzj_116",r={container:w,tools:b,tagWrap:k,tags:B,content:S,item:q,cover:W,itemImg:F,itemBg:L,itemName:O};function V(d){return typeof d=="function"||Object.prototype.toString.call(d)==="[object Object]"&&!N(d)}const M=y({name:"XiaokuAi",setup(){const d=T(),o=p({musicTagIds:[],keyword:"",page:1,rows:9999}),s=p({tags:[],tagChildren:[],tagActiveId:"",tagActive:{},list:[],loading:!1}),v=async()=>{const t=await x();if(Array.isArray(t==null?void 0:t.data)&&t.data.length){s.tags=t.data,s.tagActiveId=t.data[0].id;const e=[];u(t.data[0].children,e),s.tagChildren=e}},l=async()=>{var e;s.loading=!0;const t=await A({...o,musicTagIds:[s.tagActiveId,...o.musicTagIds].filter(Boolean)});Array.isArray((e=t==null?void 0:t.data)==null?void 0:e.rows)&&(s.list=t.data.rows),s.loading=!1},u=(t,e)=>{const i={columnName:t[0].columnName,list:[]},n=[];for(let c=0;c<t.length;c++)i.list.push({name:t[c].name,id:t[c].id,activeIndex:-1}),t[c].children&&n.push(...t[c].children);e.push(i),n.length&&u(n,e)};j(async()=>{await v(),l()});const h=(t,e)=>{s.tagActiveId=t.id,o.musicTagIds=[];const i=[];u(s.tags[e].children,i),s.tagChildren=i,l()},_=(t,e)=>{const i=s.tagChildren[t].list[s.tagChildren[t].activeIndex],n=s.tagChildren[t].list[e];i&&i.id!==n.id&&(o.musicTagIds=o.musicTagIds.filter(c=>c!==i.id)),o.musicTagIds.includes(n.id)?(o.musicTagIds=o.musicTagIds.filter(c=>c!==n.id),s.tagChildren[t].activeIndex=-1):(o.musicTagIds.push(n.id),s.tagChildren[t].activeIndex=e),l()};return()=>{let t;return a("div",{class:r.container},[a("div",{class:r.tools},[a("div",{class:r.tagWrap},[a("div",{class:r.tags},[a(m,{size:[24,12]},{default:()=>[a(g,{quaternary:!0,disabled:!0},{default:()=>{var e;return[(e=s.tags[0])==null?void 0:e.columnName]}}),s.tags.map((e,i)=>a(f,null,[a(g,{round:!0,secondary:!0,type:s.tagActiveId===e.id?"primary":"default",onClick:()=>h(e,i)},{default:()=>[e.name]})]))]})]),s.tagChildren.map((e,i)=>a("div",{class:r.tags},[a(m,{size:[24,12]},{default:()=>[a(g,{quaternary:!0,disabled:!0},{default:()=>[e.columnName]}),e.list.map((n,c)=>a(f,null,[a(g,{round:!0,secondary:!0,type:e.activeIndex===c?"primary":"default",onClick:()=>_(i,c)},{default:()=>[n.name]})]))]})]))]),a(I,{round:!0,onSearch:e=>{o.keyword=e,l()}},null)]),a(C,{show:s.loading},{default:()=>[a("div",{class:r.content},[a(m,{size:[50,40]},V(t=s.list.map((e,i)=>a("div",{class:r.item,key:`item-${i}`,onClick:()=>d.push({path:"/xiaoku-music",query:{id:e.id,name:e.name}})},[a("div",{class:r.cover},[a("div",{class:r.itemImg},[a("div",{class:r.itemBg},null),a(z,{objectFit:"cover",src:e.coverImg,lazy:!0,previewDisabled:!0,onLoad:n=>{n.target.dataset.loaded="true"}},null)])]),a("div",{class:r.itemName},[e.name])])))?t:{default:()=>[t]})])]})])}}});export{M as default};