From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/views/ai/music/index/list/songCard/index.vue | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/src/views/ai/music/index/list/songCard/index.vue b/src/views/ai/music/index/list/songCard/index.vue
new file mode 100644
index 0000000..0534251
--- /dev/null
+++ b/src/views/ai/music/index/list/songCard/index.vue
@@ -0,0 +1,36 @@
+<template>
+ <div class="flex bg-[var(--el-bg-color-overlay)] p-12px mb-12px rounded-1">
+ <div class="relative" @click="playSong">
+ <el-image :src="songInfo.imageUrl" class="flex-none w-80px"/>
+ <div class="bg-black bg-op-40 absolute top-0 left-0 w-full h-full flex items-center justify-center cursor-pointer">
+ <Icon :icon="currentSong.id === songInfo.id ? 'solar:pause-circle-bold':'mdi:arrow-right-drop-circle'" :size="30" />
+ </div>
+ </div>
+ <div class="ml-8px">
+ <div>{{ songInfo.title }}</div>
+ <div class="mt-8px text-12px text-[var(--el-text-color-secondary)] line-clamp-2">
+ {{ songInfo.desc }}
+ </div>
+ </div>
+ </div>
+</template>
+
+<script lang="ts" setup>
+
+defineOptions({ name: 'Index' })
+
+defineProps({
+ songInfo: {
+ type: Object,
+ default: () => ({})
+ }
+})
+
+const emits = defineEmits(['play'])
+
+const currentSong = inject('currentSong', {})
+
+function playSong () {
+ emits('play')
+}
+</script>
--
Gitblit v1.8.0