diff --git a/publish/changeLog.md b/publish/changeLog.md index 6ebe38d1..1af94296 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -11,6 +11,7 @@ - 修复“当前的声音输出设备被改变时暂停播放歌曲”设置无效的问题 - 修复桌面歌词没有处理停止播放状态的问题 - 修复AppImage包无法运行的问题 +- 修复Windows任务栏缩略图工具栏控制按钮的歌曲收藏按钮状态更新问题 ### 文档 diff --git a/src/renderer/core/useApp/usePlayer/useTaskbar.js b/src/renderer/core/useApp/usePlayer/useTaskbar.js index b18ce6b9..4b3af07f 100644 --- a/src/renderer/core/useApp/usePlayer/useTaskbar.js +++ b/src/renderer/core/useApp/usePlayer/useTaskbar.js @@ -1,10 +1,11 @@ import { onBeforeUnmount, useCommit } from '@renderer/utils/vueTools' -import { player as eventPlayerNames, taskbar as eventTaskbarNames } from '@renderer/event/names' +import { player as eventPlayerNames, taskbar as eventTaskbarNames, list as eventListNames } from '@renderer/event/names' import { onTaskbarThumbarClick, setTaskbarThumbnailClip, setTaskbarThumbarButtons } from '@renderer/utils/tools' // import store from '@renderer/store' import { loveList, getList } from '@renderer/core/share/list' import { playMusicInfo } from '@renderer/core/share/player' +import { throttle } from '@renderer/utils' export default () => { const listAdd = useCommit('list', 'listAdd') @@ -54,6 +55,11 @@ export default () => { const handleSetTaskbarThumbnailClip = (clip) => { setTaskbarThumbnailClip(clip) } + const throttleListChange = throttle(listIds => { + if (!listIds.includes(loveList.id)) return + if (!updateCollectStatus()) return + setButtons() + }) // const updateSetting = () => { // const setting = store.getters.setting // buttons.lrc = setting.desktopLyric.enable @@ -107,6 +113,7 @@ export default () => { window.eventHub.on(eventPlayerNames.stop, handleStop) window.eventHub.on(eventPlayerNames.setPlayInfo, handleSetPlayInfo) window.eventHub.on(eventTaskbarNames.setTaskbarThumbnailClip, handleSetTaskbarThumbnailClip) + window.eventHub.on(eventListNames.listChange, throttleListChange) onBeforeUnmount(() => { rTaskbarThumbarClick() @@ -115,6 +122,7 @@ export default () => { window.eventHub.off(eventPlayerNames.stop, handleStop) window.eventHub.off(eventPlayerNames.setPlayInfo, handleSetPlayInfo) window.eventHub.off(eventTaskbarNames.setTaskbarThumbnailClip, handleSetTaskbarThumbnailClip) + window.eventHub.off(eventListNames.listChange, throttleListChange) }) return () => {