Add ConfigUtil to manage config items.

This commit is contained in:
Zhongyi Tong
2017-07-03 01:43:07 +08:00
parent 321860a232
commit 81d3aa8a1b

View File

@@ -0,0 +1,39 @@
'use strict';
const {app} = require('electron').remote;
const JsonDB = require('node-json-db');
let instance = null;
class ConfigUtil {
constructor() {
if (instance) {
return instance;
} else {
instance = this;
}
this.db = new JsonDB(app.getPath('userData') + '/config.json', true, true);
return instance;
}
getConfigItem(key, defaultValue=null) {
let value = this.db.getData('/')[key];
if (value === undefined) {
this.setConfigItem(key, value);
return defaultValue;
} else {
return value;
}
}
setConfigItem(key, value) {
this.db.push(`/${key}`, value, true);
}
removeConfigItem(key) {
this.db.delete(`/${key}`);
}
}
module.exports = new ConfigUtil();