index-3ca1f3e5.js 3.2 KB

1
  1. import{T as _}from"./index-a8268a6c.js";import{d as y,u as T,e as u,n as b,f as a,v as g,F as f,j as p,A as C,y as A,b3 as N}from"./index-a6d6496c.js";import{a as q,b as B}from"./api-7c4b7762.js";import{T as w}from"./index-b2ac38ee.js";const k="_container_m7b7q_1",S="_tools_m7b7q_7",j="_tagWrap_m7b7q_21",z="_tags_m7b7q_25",W="_firstButton_m7b7q_28",F="_content_m7b7q_43",x="_item_m7b7q_47",L="_cover_m7b7q_53",O="_itemImg_m7b7q_70",V="_itemBg_m7b7q_100",D="_itemName_m7b7q_125",r={container:k,tools:S,tagWrap:j,tags:z,firstButton:W,content:F,item:x,cover:L,itemImg:O,itemBg:V,itemName:D};function E(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!N(l)}const $=y({name:"XiaokuAi",setup(){const l=T(),c=u({musicTagIds:[],enable:!0,keyword:"",page:1,rows:9999}),s=u({tags:[],tagChildren:[],tagActiveId:"",tagActive:{},list:[],loading:!1}),v=async()=>{const t=await q();if(Array.isArray(t==null?void 0:t.data)&&t.data.length){s.tags=t.data,s.tagActiveId=t.data[0].id;const e=[];m(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},m=(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&&m(i,e)};b(async()=>{await v(),d()});const h=(t,e)=>{s.tagActiveId=t.id,c.musicTagIds=[];const n=[];m(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(f,null,[a(p,{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(f,null,[a(p,{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(C,{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-${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(A,{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(w,null,null)])]})])}}});export{$ as default};