-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Closed
Description
In what scenarios do you need this feature?
目前虽然有/api/petal/setPetalEnabled接口,但这些并不是完整的开启/关闭插件的完整接口,只是后端部分的接口。
比如,开启或关闭插件,调用后端接口后,还需要前端做一些额外处理,参考如下代码
siyuan/app/src/config/bazaar.ts
Line 872 in 6ef83b4
| loadPlugin(app, response.data).then((plugin: Plugin) => { |
siyuan/app/src/plugin/loader.ts
Line 95 in 6ef83b4
| export const loadPlugin = async (app: App, item: IPluginData) => { |
因此,仅靠后端接口是无法完成真正的开启关闭插件的。
因此,建议插件开发增加真正的开启/关闭插件的方法。
为什么需要?
因为这样就可以轻易实现热加载插件。obsidian的热加载插件就是这个原理,因此能很方便的实现。而思源则只能通过模块开发时,动态加载模块来实现,常规开发无法实现。
但有时,一些简单插件是不必动用复杂的模块开发的,想仅仅通过简单的调用siyuan sdk实现一些功能即可。但由于无法实现热加载,只能靠刷新实现了。
如果支持真正的开启和关闭插件方法,就能很方便的实现热加载功能了。
Describe the optimal solution
插件开发增加开启/关闭插件的方法
Describe the candidate solution
No response
Other information
No response
Metadata
Metadata
Assignees
Labels
No labels