diff --git a/publish/changeLog.md b/publish/changeLog.md index 78119186..69dae357 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -9,6 +9,7 @@ - 为可视化音频的频谱整体添加频谱均值加成,使频谱显示更有节奏感 - 优化程序初始化逻辑,修复无网络的情况下的初始化问题 +- 我的列表-列表名的右击菜单更新已收藏的在线列表时,将始终重新加载,不再使用缓存,解决在原平台更新歌单后,在LX点击更新可能看到的还是在原平台更新前的歌单的问题 ### 修复 diff --git a/src/renderer/store/modules/leaderboard.js b/src/renderer/store/modules/leaderboard.js index ca02ff7a..39573341 100644 --- a/src/renderer/store/modules/leaderboard.js +++ b/src/renderer/store/modules/leaderboard.js @@ -66,11 +66,12 @@ const actions = { return listInfo }) }, - getListAll({ state, rootState }, id) { + getListAll({ state, rootState }, { id, isRefresh = false }) { // console.log(source, id) let [source, bangId] = id.split('__') const loadData = (id, page) => { let key = `${source}${id}${page}` + if (isRefresh && cache.has(key)) cache.delete(key) return cache.has(key) ? Promise.resolve(cache.get(key)) : music[source].leaderboard.getList(bangId, page).then(result => { diff --git a/src/renderer/store/modules/songList.js b/src/renderer/store/modules/songList.js index 57058f9c..d2b2d14a 100644 --- a/src/renderer/store/modules/songList.js +++ b/src/renderer/store/modules/songList.js @@ -81,10 +81,11 @@ const actions = { commit('clearList') return music[source].songList.getList(sortId, tabId, page).then(result => commit('setList', { result, key, page })) }, - getListDetail({ state, commit }, { id, source, page }) { + getListDetail({ state, commit }, { id, source, page, isRefresh = false }) { let key = `sdetail__${source}__${id}__${page}` if (state.listDetail.list.length && state.listDetail.key == key) return Promise.resolve(state.listDetail.list) commit('clearListDetail') + if (isRefresh && cache.has(key)) cache.delete(key) return ( cache.has(key) ? Promise.resolve(cache.get(key)) @@ -94,10 +95,11 @@ const actions = { return result.list }) }, - getListDetailAll({ state, rootState }, { source, id }) { + getListDetailAll({ state, rootState }, { source, id, isRefresh = false }) { // console.log(source, id) const loadData = (id, page) => { let key = `sdetail__${source}__${id}__${page}` + if (isRefresh && cache.has(key)) cache.delete(key) return cache.has(key) ? Promise.resolve(cache.get(key)) : music[source].songList.getListDetail(id, page).then(result => { diff --git a/src/renderer/views/Leaderboard.vue b/src/renderer/views/Leaderboard.vue index 34114d61..705b7f44 100644 --- a/src/renderer/views/Leaderboard.vue +++ b/src/renderer/views/Leaderboard.vue @@ -211,7 +211,7 @@ export default { async addSongListDetail({ boardId, boardName, source, id }) { // console.log(this.listDetail.info) // if (!this.listDetail.info.name) return - const list = await this.getListAll(boardId) + const list = await this.getListAll({ id: boardId }) this.createUserList({ name: boardName, id, @@ -230,7 +230,7 @@ export default { }) isPlayingList = true } - const fullList = await this.getListAll(boardId) + const fullList = await this.getListAll({ id: boardId }) if (!fullList.length) return if (isPlayingList) { if (tempList.meta.id == id) { diff --git a/src/renderer/views/list/components/MyLists.vue b/src/renderer/views/list/components/MyLists.vue index abd01f0c..c083a66c 100644 --- a/src/renderer/views/list/components/MyLists.vue +++ b/src/renderer/views/list/components/MyLists.vue @@ -339,9 +339,9 @@ export default { let promise if (/board__/.test(sourceListId)) { const id = sourceListId.replace(/board__/, '') - promise = this.getBoardListAll(id) + promise = this.getBoardListAll({ id, isRefresh: true }) } else { - promise = this.getListDetailAll({ source, id: sourceListId }) + promise = this.getListDetailAll({ source, id: sourceListId, isRefresh: true }) } return promise.finally(() => { this.fetchingListStatus[id] = false