From 3653445abc93070fd91414dcf2ec22e926397649 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 20 Jan 2024 22:01:18 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/10203 --- app/src/index.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/index.ts b/app/src/index.ts index 40b05d9dd..b285206f3 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -25,7 +25,8 @@ import {getAllTabs} from "./layout/getAll"; import {getLocalStorage} from "./protyle/util/compatibility"; import {getSearch} from "./util/functions"; import {hideAllElements} from "./protyle/ui/hideElements"; -import {loadPlugins} from "./plugin/loader"; +import {afterLoadPlugin, loadPlugins} from "./plugin/loader"; +import {uninstall} from "./plugin/uninstall"; import "./assets/scss/base.scss"; export class App { @@ -59,6 +60,16 @@ export class App { }); if (data) { switch (data.cmd) { + case "reloadPlugin": + this.plugins.forEach((plugin) => { + uninstall(this, plugin.name); + }); + loadPlugins(this).then(() => { + this.plugins.forEach(item => { + afterLoadPlugin(item); + }); + }); + break; case "syncMergeResult": reloadSync(this, data.data); break; @@ -151,7 +162,7 @@ export class App { window.siyuan.config = response.data.conf; await loadPlugins(this); getLocalStorage(() => { - fetchGet(`/appearance/langs/${window.siyuan.config.appearance.lang}.json?v=${Constants.SIYUAN_VERSION}`, (lauguages:IObject) => { + fetchGet(`/appearance/langs/${window.siyuan.config.appearance.lang}.json?v=${Constants.SIYUAN_VERSION}`, (lauguages: IObject) => { window.siyuan.languages = lauguages; window.siyuan.menus = new Menus(this); bootSync();