Files
electron-egg/app/service/storage.js
gaoshuaixing d1e99f94c1 fix storage
2021-01-07 17:01:28 +08:00

56 lines
1.1 KiB
JavaScript

'use strict';
const BaseService = require('./base');
const path = require('path');
const _ = require('lodash');
const lowdb = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');
const storageKey = require('../const/storageKey');
const fs = require('fs');
const os = require('os');
const pkg = require('../../package.json');
const storageDir = path.normalize(os.userInfo().homedir + '/' + pkg.name + '/');
const storageDb = 'db.json';
class StorageService extends BaseService {
/*
* instance
*/
instance(file = null) {
if (!file) {
file = path.normalize(storageDir + storageDb);
}
const isExist = fs.existsSync(file);
if (!isExist) {
return null;
}
const adapter = new FileSync(file);
const db = lowdb(adapter);
return db;
}
/*
* getElectronIPCPort
*/
getElectronIPCPort() {
const key = storageKey.ELECTRON_IPC + '.port';
const port = this.instance()
.get(key)
.value();
return port;
}
/*
* getStorageDir
*/
getStorageDir() {
return storageDir;
}
}
module.exports = StorageService;