@@ -49,8 +96,10 @@ function audioTimeUpdate(args: any) {
:width="45"
/>
-
{{ currentSong.name }}
-
{{ currentSong.singer }}
+
{{ currentSong.title || '暂无音乐' }}
+
+ {{ currentSong.singer || currentSong.desc }}
+
@@ -74,19 +123,26 @@ function audioTimeUpdate(args: any) {
/>
{{ audioProps.currentTime }}
-
+
{{ audioProps.duration }}
+ @loadedmetadata="audioLoadedMetadata"
+ >
import type { Recordable } from '@vben/types';
+import type { MusicSong } from './types';
import { provide, ref } from 'vue';
@@ -8,14 +9,15 @@ import { Col, Empty, Row, TabPane, Tabs } from 'ant-design-vue';
import audioBar from './audioBar/index.vue';
import songCard from './songCard/index.vue';
import songInfo from './songInfo/index.vue';
+import { currentSongKey } from './types';
defineOptions({ name: 'AiMusicListIndex' });
const currentType = ref('mine');
const loading = ref(false); // loading 状态
-const currentSong = ref({}); // 当前音乐
-const mySongList = ref[]>([]);
-const squareSongList = ref[]>([]);
+const currentSong = ref({}); // 当前音乐
+const mySongList = ref([]);
+const squareSongList = ref([]);
function generateMusic(_formData: Recordable) {
loading.value = true;
@@ -45,7 +47,7 @@ function generateMusic(_formData: Recordable) {
}, 3000);
}
-function setCurrentSong(music: Recordable) {
+function setCurrentSong(music: MusicSong) {
currentSong.value = music;
}
@@ -53,7 +55,7 @@ defineExpose({
generateMusic,
});
-provide('currentSong', currentSong);
+provide(currentSongKey, currentSong);
diff --git a/apps/web-antd/src/views/ai/music/index/list/songCard/index.vue b/apps/web-antd/src/views/ai/music/index/list/songCard/index.vue
index 723b33793..930c7b69e 100644
--- a/apps/web-antd/src/views/ai/music/index/list/songCard/index.vue
+++ b/apps/web-antd/src/views/ai/music/index/list/songCard/index.vue
@@ -1,22 +1,23 @@
diff --git a/apps/web-antdv-next/src/views/ai/music/index/list/audioBar/index.vue b/apps/web-antdv-next/src/views/ai/music/index/list/audioBar/index.vue
index ab6430f37..f81267197 100644
--- a/apps/web-antdv-next/src/views/ai/music/index/list/audioBar/index.vue
+++ b/apps/web-antdv-next/src/views/ai/music/index/list/audioBar/index.vue
@@ -1,17 +1,22 @@
@@ -49,8 +96,10 @@ function audioTimeUpdate(args: any) {
:width="45"
/>
-
{{ currentSong.name }}
-
{{ currentSong.singer }}
+
{{ currentSong.title || '暂无音乐' }}
+
+ {{ currentSong.singer || currentSong.desc }}
+
@@ -74,19 +123,26 @@ function audioTimeUpdate(args: any) {
/>
{{ audioProps.currentTime }}
-
+
{{ audioProps.duration }}
+ @loadedmetadata="audioLoadedMetadata"
+ >
import type { Recordable } from '@vben/types';
+import type { MusicSong } from './types';
import { provide, ref } from 'vue';
@@ -8,14 +9,15 @@ import { Col, Empty, Row, TabPane, Tabs } from 'antdv-next';
import audioBar from './audioBar/index.vue';
import songCard from './songCard/index.vue';
import songInfo from './songInfo/index.vue';
+import { currentSongKey } from './types';
defineOptions({ name: 'AiMusicListIndex' });
const currentType = ref('mine');
const loading = ref(false); // loading 状态
-const currentSong = ref({}); // 当前音乐
-const mySongList = ref[]>([]);
-const squareSongList = ref[]>([]);
+const currentSong = ref({}); // 当前音乐
+const mySongList = ref([]);
+const squareSongList = ref([]);
function generateMusic(_formData: Recordable) {
loading.value = true;
@@ -45,7 +47,7 @@ function generateMusic(_formData: Recordable) {
}, 3000);
}
-function setCurrentSong(music: Recordable) {
+function setCurrentSong(music: MusicSong) {
currentSong.value = music;
}
@@ -53,7 +55,7 @@ defineExpose({
generateMusic,
});
-provide('currentSong', currentSong);
+provide(currentSongKey, currentSong);
diff --git a/apps/web-antdv-next/src/views/ai/music/index/list/songCard/index.vue b/apps/web-antdv-next/src/views/ai/music/index/list/songCard/index.vue
index 995015cf8..bcd2da40e 100644
--- a/apps/web-antdv-next/src/views/ai/music/index/list/songCard/index.vue
+++ b/apps/web-antdv-next/src/views/ai/music/index/list/songCard/index.vue
@@ -1,22 +1,23 @@
diff --git a/apps/web-ele/src/views/ai/music/index/list/audioBar/index.vue b/apps/web-ele/src/views/ai/music/index/list/audioBar/index.vue
index 59960dc1f..cfbc38d9e 100644
--- a/apps/web-ele/src/views/ai/music/index/list/audioBar/index.vue
+++ b/apps/web-ele/src/views/ai/music/index/list/audioBar/index.vue
@@ -1,17 +1,22 @@
@@ -49,8 +96,10 @@ function audioTimeUpdate(args: any) {
class="!w-[45px]"
/>
-
{{ currentSong.name }}
-
{{ currentSong.singer }}
+
{{ currentSong.title || '暂无音乐' }}
+
+ {{ currentSong.singer || currentSong.desc }}
+
@@ -74,19 +123,26 @@ function audioTimeUpdate(args: any) {
/>
{{ audioProps.currentTime }}
-
+
{{ audioProps.duration }}
+ @loadedmetadata="audioLoadedMetadata"
+ >
import type { Recordable } from '@vben/types';
+import type { MusicSong } from './types';
import { provide, ref } from 'vue';
@@ -8,14 +9,15 @@ import { ElCol, ElEmpty, ElRow, ElTabPane, ElTabs } from 'element-plus';
import audioBar from './audioBar/index.vue';
import songCard from './songCard/index.vue';
import songInfo from './songInfo/index.vue';
+import { currentSongKey } from './types';
defineOptions({ name: 'AiMusicListIndex' });
const currentType = ref('mine');
const loading = ref(false); // loading 状态
-const currentSong = ref({}); // 当前音乐
-const mySongList = ref[]>([]);
-const squareSongList = ref[]>([]);
+const currentSong = ref({}); // 当前音乐
+const mySongList = ref([]);
+const squareSongList = ref([]);
function generateMusic(_formData: Recordable) {
loading.value = true;
@@ -45,7 +47,7 @@ function generateMusic(_formData: Recordable) {
}, 3000);
}
-function setCurrentSong(music: Recordable) {
+function setCurrentSong(music: MusicSong) {
currentSong.value = music;
}
@@ -53,7 +55,7 @@ defineExpose({
generateMusic,
});
-provide('currentSong', currentSong);
+provide(currentSongKey, currentSong);
diff --git a/apps/web-ele/src/views/ai/music/index/list/songCard/index.vue b/apps/web-ele/src/views/ai/music/index/list/songCard/index.vue
index 2d7bdb661..3a114d18c 100644
--- a/apps/web-ele/src/views/ai/music/index/list/songCard/index.vue
+++ b/apps/web-ele/src/views/ai/music/index/list/songCard/index.vue
@@ -1,22 +1,23 @@