140 lines
6.4 KiB
TypeScript
140 lines
6.4 KiB
TypeScript
import { compareVer } from './index'
|
|
|
|
const oldThemeMap = {
|
|
0: 'green',
|
|
1: 'blue',
|
|
2: 'yellow',
|
|
3: 'orange',
|
|
4: 'red',
|
|
10: 'pink',
|
|
5: 'purple',
|
|
6: 'grey',
|
|
11: 'ming',
|
|
12: 'blue2',
|
|
13: 'black',
|
|
7: 'mid_autumn',
|
|
8: 'naruto',
|
|
9: 'happy_new_year',
|
|
} as const
|
|
|
|
export default (setting: any): Partial<LX.AppSetting> => {
|
|
setting = { ...setting }
|
|
|
|
// 迁移 v2 之前的配置
|
|
if (compareVer(setting.version, '2.0.0') < 0) {
|
|
// 迁移列表滚动位置设置 ~0.18.3
|
|
if (setting.list?.scroll) {
|
|
let scroll = setting.list.scroll
|
|
setting.list.isSaveScrollLocation &&= scroll.enable
|
|
delete setting.list.scroll
|
|
}
|
|
|
|
// 修正拼写问题 v1.8.2 及以前
|
|
if (setting.player?.isShowLyricTransition != null) {
|
|
setting.player.isShowLyricTranslation = setting.player.isShowLyricTransition
|
|
delete setting.player.isShowLyricTransition
|
|
}
|
|
|
|
// 迁移v1.19.0之前的主题设置
|
|
if (setting.themeId != null) {
|
|
setting.theme = {
|
|
id: setting.themeId,
|
|
}
|
|
delete setting.themeId
|
|
}
|
|
|
|
if (setting.tray?.isShow != null) setting.tray.enable = setting.tray?.isShow
|
|
|
|
setting['common.windowSizeId'] = setting.windowSizeId
|
|
setting['common.startInFullscreen'] = setting.startInFullscreen
|
|
setting['common.langId'] = setting.langId
|
|
setting['common.apiSource'] = setting.apiSource
|
|
setting['common.sourceNameType'] = setting.sourceNameType
|
|
setting['common.font'] = setting.font
|
|
setting['common.isShowAnimation'] = setting.isShowAnimation
|
|
setting['common.randomAnimate'] = setting.randomAnimate
|
|
setting['common.isAgreePact'] = setting.isAgreePact
|
|
setting['common.controlBtnPosition'] = setting.controlBtnPosition
|
|
|
|
setting['player.togglePlayMethod'] = setting.player?.togglePlayMethod
|
|
setting['player.highQuality'] = setting.player?.highQuality
|
|
setting['player.isShowTaskProgess'] = setting.player?.isShowTaskProgess
|
|
setting['player.volume'] = setting.player?.volume
|
|
setting['player.isMute'] = setting.player?.isMute
|
|
setting['player.mediaDeviceId'] = setting.player?.mediaDeviceId
|
|
setting['player.isMediaDeviceRemovedStopPlay'] = setting.player?.isMediaDeviceRemovedStopPlay
|
|
setting['player.isShowLyricTranslation'] = setting.player?.isShowLyricTranslation
|
|
setting['player.isShowLyricRoma'] = setting.player?.isShowLyricRoma
|
|
setting['player.isS2t'] = setting.player?.isS2t
|
|
setting['player.isPlayLxlrc'] = setting.player?.isPlayLxlrc
|
|
setting['player.isSavePlayTime'] = setting.player?.isSavePlayTime
|
|
setting['player.audioVisualization'] = setting.player?.audioVisualization
|
|
setting['player.waitPlayEndStop'] = setting.player?.waitPlayEndStop
|
|
setting['player.waitPlayEndStopTime'] = setting.player?.waitPlayEndStopTime
|
|
setting['player.autoSkipOnError'] = setting.player?.autoSkipOnError
|
|
|
|
setting['playDetail.isZoomActiveLrc'] = setting.playDetail?.isZoomActiveLrc
|
|
setting['playDetail.isShowLyricProgressSetting'] = setting.playDetail?.isShowLyricProgressSetting
|
|
setting['playDetail.style.fontSize'] = setting.playDetail?.style?.fontSize
|
|
setting['playDetail.style.align'] = setting.playDetail?.style?.align
|
|
|
|
setting['desktopLyric.enable'] = setting.desktopLyric?.enable
|
|
setting['desktopLyric.isLock'] = setting.desktopLyric?.isLock
|
|
setting['desktopLyric.isAlwaysOnTop'] = setting.desktopLyric?.isAlwaysOnTop
|
|
setting['desktopLyric.isAlwaysOnTopLoop'] = setting.desktopLyric?.isAlwaysOnTopLoop
|
|
setting['desktopLyric.width'] = setting.desktopLyric?.width
|
|
setting['desktopLyric.height'] = setting.desktopLyric?.height
|
|
setting['desktopLyric.x'] = setting.desktopLyric?.x
|
|
setting['desktopLyric.y'] = setting.desktopLyric?.y
|
|
setting['desktopLyric.isLockScreen'] = setting.desktopLyric?.isLockScreen
|
|
setting['desktopLyric.isDelayScroll'] = setting.desktopLyric?.isDelayScroll
|
|
setting['desktopLyric.isHoverHide'] = setting.desktopLyric?.isHoverHide
|
|
setting['desktopLyric.style.font'] = setting.desktopLyric?.style?.font
|
|
if (setting.desktopLyric?.style?.fontSize) setting['desktopLyric.style.fontSize'] = setting.desktopLyric.style.fontSize / 100 * 16
|
|
setting['desktopLyric.style.opacity'] = setting.desktopLyric?.style?.opacity
|
|
setting['desktopLyric.style.isZoomActiveLrc'] = setting.desktopLyric?.style?.isZoomActiveLrc
|
|
|
|
setting['list.isClickPlayList'] = setting.list?.isClickPlayList
|
|
setting['list.isShowAlbumName'] = setting.list?.isShowAlbumName
|
|
setting['list.isShowSource'] = setting.list?.isShowSource
|
|
setting['list.isSaveScrollLocation'] = setting.list?.isSaveScrollLocation
|
|
setting['list.addMusicLocationType'] = setting.list?.addMusicLocationType
|
|
|
|
setting['download.enable'] = setting.download?.enable
|
|
setting['download.savePath'] = setting.download?.savePath
|
|
setting['download.fileName'] = setting.download?.fileName
|
|
setting['download.maxDownloadNum'] = setting.download?.maxDownloadNum
|
|
setting['download.isDownloadLrc'] = setting.download?.isDownloadLrc
|
|
setting['download.lrcFormat'] = setting.download?.lrcFormat
|
|
setting['download.isEmbedPic'] = setting.download?.isEmbedPic
|
|
setting['download.isEmbedLyric'] = setting.download?.isEmbedLyric
|
|
setting['download.isUseOtherSource'] = setting.download?.isUseOtherSource
|
|
|
|
setting['search.isShowHotSearch'] = setting.search?.isShowHotSearch
|
|
setting['search.isShowHistorySearch'] = setting.search?.isShowHistorySearch
|
|
setting['search.isFocusSearchBox'] = setting.search?.isFocusSearchBox
|
|
|
|
setting['network.proxy.enable'] = setting.network?.proxy?.enable
|
|
setting['network.proxy.host'] = setting.network?.proxy?.host
|
|
setting['network.proxy.port'] = setting.network?.proxy?.port
|
|
setting['network.proxy.username'] = setting.network?.proxy?.username
|
|
setting['network.proxy.password'] = setting.network?.proxy?.password
|
|
|
|
setting['tray.enable'] = setting.tray?.enable
|
|
setting['tray.themeId'] = setting.tray?.themeId
|
|
|
|
|
|
setting['sync.enable'] = setting.sync?.enable
|
|
setting['sync.port'] = setting.sync?.port
|
|
|
|
setting['theme.id'] = oldThemeMap[setting.theme?.id as keyof typeof oldThemeMap]
|
|
setting['theme.lightId'] = oldThemeMap[setting.theme?.lightId as keyof typeof oldThemeMap]
|
|
setting['theme.darkId'] = oldThemeMap[setting.theme?.darkId as keyof typeof oldThemeMap]
|
|
|
|
setting['odc.isAutoClearSearchInput'] = setting.odc?.isAutoClearSearchInput
|
|
setting['odc.isAutoClearSearchList'] = setting.odc?.isAutoClearSearchList
|
|
}
|
|
|
|
return setting
|
|
}
|