1 |
- import{T as _}from"./index-0224b3e0.js";import{d as y,u as T,e as m,n as C,f as a,v as g,F as v,j as f,A,y as N,b3 as B}from"./index-ed98db36.js";import{a as w,b}from"./api-bec38f71.js";import{T as k}from"./index-a6b6ac0b.js";const S="_container_1u37v_1",j="_tools_1u37v_8",z="_tagWrap_1u37v_22",W="_tags_1u37v_26",F="_firstButton_1u37v_29",x="_content_1u37v_44",L="_item_1u37v_48",O="_cover_1u37v_54",V="_itemImg_1u37v_71",q="_itemBg_1u37v_101",D="_itemName_1u37v_126",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=m({musicTagIds:[],enable:!0,keyword:"",page:1,rows:9999}),s=m({tags:[],tagChildren:[],tagActiveId:"",tagActive:{},list:[],loading:!1}),p=async()=>{const t=await w();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}},d=async()=>{var e;s.loading=!0;const t=await b({...c,musicTagIds:[s.tagActiveId,...c.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)=>{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&&u(i,e)};C(async()=>{await p(),d()});const h=(t,e)=>{s.tagActiveId=t.id,c.musicTagIds=[];const n=[];u(s.tags[e].children,n),s.tagChildren=n,d()},I=(t,e)=>{const n=s.tagChildren[t].list[s.tagChildren[t].activeIndex],i=s.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),s.tagChildren[t].activeIndex=-1):(c.musicTagIds.push(i.id),s.tagChildren[t].activeIndex=e),d()};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(g,{size:[20,12]},{default:()=>{var e,n;return[a("span",{class:r.firstButton},[(n=(e=s.tags)==null?void 0:e[0])==null?void 0:n.columnName]),s.tags.map((i,o)=>a(v,null,[a(f,{round:!0,secondary:s.tagActiveId!==i.id,type:s.tagActiveId===i.id?"primary":"default",onClick:()=>h(i,o)},{default:()=>[i.name]})]))]}})]),s.tagChildren.map((e,n)=>a("div",{class:r.tags},[a(g,{size:[24,12]},{default:()=>[a("span",{class:r.firstButton},[e.columnName]),e.list.map((i,o)=>a(v,null,[a(f,{round:!0,secondary:e.activeIndex!==o,type:e.activeIndex===o?"primary":"default",onClick:()=>I(n,o)},{default:()=>[i.name]})]))]})]))]),a(_,{round:!0,onSearch:e=>{c.keyword=e,d()}},null)]),a(A,{show:s.loading},{default:()=>[a("div",{class:r.content},[s.list.length>0?a(g,{size:[50,40]},E(t=s.list.map((e,n)=>a("div",{class:r.item,key:"item-".concat(n),onClick:()=>l.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(N,{objectFit:"cover",src:e.coverImg,lazy:!0,previewDisabled:!0,onLoad:i=>{i.target.dataset.loaded="true"}},null)])]),a("div",{class:r.itemName},[e.name])])))?t:{default:()=>[t]}):a(k,null,null)])]})])}}});export{$ as default};
|