feat: 添加心动模式播放

This commit is contained in:
alger
2025-10-22 22:48:52 +08:00
parent 9bf513d35d
commit 3527da17da
13 changed files with 304 additions and 89 deletions
+60
View File
@@ -0,0 +1,60 @@
import { computed } from 'vue';
import { useI18n } from 'vue-i18n';
import { usePlayerStore } from '@/store/modules/player';
/**
* 播放模式相关的 Hook
* 提供播放模式的图标、文本和切换功能
*/
export function usePlayMode() {
const { t } = useI18n();
const playerStore = usePlayerStore();
// 当前播放模式
const playMode = computed(() => playerStore.playMode);
// 播放模式图标
const playModeIcon = computed(() => {
switch (playMode.value) {
case 0:
return 'ri-repeat-2-line';
case 1:
return 'ri-repeat-one-line';
case 2:
return 'ri-shuffle-line';
case 3:
return 'ri-heart-pulse-line';
default:
return 'ri-repeat-2-line';
}
});
// 播放模式文本
const playModeText = computed(() => {
switch (playMode.value) {
case 0:
return t('player.playBar.playMode.sequence');
case 1:
return t('player.playBar.playMode.loop');
case 2:
return t('player.playBar.playMode.random');
case 3:
return t('player.playBar.intelligenceMode.title');
default:
return t('player.playBar.playMode.sequence');
}
});
// 切换播放模式
const togglePlayMode = () => {
playerStore.togglePlayMode();
};
return {
playMode,
playModeIcon,
playModeText,
togglePlayMode
};
}