diff --git a/publish/changeLog.md b/publish/changeLog.md index 88b1d370..910772a1 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,4 +1,3 @@ -### 修复 +### 优化 -- 修复我的列表搜索无法搜索小括号、中括号等字符的问题 -- 修复v1.14.0出现的备份与恢复功能备份的数据无法恢复的问题,同时兼容使用v1.14.0导出的存在问题的数据 +- 优化列表同步代码逻辑 diff --git a/src/main/modules/sync/server/server.js b/src/main/modules/sync/server/server.js index aed2d2c3..645e0557 100644 --- a/src/main/modules/sync/server/server.js +++ b/src/main/modules/sync/server/server.js @@ -5,6 +5,7 @@ const modules = require('../modules') const { authCode, authConnect } = require('./auth') const { getAddress, getServerId, generateCode, getClientKeyInfo } = require('./utils') const syncList = require('./syncList') +const { log } = require('@common/utils') let status = { @@ -88,7 +89,8 @@ const handleStartServer = (port = 9527) => new Promise((resolve, reject) => { try { await syncList(io, socket) } catch (err) { - console.log(err) + // console.log(err) + log.warn(err) return } status.devices.push(keyInfo) diff --git a/src/main/modules/sync/server/syncList.js b/src/main/modules/sync/server/syncList.js index 5897e385..69b68468 100644 --- a/src/main/modules/sync/server/syncList.js +++ b/src/main/modules/sync/server/syncList.js @@ -260,10 +260,7 @@ const mergeListDataFromSnapshot = (sourceList, targetList, snapshotList, addMusi for (const m of sourceList.list) sourceListItemIds.add(m.songmid) for (const m of targetList.list) targetListItemIds.add(m.songmid) for (const m of snapshotList.list) { - if (!sourceListItemIds.has(m.songmid)) removedListIds.add(m.songmid) - } - for (const m of snapshotList.list) { - if (!targetListItemIds.has(m.songmid)) removedListIds.add(m.songmid) + if (!sourceListItemIds.has(m.songmid) || !targetListItemIds.has(m.songmid)) removedListIds.add(m.songmid) } let newList @@ -311,10 +308,7 @@ const handleMergeListDataFromSnapshot = async(socket, snapshot) => { for (const l of remoteListData.userList) remoteUserListIds.add(l.id) for (const l of snapshot.userList) { - if (!localUserListIds.has(l.id)) removedListIds.add(l.id) - } - for (const l of snapshot.userList) { - if (!remoteUserListIds.has(l.id)) removedListIds.add(l.id) + if (!localUserListIds.has(l.id) || !remoteUserListIds.has(l.id)) removedListIds.add(l.id) } let newUserList = [] @@ -353,7 +347,7 @@ const registerUpdateSnapshotTask = (socket, snapshot) => { if (loveList != null) snapshot.loveList = loveList if (userList != null) snapshot.userList = userList updateSnapshot(socket.data.snapshotFilePath, JSON.stringify(snapshot)) - }, 10000) + }, 2000) global.lx_event.common.on(COMMON_EVENT_NAME.saveMyList, handleUpdateSnapshot) socket.on('disconnect', () => { global.lx_event.common.off(COMMON_EVENT_NAME.saveMyList, handleUpdateSnapshot)