东莞市连易网络科技有限公司
东莞市连易网络科技有限公司
  • 网站
  • 用户
  • 购物车
  • 购物车
  • 搜索
  • 网站
  • 用户
帮助
帮助
开发文档 出厂默认小组件提供程序
  • 用户文档
  • 开发文档
  • API文档
  • 提及
  • 标签
  • 更多
  • 取消
  • 新建
  • +开始
  • -UI 自定义
    • -UI 扩展
      • HTML 标头
      • HTTP 回调
      • Sockets
      • 出厂默认小组件提供程序
      • 小组件上下文
      • 小组件扩展
      • 扩展上下文管理 UI
      • 扩展内容编辑器
      • 扩展系统管理 UI
      • 页面定义和 URL 路由
    • UI 自动化
    • 主题
    • +小组件
  • +外部集成
  • +插件/框架扩展

出厂默认小组件提供程序

出厂默认小组件提供程序允许小组件的逻辑和物理分离。

为什么使用工厂默认提供程序?

  • 源代码管理。 每个工厂提供程序都有一个单独的文件夹,用于存储其小组件(在 defaultwidgets/{出厂默认提供程序标识符} 下的文件夹中)。此外,每个小组件都保存为单个 xml 文件,以及一个包含该小组件的任何补充文件的文件夹。这种分离和组织有助于使用源代码管理来维护小组件更新。管理小组件源文章提供了有关工厂默认提供程序、开发人员模式以及在使用小组件时使用源代码管理的其他详细信息。
  • 确保小组件可用。 在提供自定义功能(内容、小组件扩展和页面)时,最好知道为该功能定义 UI 的小组件可用。出厂默认小组件提供程序定义的小组件可以在小组件编辑器中编辑,但不能将其移除。这可确保小组件在页面的出厂默认定义中可以安全引用。
  • 启用/禁用小组件。 在开发依赖于启用的其他插件小组件(例如:第三方应用程序)时,将小组件组合在出厂默认提供程序中时,可以启用/禁用提供程序及其小组件以及所需的功能。

小组件文件存储

每个出厂默认提供程序都使用其标识符作为文件夹名称并将其默认小组件存储在平台的 filestorage/defaultwidgets 文件夹下。小组件作为单个 xml 文件存储在该文件夹下。小组件的补充文件将存储在以该小组件的标识符命名的单个文件夹中。

例如,假设我们有一个文件存储提供程序,其标识符为“94e649b8113b44369881b0fe8fa186ba”。该提供程序有两个小组件 Widget1 和 Widget2。如果 Widget1 没有补充文件,而 Widget2 有 3 个补充文件,标识符为 'fdefb3502fcd4ba8a872912477e5358b'。此提供程序的文件存储将是:

  • filestorage
    • defaultwidgets 
      • 94e649b8113b44369881b0fe8fa186ba
        • Widget1.xml
        • Widget2.xml
        • fdefb3502fcd4ba8a872912477e5358b
          • widget.js
          • image.jpg
          • save.vm

创建小组件工厂默认提供程序

IScriptedContentWidgetFactoryDefaultProvider 接口有一个属性:

interface IScriptedContentWidgetFactoryDefaultProvider : IPlugin
{
	Guid ScriptedContentWidgetFactoryDefaultIdentifier { get;  }
}

此属性应返回提供程序的唯一标识符。

示例

using System;
using Limyee.Extensibility.UI.Version1;

namespace Samples
{
    public class SampleWidgetProvider : IScriptedContentWidgetFactoryDefaultProvider
    {
        #region IScriptedContentWidgetFactoryDefaultProvider Members
        private readonly Guid _identifier = new Guid("f9430fc0-b712-46e3-9876-74f13220e447");

        public Guid ScriptedContentWidgetFactoryDefaultIdentifier
        {
            get { return _identifier; }
        }
        #endregion

        #region IPlugin Members
        public string Name
        {
            get { return "小组件提供程序示例"; }
        }

        public string Description
        {
            get { return "小组件的工厂提供程序示例。"; }
        }

        public void Initialize() { }
        #endregion
    }
}

该示例创建一个名为“小组件提供程序示例”的提供程序。启用此插件后,filestorage/defaultwidgets/f9430fc0b71246e3987674f13220e447 文件夹中的任何小组件源文件(使用上面的格式)都将在小组件编辑器中可用。

  • 分享
  • 历史
  • 更多
  • 取消
相关
推荐
Copyright © 2021 东莞市连易网络科技有限公司. All rights reserved.
Powered by Limyee Commerce System(3.0.0). © 2014 - 2025 Limyee Inc.