diff --git a/src/components/base/Audio.vue b/src/components/base/Audio.vue index 25bd3726..5711be6a 100644 --- a/src/components/base/Audio.vue +++ b/src/components/base/Audio.vue @@ -119,9 +119,14 @@ const handlePause = () => { isPlaying.value = false; }; +const emit = defineEmits<{ + ended: [] +}>(); + const handleEnded = () => { isPlaying.value = false; currentTime.value = 0; + emit('ended'); }; const handleError = () => { diff --git a/src/pages/article/BookDetail.vue b/src/pages/article/BookDetail.vue index ff8ca796..1f38c074 100644 --- a/src/pages/article/BookDetail.vue +++ b/src/pages/article/BookDetail.vue @@ -33,6 +33,16 @@ let studyLoading = $ref(false) let selectArticle: Article = $ref(getDefaultArticle()) +// 计算当前选中文章的索引 +const currentArticleIndex = computed(() => { + return runtimeStore.editDict.articles.findIndex(article => article.id === selectArticle.id) +}) + +// 处理播放下一个音频 +const handlePlayNext = (nextArticle: Article) => { + selectArticle = nextArticle +} + function handleCheckedChange(val) { selectArticle = val.item } @@ -191,7 +201,11 @@ const totalSpend = $computed(() => {