BPMAXBPMAX
  • 快速入门
  • 核心概念
  • 管理员手册
  • 仿真和回放
  • 流程相关脚本
  • 表单相关脚本
  • 数据集相关脚本
  • 界面相关脚本
  • 系统相关脚本
  • 流程集成
  • 数据集
  • 接口集成
  • 实体映射
  • OpenAPI
  • 实体列表
  • 插件开发
  • 日志排查
  • 飞书平台

    • 同步组织架构
    • 同步团队组织架构
    • 一键拉群
    • 高级卡片消息
    • 服务台能力
  • 实用功能

    • 系统公告
    • 项目日历
    • 超时自动化
    • 报告自动生成
    • 流程资源档案
  • 文档更新记录
  • 系统更新说明
  • 快速入门
  • 核心概念
  • 管理员手册
  • 仿真和回放
  • 流程相关脚本
  • 表单相关脚本
  • 数据集相关脚本
  • 界面相关脚本
  • 系统相关脚本
  • 流程集成
  • 数据集
  • 接口集成
  • 实体映射
  • OpenAPI
  • 实体列表
  • 插件开发
  • 日志排查
  • 飞书平台

    • 同步组织架构
    • 同步团队组织架构
    • 一键拉群
    • 高级卡片消息
    • 服务台能力
  • 实用功能

    • 系统公告
    • 项目日历
    • 超时自动化
    • 报告自动生成
    • 流程资源档案
  • 文档更新记录
  • 系统更新说明
  • 插件开发入门

    • 插件开发
    • 插件架构与加载机制
    • 环境准备与开发模式
    • 第一个最小插件
  • 插件能力开发

    • 前端扩展点实战
    • 后端扩展点实战
    • 前后端联动完整案例:任务集成插件
  • 插件运行机制

    • 配置、安装、升级与发布
    • 定时任务与异步处理
    • Hook 机制与平台事件接入
    • 外部系统集成模式
  • 进阶与参考

    • 调试与排错
    • 设计规范与最佳实践
    • 能力类型索引与选型

能力类型索引与选型

本文按能力类型整理 BPMAX 插件的常见开发方向,帮助你根据目标快速选择合适的实现方式。

使用方式

  • 先按目标选择能力类型
  • 再查看这一类能力涉及的前端和后端扩展点
  • 最后决定是否需要 Hook、定时任务或第三方集成

能力类型总表

能力类型典型目标前端扩展点后端扩展点Hook定时任务适合阶段
最小页面型增加独立页面路由简单接口否否入门
UI 插槽型给现有页面增加按钮或区块UI 插槽轻量接口可选否入门
流程配置型给流程或环节增加配置能力流程配置组件服务逻辑可选否进阶
任务集成型对接第三方任务或消息系统流程配置、页面第三方调用可选可选进阶
批处理型周期执行批量任务可选页面批处理服务可选是进阶
事件驱动型监听平台事件并执行附加逻辑可选页面Hook 服务是可选高级
组织同步型同步组织、用户、团队信息UI 插槽、页面Hook、同步服务是可选高级
资源上报型上报指标和资源消耗可选页面队列、重试、上报服务否是高级

按需求选型

我只想做一个新页面

选择“最小页面型”。

最小页面型通常从这段代码开始:

BPMAX.router.addRoute({
  path: '/plugin/hello-demo',
  component: HelloPage,
});

我想给平台页面插一个按钮或配置块

选择“UI 插槽型”。

典型代码如下:

BPMAX.ui.register('Slot.Table.RowActions', TaskActionButton);

我想给流程编辑器增加配置项

选择“流程配置型”。

典型代码如下:

BPMAX.flow.stepComponent({
  field: 'plugin_task_integration',
  component: TaskStepConfig,
  defaultValue: {
    enabled: false,
    platform_id: '',
    mapping_function: '',
  },
});

我想对接外部系统接口

优先在“任务集成型”与“自定义鉴权型能力”之间判断。

如果重点是鉴权链路,优先看 外部系统集成模式 中的“自定义鉴权插件”。

我想做定时任务或批处理插件

选择“批处理型”或“资源上报型”。

最小任务配置示例:

export default {
  reportJob: {
    cron: '0 */15 * * * *',
    enable: true,
    handle: '/api/plugin_example/job/report',
  },
};

我想做事件驱动或组织同步类插件

选择“事件驱动型”或“组织同步型”。

Hook 型入口示例:

think.addPluginHook('workflow.step.active', async function (context) {
  await think.service('plugin_example_hook').handleStepActive(context);
  return context;
});

按复杂度选型

入门案例

  • 最小页面型
  • UI 插槽型

中等复杂度案例

  • 流程配置型
  • 任务集成型
  • 批处理型

高复杂度案例

  • 事件驱动型
  • 组织同步型
  • 资源上报型

建议阅读路线

前端扩展路线

  1. 第一个最小插件
  2. 前端扩展点实战
  3. 后端扩展点实战

后端服务路线

  1. 后端扩展点实战
  2. 配置、安装、升级与发布
  3. 定时任务与异步处理

集成插件路线

  1. 前后端联动完整案例:任务集成插件
  2. Hook 机制与平台事件接入
  3. 外部系统集成模式
  4. 调试与排错

相关文档

  • 第一个最小插件
  • 前后端联动完整案例:任务集成插件
  • 外部系统集成模式
Prev
设计规范与最佳实践