修复同步问题
This commit is contained in:
@@ -8,18 +8,20 @@ export const setInited = () => {
|
||||
isInitedList.value = true
|
||||
}
|
||||
|
||||
export const allList = markRaw({})
|
||||
export const allList = window.allList = markRaw({})
|
||||
|
||||
export const allListInit = (defaultList, loveList, tempList, userList) => {
|
||||
export const allListInit = (newLists) => {
|
||||
const newIds = [defaultList.id, loveList.id, tempList.id, ...newLists.userList.map(l => l.id)]
|
||||
for (const id of Object.keys(allList)) {
|
||||
if (newIds.includes(id)) continue
|
||||
delete allList[id]
|
||||
}
|
||||
allList[defaultList.id] = reactive(defaultList.list)
|
||||
allList[loveList.id] = reactive(loveList.list)
|
||||
allList[tempList.id] = reactive(tempList.list)
|
||||
allListUpdate(defaultList.id, newLists.defaultList.list)
|
||||
allListUpdate(loveList.id, newLists.loveList.list)
|
||||
if (newLists.tempList) allListUpdate(tempList.id, newLists.tempList.list)
|
||||
userLists.splice(0, userLists.length)
|
||||
for (const { list, ...listInfo } of userList) {
|
||||
allList[listInfo.id] = reactive(list)
|
||||
for (const { list, ...listInfo } of newLists.userList) {
|
||||
allListUpdate(listInfo.id, list)
|
||||
userLists.push(listInfo)
|
||||
}
|
||||
}
|
||||
@@ -27,7 +29,7 @@ export const allListUpdate = (id, list) => {
|
||||
if (allList[id]) {
|
||||
allList[id].splice(0, allList[id].length, ...list)
|
||||
} else {
|
||||
allList[id] = list
|
||||
allList[id] = reactive(list)
|
||||
}
|
||||
}
|
||||
export const allListRemove = id => {
|
||||
|
||||
@@ -1,25 +1,26 @@
|
||||
import { useCommit, useGetter, onBeforeUnmount } from '@renderer/utils/vueTools'
|
||||
import { useCommit, useGetter, onBeforeUnmount, toRaw } from '@renderer/utils/vueTools'
|
||||
import { sync as eventSyncName } from '@renderer/event/names'
|
||||
import { syncEnable, onSyncStatus } from '@renderer/utils/tools'
|
||||
import { sync } from '@renderer/core/share'
|
||||
import { allList, defaultList, loveList, userLists } from '@renderer/core/share/list'
|
||||
|
||||
export default () => {
|
||||
const setList = useCommit('setList')
|
||||
const listAdd = useCommit('listAdd')
|
||||
const listMove = useCommit('listMove')
|
||||
const listAddMultiple = useCommit('listAddMultiple')
|
||||
const listMoveMultiple = useCommit('listMoveMultiple')
|
||||
const listRemove = useCommit('listRemove')
|
||||
const listRemoveMultiple = useCommit('listRemoveMultiple')
|
||||
const listClear = useCommit('listClear')
|
||||
const updateMusicInfo = useCommit('updateMusicInfo')
|
||||
const createUserList = useCommit('createUserList')
|
||||
const removeUserList = useCommit('removeUserList')
|
||||
const setUserListName = useCommit('setUserListName')
|
||||
const moveupUserList = useCommit('moveupUserList')
|
||||
const movedownUserList = useCommit('movedownUserList')
|
||||
const setMusicPosition = useCommit('setMusicPosition')
|
||||
const setSyncListData = useCommit('setSyncListData')
|
||||
const setList = useCommit('list', 'setList')
|
||||
const listAdd = useCommit('list', 'listAdd')
|
||||
const listMove = useCommit('list', 'listMove')
|
||||
const listAddMultiple = useCommit('list', 'listAddMultiple')
|
||||
const listMoveMultiple = useCommit('list', 'listMoveMultiple')
|
||||
const listRemove = useCommit('list', 'listRemove')
|
||||
const listRemoveMultiple = useCommit('list', 'listRemoveMultiple')
|
||||
const listClear = useCommit('list', 'listClear')
|
||||
const updateMusicInfo = useCommit('list', 'updateMusicInfo')
|
||||
const createUserList = useCommit('list', 'createUserList')
|
||||
const removeUserList = useCommit('list', 'removeUserList')
|
||||
const setUserListName = useCommit('list', 'setUserListName')
|
||||
const moveupUserList = useCommit('list', 'moveupUserList')
|
||||
const movedownUserList = useCommit('list', 'movedownUserList')
|
||||
const setMusicPosition = useCommit('list', 'setMusicPosition')
|
||||
const setSyncListData = useCommit('list', 'setSyncListData')
|
||||
|
||||
const setting = useGetter('setting')
|
||||
|
||||
@@ -84,9 +85,9 @@ export default () => {
|
||||
global.eventHub.emit(eventSyncName.send_sync_list, {
|
||||
action: 'getData',
|
||||
data: {
|
||||
defaultList: this.defaultList,
|
||||
loveList: this.loveList,
|
||||
userList: this.userList,
|
||||
defaultList: { ...toRaw(defaultList), list: toRaw(allList[defaultList.id]) },
|
||||
loveList: { ...toRaw(loveList), list: toRaw(allList[loveList.id]) },
|
||||
userList: userLists.map(l => ({ ...toRaw(l), list: toRaw(allList[l.id]) })),
|
||||
},
|
||||
})
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user