修复同步问题
parent
822e1ea6c9
commit
07d200a752
|
@ -124,7 +124,7 @@ function createWindow() {
|
|||
global.modules.mainWindow.loadURL(winURL + `?dt=${!!global.envParams.cmdParams.dt}&theme=${themes.find(t => t.id == global.appSetting.themeId)?.className ?? themes[0].className}`)
|
||||
|
||||
winEvent(global.modules.mainWindow)
|
||||
// global.modules.mainWindow.webContents.openDevTools()
|
||||
global.modules.mainWindow.webContents.openDevTools()
|
||||
|
||||
if (!isDev) autoUpdate()
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -54,7 +54,7 @@ const mutations = {
|
|||
if (userList != null) {
|
||||
for (const list of userList) if (list.list) markRawList(list.list)
|
||||
}
|
||||
allListInit(defaultList, loveList, tempList, userList)
|
||||
allListInit({ defaultList, loveList, tempList, userList })
|
||||
window.eventHub.emit(eventListNames.listChange, [defaultList.id, loveList.id, tempList.id, ...userList.map(l => l.id)])
|
||||
// state.isInitedList = true
|
||||
setInited()
|
||||
|
@ -70,7 +70,7 @@ const mutations = {
|
|||
if (defaultList != null) markRawList(defaultList.list)
|
||||
if (loveList != null) markRawList(loveList.list)
|
||||
if (userList != null) for (const list of userList) markRawList(list.list)
|
||||
allListInit(defaultList, loveList, userList)
|
||||
allListInit({ defaultList, loveList, userList })
|
||||
window.eventHub.emit(eventListNames.listChange, [defaultList.id, loveList.id, ...userList.map(l => l.id)])
|
||||
},
|
||||
setList(state, { id, list, name, source, sourceListId, isSync }) {
|
||||
|
@ -357,11 +357,11 @@ const mutations = {
|
|||
})
|
||||
}
|
||||
|
||||
const index = state.userList.findIndex(l => l.id == id)
|
||||
const index = userLists.findIndex(l => l.id == id)
|
||||
if (index < 0) return
|
||||
let targetList = allList[id]
|
||||
state.userList.splice(index, 1)
|
||||
state.userList.splice(index - 1, 0, targetList)
|
||||
userLists.splice(index, 1)
|
||||
userLists.splice(index - 1, 0, targetList)
|
||||
},
|
||||
movedownUserList(state, { id, isSync }) {
|
||||
if (!isSync) {
|
||||
|
@ -370,11 +370,11 @@ const mutations = {
|
|||
data: { id },
|
||||
})
|
||||
}
|
||||
const index = state.userList.findIndex(l => l.id == id)
|
||||
const index = userLists.findIndex(l => l.id == id)
|
||||
if (index < 0) return
|
||||
let targetList = allList[id]
|
||||
state.userList.splice(index, 1)
|
||||
state.userList.splice(index + 1, 0, targetList)
|
||||
userLists.splice(index, 1)
|
||||
userLists.splice(index + 1, 0, targetList)
|
||||
},
|
||||
setMusicPosition(state, { id, position, list, isSync }) {
|
||||
if (!isSync) {
|
||||
|
|
Loading…
Reference in New Issue