mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
1.8 KiB
1.8 KiB
插件开发文档
LanMountainDesktop 插件基于 LanMountainDesktop.PluginSdk 开发。
LanAirApp/ 负责对外发布插件开发标准、示例插件和打包工具;宿主应用内部的插件加载与解析逻辑位于 LanMountainDesktop/plugins/。
LanMountainDesktop.PluginSdk 只提供插件作者需要依赖的开发契约,不再承载宿主侧运行时加载实现。
必需文件
plugin.jsonplugin.json中声明的入口程序集- 使用插件入口特性标记的入口类型
推荐开发流程
- 以
LanAirApp/samples/LanMountainDesktop.SamplePlugin为起点。 - 修改
plugin.json,填写你自己的插件id、名称、作者、版本和入口程序集。 - 实现
IPlugin或继承PluginBase。 - 通过
IPluginContext注册服务、设置页和桌面组件。 - 将输出内容打包为
.laapp文件。
运行时能力
- 插件可以注册自己的设置页。
- 插件可以注册自己的桌面组件。
- 插件可以注册自己的服务,并通过插件消息总线进行通信。
- 宿主优先加载
.laapp包,其次才是散装清单。
多语言建议
- 插件应当内置
Localization/zh-CN.json与Localization/en-US.json。 - 插件界面文案、组件文案、状态文案建议统一通过插件本地化层读取。
- 建议优先读取宿主传入的语言代码,再回退到插件默认语言。
目录建议
一个标准插件项目建议至少包含:
plugin.jsonLocalization/zh-CN.jsonLocalization/en-US.json- 插件程序集与依赖文件
示例项目与工具
- 示例插件:
LanAirApp/samples/LanMountainDesktop.SamplePlugin - 打包工具:
LanAirApp/tools/LanMountainDesktop.PluginPackager - 标准模板:
LanAirApp/standards/plugin.template.json