diff --git a/app/src/config/bazaar.ts b/app/src/config/bazaar.ts index 510efa8f2..f108a4d56 100644 --- a/app/src/config/bazaar.ts +++ b/app/src/config/bazaar.ts @@ -730,7 +730,7 @@ export const bazaar = { this._genMyHTML(bazaarType, app); bazaar._onBazaar(response, bazaarType, ["themes", "icons"].includes(bazaarType)); if (bazaarType === "plugins") { - uninstall(app, packageName); + uninstall(app, packageName, true); } }); }); diff --git a/app/src/plugin/index.ts b/app/src/plugin/index.ts index 01fe29b70..512b88241 100644 --- a/app/src/plugin/index.ts +++ b/app/src/plugin/index.ts @@ -74,7 +74,11 @@ export class Plugin { } public onunload() { - // 禁用/卸载 + // 禁用/关闭 + } + + public uninstall() { + // 卸载 } public onLayoutReady() { diff --git a/app/src/plugin/uninstall.ts b/app/src/plugin/uninstall.ts index 1d863b58f..6eb45c1d0 100644 --- a/app/src/plugin/uninstall.ts +++ b/app/src/plugin/uninstall.ts @@ -3,12 +3,15 @@ import {Plugin} from "../plugin"; import {getAllModels} from "../layout/getAll"; import {resizeTopBar} from "../layout/util"; -export const uninstall = (app: App, name: string) => { +export const uninstall = (app: App, name: string, isUninstall = false) => { app.plugins.find((plugin: Plugin, index) => { if (plugin.name === name) { // rm command try { plugin.onunload(); + if (isUninstall) { + plugin.uninstall(); + } } catch (e) { console.error(`plugin ${plugin.name} onunload error:`, e); }