# 增加集成组件

# 开发概览

# 组件构成要素

组成部分 功能说明 示例文件
前端显示 定义设计器中的节点外观 Sprite.js/Sprite.png
属性配置 提供配置界面 propertypages/目录
数据结构 定义输入输出参数格式 tree/InputTree.js
执行逻辑 实现实际集成功能 SAPProvider.cs

# 前端组件开发

  1. 基础文件创建

    Web\wwwroot\Yiez\esb\sprites\[组件名称]\
    ├── Sprite.js    // 节点图形定义
    ├── Sprite.png   // 节点图标
    ├── propertypages/  // 属性页配置
    └── tree/        // 数据结构定义
    
  2. 节点注册(添加到工具栏)

    • 修改esb/designer/ESBDS.js
    // 示例
     15 行:就是把SAP集成组件放到工具条上
     28 行:就是把用友U8集成组件放到工具条上
    

# 后端执行逻辑开发

  1. 创建类库项目

    • 模板:.NET Class Library
    • 命名规范:Yiez.ESB.[组件名称]
  2. 核心代码结构

    // SAPProvider.cs 示例
    public class MyComponentProvider : IESBProvider 
    {
        // 依赖注入示例
        private readonly ILogger _logger;
        
        public MyComponentProvider(ILogger logger) {
            _logger = logger;
        }
    
        // 必须实现的执行方法
        public async Task<ESBResult> ExecuteAsync(Dictionary<string, object> input) {
            // 业务逻辑实现
            return new ESBResult {
                Success = true,
                Data = processedData
            };
        }
    }
    

# 组件部署与注册

  1. 部署步骤

    A[编译生成DLL] -->    B[复制到BPM根目录]
    B -->    C[自动加载]
    
  2. 文件位置要求

    /BPM_Server/
    ├── bin/
    │   └── Yiez.ESB.MyComponent.dll
    

# 完整开发流程

  1. 标准开发路径

    • 创建前端组件文件
    • 注册到设计器工具栏
    • 开发后端执行逻辑
    • 编译部署DLL
    • 测试验证
  2. 详细文档参考

    • 系统菜单 > 系统扩展 > 增加集成组件
    • 包含:
      • 完整API文档
      • 调试技巧
      • 性能优化建议

# 注意事项

  1. 图标规范:

    • 尺寸:64x64像素
    • 格式:PNG透明背景
  2. 依赖注入:

    • 支持注入的常用服务:
      ILogger, IConfiguration, IHttpClientFactory
      
  3. 推荐实践:

    • 高频集成需求建议封装为自定义组件
    • 复杂组件建议由厂商专业开发