插件是 IPlugin 接口的实现。插件用于与 Limyee 电商平台的进程 API 交互,直接安装在运行 Limyee 电商平台的每个网站应用和作业调度器节点中 。
IPlugin 是所有插件的基本接口。额外的特殊用途的插件类型扩展了 IPlugin,以提供对特殊情况功能的访问,并使与 Limyee 电商平台组件更紧密集成。例如,IActivityStoryType 插件接口扩展了 IPlugin,为扩展 Limyee 电商平台动态提供支持。
插件管理器既管理插件的生命周期,又提供获取特定插件类型实例的访问权限。
开始
插件是实现一个或多个插件接口的 .NET 类。要创建新插件:
- 为Limyee电商平台设置开发环境。
- 使用 .NET 4.x 在 Visual Studio 中创建新的 .NET 类库项目。
- 添加 Limyee 电商平台程序集引用,该程序集在与实现插件的关联文档中查看。例如,要实现 IPlugin,需要参考:Limyee.Components.dll。
- 在类库项目中创建新的 public class。
- 实现插件类型。例如,下面的类将实现 IPlugin:
using System; namespace Samples { public class MyPlugin : Limyee.Extensibility.Version1.IPlugin { } }
右键单击代码中的 IPlugin 引用,然后选择“实现接口”,Visual Studio 将生成插件类型的实现。例如,上面的代码一旦生成出来,就会产生:
using System; namespace Samples { public class MyPlugin : Limyee.Extensibility.Version1.IPlugin { #region IPlugin Members public string Name { get { throw new NotImplementedException(); } } public string Description { get { throw new NotImplementedException(); } } public void Initialize() { throw new NotImplementedException(); } #endregion } }
- 更新插件的名称和描述。这些属性将用于在管理 UI (插件会分类、启用和配置)中标识此插件。
- 实现由插件类型定义的成员。这就是定义你的插件的作用。例如,它可以将事件处理程序附加到进程 API 公开的事件,并在该事件发生时执行操作。
- 生成解决方案。
- 将生成的程序集(例如:示例 .dll 复制到每个 Limyee 电商平台网站节点和作业调度程序实例的根文件夹节点中。
- 以管理员身份,转到“管理”,浏览现有类别或搜索插件,启用插件,然后保存更改。
- 您的插件现在在Limyee电商平台中运行。
最佳实践
开发插件时要记住一些最佳实践:
- 确保插件类可公开访问。
- 要么不定义显式构造函数,要么确保存在 public 的无参数构造函数。public 的无参数构造函数是插件管理器用来实例化插件的构造函数。
- 仅在 Initialize 方法中注册事件处理程序。
- 在调用插件的 Initialize 方法之前,不要附加到任何资源(数据库、文件系统等)。
- 使用单个插件类实现多个插件接口。插件类型都是接口,以便能够使用单个具体类实现多个接口。
- 在需要时使用其他基本插件类型:
- IInstallablePlugin: 使插件能够实现自己的安装生命周期,并支持安装,升级,降级和卸载。
- IConfigurablePlugin: 使插件能够在“管理后台”的“管理插件”页面上配置插件。
- IRequired: 使用插件确保在允许启用插件之前,检验用户提供最少量的配置信息。
- IRenderable: 可配置接口使可配置插件能够呈现自定义配置UI。
- IPluginGroup: 允许将多个依赖插件作为一个组启用/禁用。
- ITranslatablePlugin: 使插件能够管理可翻译的文本资源。
- ITemplatablePlugin: 支持基于文本的配置,以利用基于编辑器的模板。
- IScriptablePlugin: 使插件能够通过小组件定义 UI,然后可以选择在平台小组件编辑器中进行编辑。
- ISingletonPlugin: 强制单个实例插件衍生只启用一次。
了解有关插件的更多信息
插件生命周期
了解插件生命周期。
插件示例
查看插件示例以了解有关插件实现和特定插件类型的更多信息。
异常和日志记录
插件可以利用 Limyee 电商平台的异常渲染和日志记录功能来简化错误和记录过程日志。
插件 API 文档
查看插件 API 文档,了解平台插件类型的完整列表。
进程 API 文档
插件主要使用进程 API 与 Limyee 电商平台进行交互。