From ff8195df469d0e945aabc872d8a3b6088cd27c58 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sun, 10 Apr 2022 21:03:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=97=E8=A1=A8=E5=85=83?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/store/modules/list.js | 24 +++++++++++++++++++++++- src/renderer/utils/data.js | 9 +++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/renderer/store/modules/list.js b/src/renderer/store/modules/list.js index 653b75cc..6fd86269 100644 --- a/src/renderer/store/modules/list.js +++ b/src/renderer/store/modules/list.js @@ -1,7 +1,7 @@ import musicSdk from '../../utils/music' import { clearLyric, clearMusicUrl } from '../../utils' import { sync as eventSyncName, list as eventListNames } from '@renderer/event/names' -import { removeListPosition, setListPrevSelectId, removeListUpdateInfo } from '@renderer/utils/data' +import { removeListPosition, setListPrevSelectId, removeListUpdateInfo, getListPositionAll, setListPositionAll, getListUpdateInfo, setListUpdateInfo } from '@renderer/utils/data' import { markRawList, toRaw, markRaw } from '@renderer/utils/vueTools' import { allList, allListInit, setInited, removeUserList, addUserList, updateList, defaultList, loveList, userLists } from '@renderer/core/share/list' @@ -40,6 +40,26 @@ const actions = { }, } +const updateListMetaData = () => { + const listUpdateInfos = getListUpdateInfo() + const newListUpdateInfos = {} + + const listPositions = getListPositionAll() + const newListPositions = {} + + for (const list of [defaultList, loveList, ...userLists]) { + if (listPositions[list.id] != null) { + newListPositions[list.id] = listPositions[list.id] + } + if (listUpdateInfos[list.id] != null) { + newListUpdateInfos[list.id] = listUpdateInfos[list.id] + } + } + setListPositionAll(newListPositions) + setListUpdateInfo(newListUpdateInfos) +} + + // mitations const mutations = { initList(state, { defaultList, loveList, userList, tempList }) { @@ -60,6 +80,8 @@ const mutations = { // state.isInitedList = true setInited() + updateListMetaData() + // if (!isSync) { // window.eventHub.emit(eventSyncName.send_action_list, { // action: 'init_list', diff --git a/src/renderer/utils/data.js b/src/renderer/utils/data.js index ee3720ca..571c4b7b 100644 --- a/src/renderer/utils/data.js +++ b/src/renderer/utils/data.js @@ -19,6 +19,11 @@ export const initListPosition = () => { }) } export const getListPosition = id => listPosition[id] || 0 +export const getListPositionAll = () => listPosition +export const setListPositionAll = positions => { + listPosition = positions + saveListPosition() +} export const setListPosition = (id, position) => { listPosition[id] = position || 0 saveListPosition() @@ -60,6 +65,10 @@ const saveListUpdateInfo = throttle(() => { }, 1000) export const getListUpdateInfo = () => listUpdateInfo +export const setListUpdateInfo = info => { + listUpdateInfo = info + saveListUpdateInfo() +} export const setListAutoUpdate = (id, enable) => { const targetInfo = listUpdateInfo[id] ?? { updateTime: '', isAutoUpdate: false } targetInfo.isAutoUpdate = enable