新增“不喜欢歌曲”功能&新增“收藏歌曲”、“取消收藏”、“不喜欢该歌曲”快捷键设置
This commit is contained in:
@@ -201,6 +201,7 @@ export default {
|
||||
handleSearch,
|
||||
handleOpenMusicDetail,
|
||||
handleCopyName,
|
||||
handleDislikeMusic,
|
||||
handleRemoveMusic,
|
||||
} = useMusicActions({ props, list, removeAllSelect, selectedList })
|
||||
|
||||
@@ -223,6 +224,7 @@ export default {
|
||||
handleShowSortModal,
|
||||
handleOpenMusicDetail,
|
||||
handleCopyName,
|
||||
handleDislikeMusic,
|
||||
handleRemoveMusic,
|
||||
})
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { computed, ref, shallowReactive, reactive, nextTick } from '@common/utils/vueTools'
|
||||
import musicSdk from '@renderer/utils/musicSdk'
|
||||
import { useI18n } from '@renderer/plugins/i18n'
|
||||
import { hasDislike } from '@renderer/core/dislikeList'
|
||||
|
||||
export default ({
|
||||
assertApiSupport,
|
||||
@@ -15,6 +16,7 @@ export default ({
|
||||
handleShowSortModal,
|
||||
handleOpenMusicDetail,
|
||||
handleCopyName,
|
||||
handleDislikeMusic,
|
||||
handleRemoveMusic,
|
||||
}) => {
|
||||
const itemMenuControl = reactive({
|
||||
@@ -26,6 +28,7 @@ export default ({
|
||||
sort: true,
|
||||
download: true,
|
||||
search: true,
|
||||
dislike: true,
|
||||
remove: true,
|
||||
sourceDetail: true,
|
||||
})
|
||||
@@ -80,6 +83,11 @@ export default ({
|
||||
action: 'search',
|
||||
disabled: !itemMenuControl.search,
|
||||
},
|
||||
{
|
||||
name: t('list__dislike'),
|
||||
action: 'dislike',
|
||||
disabled: !itemMenuControl.dislike,
|
||||
},
|
||||
{
|
||||
name: t('list__remove'),
|
||||
action: 'remove',
|
||||
@@ -94,6 +102,8 @@ export default ({
|
||||
// itemMenuControl.playLater =
|
||||
itemMenuControl.download = assertApiSupport(musicInfo.source) && musicInfo.source != 'local'
|
||||
|
||||
itemMenuControl.dislike = !hasDislike(musicInfo)
|
||||
|
||||
menuLocation.x = event.pageX
|
||||
menuLocation.y = event.pageY
|
||||
|
||||
@@ -138,6 +148,9 @@ export default ({
|
||||
case 'search':
|
||||
handleSearch(index)
|
||||
break
|
||||
case 'dislike':
|
||||
handleDislikeMusic(index)
|
||||
break
|
||||
case 'remove':
|
||||
handleRemoveMusic(index)
|
||||
break
|
||||
|
||||
@@ -6,6 +6,9 @@ import { useI18n } from '@renderer/plugins/i18n'
|
||||
import { removeListMusics } from '@renderer/store/list/action'
|
||||
import { appSetting } from '@renderer/store/setting'
|
||||
import { toOldMusicInfo } from '@renderer/utils/index'
|
||||
import { addDislikeInfo, hasDislike } from '@renderer/core/dislikeList'
|
||||
import { playNext } from '@renderer/core/player'
|
||||
import { playMusicInfo } from '@renderer/store/player/state'
|
||||
|
||||
|
||||
export default ({ props, list, selectedList, removeAllSelect }) => {
|
||||
@@ -34,6 +37,14 @@ export default ({ props, list, selectedList, removeAllSelect }) => {
|
||||
clipboardWriteText(appSetting['download.fileName'].replace('歌名', minfo.name).replace('歌手', minfo.singer))
|
||||
}
|
||||
|
||||
const handleDislikeMusic = async(index) => {
|
||||
const minfo = list.value[index]
|
||||
await addDislikeInfo([{ name: minfo.name, singer: minfo.singer }])
|
||||
if (!playMusicInfo.isTempPlay && hasDislike(playMusicInfo.musicInfo)) {
|
||||
playNext(true)
|
||||
}
|
||||
}
|
||||
|
||||
const handleRemoveMusic = async(index, single) => {
|
||||
if (selectedList.value.length && !single) {
|
||||
const confirm = await (selectedList.value.length > 1
|
||||
@@ -55,6 +66,7 @@ export default ({ props, list, selectedList, removeAllSelect }) => {
|
||||
handleSearch,
|
||||
handleOpenMusicDetail,
|
||||
handleCopyName,
|
||||
handleDislikeMusic,
|
||||
handleRemoveMusic,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user