|  | @@ -1,8 +1,84 @@
 | 
	
		
			
				|  |  | -import { defineComponent } from "vue";
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  TransitionGroup,
 | 
	
		
			
				|  |  | +  defineComponent,
 | 
	
		
			
				|  |  | +  onMounted,
 | 
	
		
			
				|  |  | +  reactive,
 | 
	
		
			
				|  |  | +  ref
 | 
	
		
			
				|  |  | +} from 'vue';
 | 
	
		
			
				|  |  | +import styles from './index.module.less';
 | 
	
		
			
				|  |  | +import TheSearch from '@/components/TheSearch';
 | 
	
		
			
				|  |  | +import { NButton, NImage, NSpace } from 'naive-ui';
 | 
	
		
			
				|  |  | +import { getImage } from './image';
 | 
	
		
			
				|  |  | +import { useRouter } from 'vue-router';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  | -    name: 'XiaokuAi',
 | 
	
		
			
				|  |  | -    setup(){
 | 
	
		
			
				|  |  | -        return () => <div></div>
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -})
 | 
	
		
			
				|  |  | +  name: 'XiaokuAi',
 | 
	
		
			
				|  |  | +  setup() {
 | 
	
		
			
				|  |  | +    const router = useRouter();
 | 
	
		
			
				|  |  | +    const data = reactive({
 | 
	
		
			
				|  |  | +      tags: [
 | 
	
		
			
				|  |  | +        { name: '全部', id: 0 },
 | 
	
		
			
				|  |  | +        { name: '人教版', id: 1 },
 | 
	
		
			
				|  |  | +        { name: '声部训练', id: 2 },
 | 
	
		
			
				|  |  | +        { name: '小曲目', id: 3 },
 | 
	
		
			
				|  |  | +        { name: '考级曲目', id: 4 }
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +      tagIndex: 0,
 | 
	
		
			
				|  |  | +      list: [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          name: '一年级上册人教版(2013版)',
 | 
	
		
			
				|  |  | +          src: ''
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      ]
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    return () => (
 | 
	
		
			
				|  |  | +      <div class={styles.container}>
 | 
	
		
			
				|  |  | +        <div class={styles.tools}>
 | 
	
		
			
				|  |  | +          <div class={styles.tags}>
 | 
	
		
			
				|  |  | +            <NSpace size={[24, 12]}>
 | 
	
		
			
				|  |  | +              {data.tags.map((item, index) => (
 | 
	
		
			
				|  |  | +                <NButton
 | 
	
		
			
				|  |  | +                  round
 | 
	
		
			
				|  |  | +                  secondary={data.tagIndex !== index}
 | 
	
		
			
				|  |  | +                  type={data.tagIndex === index ? 'primary' : 'default'}
 | 
	
		
			
				|  |  | +                  class={[
 | 
	
		
			
				|  |  | +                    styles.tag,
 | 
	
		
			
				|  |  | +                    data.tagIndex === index ? styles.active : ''
 | 
	
		
			
				|  |  | +                  ]}
 | 
	
		
			
				|  |  | +                  onClick={() => (data.tagIndex = index)}>
 | 
	
		
			
				|  |  | +                  {item.name}
 | 
	
		
			
				|  |  | +                </NButton>
 | 
	
		
			
				|  |  | +              ))}
 | 
	
		
			
				|  |  | +            </NSpace>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +          <TheSearch round />
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div class={styles.content}>
 | 
	
		
			
				|  |  | +          <NSpace size={[50, 40]}>
 | 
	
		
			
				|  |  | +            {new Array(30).fill(data.list[0]).map((item, index) => {
 | 
	
		
			
				|  |  | +              const _index = index > 5 ? index % 5 : index;
 | 
	
		
			
				|  |  | +              return (
 | 
	
		
			
				|  |  | +                <div
 | 
	
		
			
				|  |  | +                  class={styles.item}
 | 
	
		
			
				|  |  | +                  key={`item-${index}`}
 | 
	
		
			
				|  |  | +                  onClick={() => router.push({ path: '/xiaoku-music' })}>
 | 
	
		
			
				|  |  | +                  <div class={styles.cover}>
 | 
	
		
			
				|  |  | +                    <div class={styles.itemImg}>
 | 
	
		
			
				|  |  | +                      <NImage
 | 
	
		
			
				|  |  | +                        objectFit="contain"
 | 
	
		
			
				|  |  | +                        src={getImage(`${_index}.png`)}
 | 
	
		
			
				|  |  | +                        lazy
 | 
	
		
			
				|  |  | +                        previewDisabled={true}
 | 
	
		
			
				|  |  | +                      />
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                  <div class={styles.itemName}>{item.name}</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              );
 | 
	
		
			
				|  |  | +            })}
 | 
	
		
			
				|  |  | +          </NSpace>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    );
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +});
 |