提交 3097a85c 编写于 作者: frostime's avatar frostime

插件启动时检查版本

上级 99ec3ef0
......@@ -4,12 +4,14 @@
import { Plugin } from 'siyuan';
import { info, error } from './utils';
import { eventBus } from './event-bus';
import * as serverApi from './serverApi';
type NotebookSorting = 'doc-tree' | 'custom-sort'
type IconPosition = 'left' | 'right';
type SettingKey = 'OpenOnStart' | 'NotebookSort' | 'DefaultNotebook' | 'IconPosition' | 'DiaryUpToDate';
type SettingKey = (
'OpenOnStart' | 'NotebookSort' | 'DefaultNotebook' | 'IconPosition' |
'DiaryUpToDate' | 'PluginVersion'
);
interface Item {
key: SettingKey,
......@@ -21,7 +23,6 @@ const SettingFile = 'DailyNoteToday.json.txt';
class SettingManager {
plugin: Plugin;
realVersion: string = '';
settings: any = {
OpenOnStart: true as boolean, //启动的时候自动打开日记
DiaryUpToDate: false as boolean, //自动更新日记的日期
......@@ -60,7 +61,6 @@ class SettingManager {
* 导入的时候,需要先加载设置;如果没有设置,则使用默认设置
*/
async load() {
this.loadVersion();
let loaded = await this.plugin.loadData(SettingFile);
if (loaded == null || loaded == undefined || loaded == '') {
//如果没有配置文件,则使用默认配置,并保存
......@@ -82,20 +82,6 @@ class SettingManager {
}
}
async loadVersion() {
try {
let plugin_file = await serverApi.getFile('/data/plugins/siyuan-dailynote-today/plugin.json');
if (plugin_file === null) {
return;
}
let version = plugin_file.version;
info(`插件版本: ${version}`);
this.realVersion = version;
} catch (error_msg) {
error(`Setting load error: ${error_msg}`);
}
}
async save() {
let json = JSON.stringify(this.settings);
info(`写入配置文件: ${json}`);
......
/**
* Copyright (c) 2023 frostime. All rights reserved.
*/
import { openTab, Plugin } from 'siyuan';
import { openTab, Plugin, showMessage } from 'siyuan';
import Setting from './components/setting.svelte'
import { ToolbarMenuItem } from './components/toolbar-menu';
import { notify, compareVersion } from './func';
import { info, setI18n } from './utils';
import { error, info, setI18n } from './utils';
import { settings } from './global-status';
import notebooks from './global-notebooks';
import { ContextMenu } from './components/move-menu';
......@@ -44,6 +44,8 @@ export default class DailyNoteTodayPlugin extends Plugin {
// });
await settings.load();
this.checkPluginVersion();
this.initSetting();
this.initContextMenu();
this.initToolbarItem();
......@@ -121,6 +123,24 @@ export default class DailyNoteTodayPlugin extends Plugin {
notify(this.i18n.UpdateAll, 'info', 2500);
}
private async checkPluginVersion() {
try {
let plugin_file = await serverApi.getFile('/data/plugins/siyuan-dailynote-today/plugin.json');
if (plugin_file === null) {
return;
}
let version = plugin_file.version;
info(`插件版本: ${version}`);
if (version !== settings.get('PluginVersion')) {
settings.set('PluginVersion', version);
notify(`${this.i18n.Name}: v${version}`, 'info', 1500);
}
} catch (error_msg) {
error(`Setting load error: ${error_msg}`);
}
}
openSetting(): void {
openTab({
custom: {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册