From 94e8f5752e4d6db8cb144ccb3e449cbb7e3af600 Mon Sep 17 00:00:00 2001 From: fofolee Date: Tue, 21 Jul 2020 18:37:12 +0800 Subject: [PATCH] =?UTF-8?q?commonjs=20=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common.js | 51 ++++++++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/common.js b/src/common.js index 7a55feb..6c34719 100644 --- a/src/common.js +++ b/src/common.js @@ -5,48 +5,53 @@ exports.fofo = { pluginInfo: function () { return JSON.parse(fs.readFileSync(path.join(__dirname, 'plugin.json'))) }, - + isDev: function () { return /[a-zA-Z0-9\-]+\.asar/.test(__dirname) ? false : true }, - pushData: function (databases, data) { - var db = utools.db.get(databases); + getDB: id => { + var db = utools.db.get(id), + dbData = db ? db.data : {}; + return dbData; + }, + + putDB: (key, value, id) => { + var db = utools.db.get(id); if (db) { - utools.db.put({ _id: databases, data: data, _rev: db._rev }); + var rev = db._rev + var data = db.data + data[key] = value; + utools.db.put({ _id: id, data: data, _rev: rev }); } else { - utools.db.put({ _id: databases, data: data }); + var data = {}; + data[key] = value; + utools.db.put({ _id: id, data: data }); } }, - + showChangeLog: function () { - this.pushData('plugin', { version: this.pluginInfo().version }) + this.putDB('version', this.pluginInfo().version, 'plugin') fs.readFile(path.join(__dirname, 'CHANGELOG.md'), { encoding: 'utf8' }, (err, data) => { if (data) utools.ubrowser.goto(data, '更新日志').run({ - width: 1080, - height: 860 + width: 1280, + height: 920 }) }) }, - + isRunningAtFirstTime: function () { - try { - var historyVersion = utools.db.get('plugin').data.version - if (historyVersion != this.pluginInfo().version) { - return true - } else { - return false - } - } catch (error) { - return true - } + var historyVersion = this.getDB('plugin').version + if (!historyVersion) return 'init' + if (this.pluginInfo().version > historyVersion) return 'update' + return false }, - + GetFilePath: function (Path, File) { if (this.isDev()) { return path.join(__dirname, Path, File) } else { - return path.join(__dirname.replace(/([a-zA-Z0-9\-]+\.asar)/,'$1.unpacked'), Path, File) + return path.join(__dirname.replace(/([a-zA-Z0-9\-]+\.asar)/,'$1.unpacked'), Path, File) } } -} \ No newline at end of file +}