mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
0.5.9
中文与插件市场
This commit is contained in:
@@ -1,41 +1,16 @@
|
||||
# 插件开发文档
|
||||
# 插件开发指南
|
||||
|
||||
LanMountainDesktop 插件基于 `LanMountainDesktop.PluginSdk` 开发。
|
||||
## 中文
|
||||
|
||||
`LanAirApp/` 负责对外发布插件开发标准、示例插件和打包工具;宿主应用内部的插件加载与解析逻辑位于 `LanMountainDesktop/plugins/`。
|
||||
`LanMountainDesktop.PluginSdk` 只提供插件作者需要依赖的开发契约,不再承载宿主侧运行时加载实现。
|
||||
使用 `LanMountainDesktop.PluginSdk` 开发插件时,至少需要准备:
|
||||
|
||||
## 必需文件
|
||||
- `plugin.json`
|
||||
- `plugin.json` 中声明的入口程序集
|
||||
- 使用插件入口特性标记的入口类型
|
||||
- 插件入口程序集
|
||||
- 入口类
|
||||
- 本地化资源
|
||||
|
||||
## 推荐开发流程
|
||||
1. 以 `LanAirApp/samples/LanMountainDesktop.SamplePlugin` 为起点。
|
||||
2. 修改 `plugin.json`,填写你自己的插件 `id`、名称、作者、版本和入口程序集。
|
||||
3. 实现 `IPlugin` 或继承 `PluginBase`。
|
||||
4. 通过 `IPluginContext` 注册服务、设置页和桌面组件。
|
||||
5. 将输出内容打包为 `.laapp` 文件。
|
||||
推荐从示例插件开始,先完成清单、入口、设置页和桌面组件,再逐步扩展业务逻辑。
|
||||
|
||||
## 运行时能力
|
||||
- 插件可以注册自己的设置页。
|
||||
- 插件可以注册自己的桌面组件。
|
||||
- 插件可以注册自己的服务,并通过插件消息总线进行通信。
|
||||
- 宿主优先加载 `.laapp` 包,其次才是散装清单。
|
||||
## English
|
||||
|
||||
## 多语言建议
|
||||
- 插件应当内置 `Localization/zh-CN.json` 与 `Localization/en-US.json`。
|
||||
- 插件界面文案、组件文案、状态文案建议统一通过插件本地化层读取。
|
||||
- 建议优先读取宿主传入的语言代码,再回退到插件默认语言。
|
||||
|
||||
## 目录建议
|
||||
一个标准插件项目建议至少包含:
|
||||
- `plugin.json`
|
||||
- `Localization/zh-CN.json`
|
||||
- `Localization/en-US.json`
|
||||
- 插件程序集与依赖文件
|
||||
|
||||
## 示例项目与工具
|
||||
- 示例插件:`LanAirApp/samples/LanMountainDesktop.SamplePlugin`
|
||||
- 打包工具:`LanAirApp/tools/LanMountainDesktop.PluginPackager`
|
||||
- 标准模板:`LanAirApp/standards/plugin.template.json`
|
||||
To build a plugin with `LanMountainDesktop.PluginSdk`, prepare the manifest, plugin assembly, entrance class, and localization resources first.
|
||||
|
||||
@@ -1,34 +1,14 @@
|
||||
# 插件打包文档
|
||||
# 插件打包指南
|
||||
|
||||
LanMountainDesktop 插件的安装包格式固定为 `.laapp`。
|
||||
## 中文
|
||||
|
||||
`LanAirApp/` 负责提供打包标准与打包工具;`.laapp` 的安装、发现和运行时加载由 `LanMountainDesktop/plugins/` 负责。
|
||||
阑山桌面插件的标准安装格式为 `.laapp`。插件项目应在仓库根目录提供:
|
||||
|
||||
## `.laapp` 格式说明
|
||||
- 本质上是一个标准 zip 压缩包
|
||||
- 包根目录必须包含 `plugin.json`
|
||||
- 包根目录还必须包含入口程序集及其依赖
|
||||
- `.laapp` 安装包
|
||||
- `README.md`
|
||||
|
||||
## 建议打包内容
|
||||
- `plugin.json`
|
||||
- `YourPlugin.dll`
|
||||
- 依赖程序集
|
||||
- `Localization/zh-CN.json`
|
||||
- `Localization/en-US.json`
|
||||
- 插件运行所需的其他资源文件
|
||||
官方市场索引只负责记录链接和校验信息。
|
||||
|
||||
## 使用打包工具
|
||||
```powershell
|
||||
dotnet run --project .\LanAirApp\tools\LanMountainDesktop.PluginPackager -- --input .\path\to\plugin-output --output .\artifacts\YourPlugin.laapp --overwrite
|
||||
```
|
||||
## English
|
||||
|
||||
## 应用内安装流程
|
||||
1. 打开 `设置 -> 插件`
|
||||
2. 点击 `打开 .laapp 插件包`
|
||||
3. 选择要安装的插件包
|
||||
4. 如果插件注册了设置页或组件,安装后重启应用
|
||||
|
||||
## 注意事项
|
||||
- `plugin.json` 中的 `entranceAssembly` 必须能在包内找到。
|
||||
- 包内应尽量避免无关开发产物。
|
||||
- `.laapp` 是标准安装格式,建议不要对外分发散装目录。
|
||||
The standard package format is `.laapp`. Plugin repositories should keep the package and `README.md` in the repository root, while the official market index stores metadata and validation data.
|
||||
|
||||
Reference in New Issue
Block a user