修复v1.14.0出现的备份与恢复功能备份的数据无法恢复的问题

pull/733/head
lyswhut 2021-10-04 12:22:16 +08:00
parent e12f95ff74
commit eb67d67a60
4 changed files with 20 additions and 8 deletions

View File

@ -1,3 +1,4 @@
### 修复 ### 修复
- 修复我的列表搜索无法搜索小括号、中括号等字符的问题 - 修复我的列表搜索无法搜索小括号、中括号等字符的问题
- 修复v1.14.0出现的备份与恢复功能备份的数据无法恢复的问题同时兼容使用v1.14.0导出的存在问题的数据

View File

@ -464,7 +464,18 @@ export const readLxConfigFile = async path => {
let data = await fs.promises.readFile(path, isJSON ? 'utf8' : 'binary') let data = await fs.promises.readFile(path, isJSON ? 'utf8' : 'binary')
if (!data || isJSON) return data if (!data || isJSON) return data
data = await gunzipData(Buffer.from(data, 'binary')) data = await gunzipData(Buffer.from(data, 'binary'))
return data.toString('utf8') data = JSON.parse(data.toString('utf8'))
// 修复v1.14.0出现的导出数据被序列化两次的问题
if (typeof data != 'object') {
try {
data = JSON.parse(data)
} catch (err) {
return data
}
}
return data
} }

View File

@ -1050,7 +1050,7 @@ export default {
if (result.canceled) return if (result.canceled) return
let listData let listData
try { try {
listData = JSON.parse(await readLxConfigFile(result.filePaths[0])) listData = await readLxConfigFile(result.filePaths[0])
} catch (error) { } catch (error) {
return return
} }

View File

@ -815,7 +815,7 @@ export default {
async importSetting(path) { async importSetting(path) {
let settingData let settingData
try { try {
settingData = JSON.parse(await readLxConfigFile(path)) settingData = await readLxConfigFile(path)
} catch (error) { } catch (error) {
return return
} }
@ -830,12 +830,12 @@ export default {
type: 'setting', type: 'setting',
data: Object.assign({ version: this.settingVersion }, this.setting), data: Object.assign({ version: this.settingVersion }, this.setting),
} }
saveLxConfigFile(path, JSON.stringify(data)) saveLxConfigFile(path, data)
}, },
async importPlayList(path) { async importPlayList(path) {
let listData let listData
try { try {
listData = JSON.parse(await readLxConfigFile(path)) listData = await readLxConfigFile(path)
} catch (error) { } catch (error) {
return return
} }
@ -867,12 +867,12 @@ export default {
if (item.otherSource) delete item.otherSource if (item.otherSource) delete item.otherSource
} }
} }
saveLxConfigFile(path, JSON.stringify(data)) saveLxConfigFile(path, data)
}, },
async importAllData(path) { async importAllData(path) {
let allData let allData
try { try {
allData = JSON.parse(await readLxConfigFile(path)) allData = await readLxConfigFile(path)
} catch (error) { } catch (error) {
return return
} }
@ -906,7 +906,7 @@ export default {
if (item.otherSource) delete item.otherSource if (item.otherSource) delete item.otherSource
} }
} }
saveLxConfigFile(path, JSON.stringify(allData)) saveLxConfigFile(path, allData)
}, },
handleImportAllData() { handleImportAllData() {
selectDir({ selectDir({