index-2eea50c2.js 3.1 KB

1
  1. import{T as I}from"./index-e617d39a.js";import{d as y,u as T,e as f,q as C,f as a,X as m,j as u,k as q,F as p,a2 as N,o as A,a$ as w}from"./index-8685d52d.js";import{a as k,b}from"./api-22a8c1a8.js";import{T as B}from"./index-26be0f05.js";const S="_container_1uq38_1",j="_tools_1uq38_7",z="_tagWrap_1uq38_21",W="_tags_1uq38_25",x="_content_1uq38_37",F="_item_1uq38_41",V="_cover_1uq38_47",L="_itemImg_1uq38_64",O="_itemBg_1uq38_94",X="_itemName_1uq38_119",c={container:S,tools:j,tagWrap:z,tags:W,content:x,item:F,cover:V,itemImg:L,itemBg:O,itemName:X};function $(d){return typeof d=="function"||Object.prototype.toString.call(d)==="[object Object]"&&!w(d)}const R=y({name:"XiaokuAi",setup(){const d=T(),o=f({musicTagIds:[],keyword:"",page:1,rows:9999}),s=f({tags:[],tagChildren:[],tagActiveId:"",tagActive:{},list:[],loading:!1}),v=async()=>{const t=await k();if(Array.isArray(t==null?void 0:t.data)&&t.data.length){s.tags=t.data,s.tagActiveId=t.data[0].id;const e=[];g(t.data[0].children,e),s.tagChildren=e}},l=async()=>{var e;s.loading=!0;const t=await b({...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},g=(t,e)=>{const i={columnName:t[0].columnName,list:[]},r=[];for(let n=0;n<t.length;n++)i.list.push({name:t[n].name,id:t[n].id,activeIndex:-1}),t[n].children&&r.push(...t[n].children);e.push(i),r.length&&g(r,e)};C(async()=>{await v(),l()});const h=(t,e)=>{s.tagActiveId=t.id,o.musicTagIds=[];const i=[];g(s.tags[e].children,i),s.tagChildren=i,l()},_=(t,e)=>{const i=s.tagChildren[t].list[s.tagChildren[t].activeIndex],r=s.tagChildren[t].list[e];i&&i.id!==r.id&&(o.musicTagIds=o.musicTagIds.filter(n=>n!==i.id)),o.musicTagIds.includes(r.id)?(o.musicTagIds=o.musicTagIds.filter(n=>n!==r.id),s.tagChildren[t].activeIndex=-1):(o.musicTagIds.push(r.id),s.tagChildren[t].activeIndex=e),l()};return()=>{let t;return a("div",{class:c.container},[a("div",{class:c.tools},[a("div",{class:c.tagWrap},[a("div",{class:c.tags},[a(m,{size:[24,12]},{default:()=>[a(u,{quaternary:!0,disabled:!0},{default:()=>[q("类型")]}),s.tags.map((e,i)=>a(p,null,[a(u,{round:!0,secondary:s.tagActiveId!==e.id,type:s.tagActiveId===e.id?"primary":"default",onClick:()=>h(e,i)},{default:()=>[e.name]})]))]})]),s.tagChildren.map((e,i)=>a("div",{class:c.tags},[a(m,{size:[24,12]},{default:()=>[a(u,{quaternary:!0,disabled:!0},{default:()=>[e.columnName]}),e.list.map((r,n)=>a(p,null,[a(u,{round:!0,secondary:e.activeIndex!==n,type:e.activeIndex===n?"primary":"default",onClick:()=>_(i,n)},{default:()=>[r.name]})]))]})]))]),a(I,{round:!0,onSearch:e=>{o.keyword=e,l()}},null)]),a(N,{show:s.loading},{default:()=>[a("div",{class:c.content},[s.list.length>0?a(m,{size:[50,40]},$(t=s.list.map((e,i)=>a("div",{class:c.item,key:`item-${i}`,onClick:()=>d.push({path:"/xiaoku-music",query:{id:e.id,name:e.name}})},[a("div",{class:c.cover},[a("div",{class:c.itemImg},[a("div",{class:c.itemBg},null),a(A,{objectFit:"cover",src:e.coverImg,lazy:!0,previewDisabled:!0,onLoad:r=>{r.target.dataset.loaded="true"}},null)])]),a("div",{class:c.itemName},[e.name])])))?t:{default:()=>[t]}):a(B,null,null)])]})])}}});export{R as default};