diff --git a/app/src/plugin/index.ts b/app/src/plugin/index.ts index 8e242b9cf..3ea80aa16 100644 --- a/app/src/plugin/index.ts +++ b/app/src/plugin/index.ts @@ -43,6 +43,10 @@ export class Plugin { // 加载 } + public onunload() { + // 禁用/卸载 + } + public addTopBar(options: { icon: string, title: string, diff --git a/app/src/plugin/uninstall.ts b/app/src/plugin/uninstall.ts index 365d2d813..33777ff66 100644 --- a/app/src/plugin/uninstall.ts +++ b/app/src/plugin/uninstall.ts @@ -6,6 +6,8 @@ import {exportLayout} from "../layout/util"; export const uninstall = (app: App, name: string) => { app.plugins.find((plugin: Plugin, index) => { if (plugin.name === name) { + // rm command + plugin.onunload(); // rm tab const modelsKeys = Object.keys(plugin.models); getAllModels().custom.forEach(custom => { @@ -28,11 +30,6 @@ export const uninstall = (app: App, name: string) => { window.siyuan.layout.bottomDock.remove(key); } }); - exportLayout({ - reload: false, - onlyData: false, - errorExit: false - }); // rm listen Array.from(document.childNodes).find(item => { if (item.nodeType === 8 && item.textContent === name) { @@ -42,6 +39,11 @@ export const uninstall = (app: App, name: string) => { }); // rm plugin app.plugins.splice(index, 1); + exportLayout({ + reload: false, + onlyData: false, + errorExit: false + }); return true; } });