添加导入提示,兼容从PC端“全部数据”类型的备份文件中导入歌单

This commit is contained in:
lyswhut 2021-05-16 17:03:16 +08:00
parent fb8545e8ef
commit c565d07aa1
4 changed files with 53 additions and 16 deletions

View File

@ -1,7 +1,4 @@
### 优化 ### 优化
- 在搜索、歌单、排行榜列表多选音乐后点菜单中的播放将会把已选的歌曲添加到试听列表播放 - 添加导入提示兼容从PC端“全部数据”类型的备份文件中导入歌单
### 修复
- 修复播放模块没拉取最新代码导致播放器存在无法从通知栏停止等问题

View File

@ -143,10 +143,16 @@
"setting_play_lyric_transition": "Show lyrics translation", "setting_play_lyric_transition": "Show lyrics translation",
"setting_play_quality": "Play 320K quality songs first (if supported)", "setting_play_quality": "Play 320K quality songs first (if supported)",
"setting_backup": "Backup and restore", "setting_backup": "Backup and Recovery",
"setting_backup_part": "List data (common with PC-side list backup files)", "setting_backup_part": "List data (common with PC-side list backup files)",
"setting_backup_part_import_list": "Import lists", "setting_backup_part_import_list": "Import List",
"setting_backup_part_export_list": "Export lists", "setting_backup_part_import_list_tip_unzip": "📦File parsing...\nIf the file is too large, it may take some time⏳",
"setting_backup_part_import_list_tip_runing": "🚀I am trying to import...\nIf the list is too big, it may take some time⏳",
"setting_backup_part_import_list_tip_success": "Import successful 🎉",
"setting_backup_part_import_list_tip_failed": "This does not seem to be a playlist file 😲",
"setting_backup_part_export_list": "Export list",
"setting_backup_part_export_list_tip_zip": "📦The file is being packaged...\nIf the file is too large, it may take some time⏳",
"setting_backup_part_export_list_tip_success": "Export successful",
"setting_backup_part_import_setting": "Import settings", "setting_backup_part_import_setting": "Import settings",
"setting_backup_part_export_setting": "Export settings", "setting_backup_part_export_setting": "Export settings",
"setting_backup_all": "All data (list data and setting data)", "setting_backup_all": "All data (list data and setting data)",

View File

@ -146,7 +146,13 @@
"setting_backup": "备份与恢复", "setting_backup": "备份与恢复",
"setting_backup_part": "列表数据与PC端列表备份文件通用", "setting_backup_part": "列表数据与PC端列表备份文件通用",
"setting_backup_part_import_list": "导入列表", "setting_backup_part_import_list": "导入列表",
"setting_backup_part_import_list_tip_unzip": "📦文件解析中...\n若文件太大可能需要一些时间⏳",
"setting_backup_part_import_list_tip_runing": "🚀正在努力导入中...\n若列表太大可能需要一些时间⏳",
"setting_backup_part_import_list_tip_success": "导入成功🎉",
"setting_backup_part_import_list_tip_failed": "这似乎不是播放列表文件哦😲",
"setting_backup_part_export_list": "导出列表", "setting_backup_part_export_list": "导出列表",
"setting_backup_part_export_list_tip_zip": "📦文件打包中...\n若文件太大可能需要一些时间⏳",
"setting_backup_part_export_list_tip_success": "导出成功",
"setting_backup_part_import_setting": "导入设置", "setting_backup_part_import_setting": "导入设置",
"setting_backup_part_export_setting": "导出设置", "setting_backup_part_export_setting": "导出设置",
"setting_backup_all": "所有数据(列表数据与设置数据)", "setting_backup_all": "所有数据(列表数据与设置数据)",

View File

@ -46,7 +46,6 @@ const exportList = async(allList, path) => {
} }
} }
await handleSaveFile(path + '/lx_list.lxmc', JSON.stringify(data)) await handleSaveFile(path + '/lx_list.lxmc', JSON.stringify(data))
toast('导出完成')
} }
const importList = async path => { const importList = async path => {
let listData let listData
@ -91,14 +90,35 @@ export default memo(() => {
setShowChoosePath(false) setShowChoosePath(false)
switch (actionTypeRef.current) { switch (actionTypeRef.current) {
case 'import_list': case 'import_list':
importList(path).then(listData => { InteractionManager.runAfterInteractions(() => {
// 兼容0.6.2及以前版本的列表数据 toast(t('setting_backup_part_import_list_tip_unzip'))
if (listData.type === 'defautlList') return setList({ id: 'default', list: listData.data.list, name: '试听列表' }) importList(path).then(listData => {
// 兼容0.6.2及以前版本的列表数据
if (listData.type === 'defautlList') {
setList({ id: 'default', list: listData.data.list, name: '试听列表' })
toast(t('setting_backup_part_import_list_tip_success'))
return
}
if (listData.type !== 'playList') return switch (listData.type) {
case 'playList':
toast(t('setting_backup_part_import_list_tip_runing'))
for (const list of listData.data) setList(list)
toast(t('setting_backup_part_import_list_tip_success'))
break
case 'allData':
toast(t('setting_backup_part_import_list_tip_runing'))
if (listData.defaultList) { // 兼容pc端 0.6.2及以前版本的列表数据
setList({ id: 'default', list: listData.defaultList.list, name: '试听列表' })
} else {
for (const list of listData.playList) setList(list)
}
toast(t('setting_backup_part_import_list_tip_success'))
break
for (const list of listData.data) setList(list) default: return toast(t('setting_backup_part_import_list_tip_failed'))
toast('导入完成') }
})
}) })
break break
// case 'import_setting': // case 'import_setting':
@ -108,7 +128,15 @@ export default memo(() => {
// setTitle(t('setting_backup_part_import_setting_desc')) // setTitle(t('setting_backup_part_import_setting_desc'))
// break // break
case 'export_list': case 'export_list':
exportList(allList, path) InteractionManager.runAfterInteractions(() => {
toast(t('setting_backup_part_export_list_tip_zip'))
exportList(allList, path).then(() => {
toast(t('setting_backup_part_export_list_tip_success'))
}).catch(err => {
console.log(err)
toast(t('setting_backup_part_export_list_tip_failed'))
})
})
break break
// case 'export_setting': // case 'export_setting':
// setTitle(t('setting_backup_part_import_setting_desc')) // setTitle(t('setting_backup_part_import_setting_desc'))
@ -120,7 +148,7 @@ export default memo(() => {
// setTitle(t('setting_backup_all_import_desc')) // setTitle(t('setting_backup_all_import_desc'))
// break // break
} }
}, [allList, setList]) }, [allList, setList, t])
return ( return (