lx-music-desktop/src/main/utils/index.js

48 lines
1.3 KiB
JavaScript

const Store = require('electron-store')
const { windowSizeList } = require('../../common/config')
const { objectDeepMerge, throttle, initSetting } = require('../../common/utils')
exports.getWindowSizeInfo = ({ windowSizeId = 1 } = {}) => {
return windowSizeList.find(i => i.id === windowSizeId) || windowSizeList[0]
}
const electronStore_config = new Store({
name: 'config',
})
exports.getAppSetting = () => {
return electronStore_config.get('setting')
}
const electronStore_hotKey = new Store({
name: 'hotKey',
})
exports.getAppHotKeyConfig = () => {
return {
global: electronStore_hotKey.get('global'),
local: electronStore_hotKey.get('local'),
}
}
const saveHotKeyConfig = throttle(config => {
for (const key of Object.keys(config)) {
global.appHotKey.config[key] = config[key]
electronStore_hotKey.set(key, config[key])
}
})
exports.saveAppHotKeyConfig = config => {
saveHotKeyConfig(config)
}
// const saveSetting = throttle(n => {
// electronStore_config.set('setting', n)
// })
exports.updateSetting = (settings) => {
objectDeepMerge(global.appSetting, settings)
electronStore_config.set('setting', global.appSetting)
exports.initSetting()
}
exports.initSetting = () => {
const info = initSetting()
global.appSetting = info.setting
global.appSettingVersion = info.version
}