48 lines
1.3 KiB
JavaScript
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
|
|
}
|