# 业务系统嵌入发起按钮

# 一、核心概念

# 前台集成模式

  • 定义:通过业务系统界面手动触发流程发起
  • 特点
    • 用户主动点击按钮发起流程
    • 提供确认环节后再提交
    • 支持三种数据集成方式
    • 需要处理单点登录问题

# 二、集成URL格式说明

# 2.1 基础URL结构

https://{BPM地址}/workflow/process/{流程ID}/post?{参数}

# 2.2 三种集成方式

# 方式一:带着业务系统表单跑

适用场景:直接使用业务系统原有表单界面

URL格式

https://localhost:5001/workflow/process/{流程Id}/post?formUrl={第三方表单url}

示例

https://localhost:5001/workflow/process/3a195af7-ba34-f1ce-83c2-0b7d4bae97e2/post?formUrl=https%3A%2F%2Fwww.iciba.com%2Fword%3Fw%3Daaa

参数说明

  • formUrl:需要URL编码的业务表单地址

# 方式二:带着业务系统数据跑

适用场景:使用BPM表单但操作业务系统数据

URL格式

https://localhost:5001/workflow/process/{流程Id}/post?businessKey={业务数据主键}

示例

https://localhost:5001/workflow/process/3a196db9-5e5e-c06e-0869-34721069ff81/post?businessKey=021-2015-0001

# 方式三:常规发起(带初始数据)

适用场景:预填部分表单数据

URL格式

https://localhost:5001/workflow/process/{流程Id}/post?formData={jsonData}

示例

https://localhost:5001/workflow/process/3a196db9-5e5e-c06e-0869-34721069ff81/post?formData={供应商编号:'021-2015-0001'}

# 三、实现步骤

# 3.1 业务系统改造

  1. 在业务表单添加"发起流程"按钮
  2. 按钮点击事件中拼接对应URL

# 3.2 参数获取说明

参数 来源 示例
流程ID BPM流程定义ID 3a196db9-5e5e-c06e-0869-34721069ff81
业务主键 当前业务数据ID 021-2015-0001
表单URL 业务表单详情页地址 https://www.iciba.com/word?w=aaa

# 四、注意事项

  1. URL编码:所有参数值需要进行encodeURIComponent编码
  2. 单点登录:需要额外配置SSO集成(详见专门章节)
  3. 权限控制:确保业务系统用户有流程发起权限
  4. 移动端适配:URL调用方式需兼容移动端浏览器

# 五、效果验证

  1. 在业务系统点击"发起流程"按钮
  2. 确认弹出窗口显示正确的流程表单
  3. 检查:
    • 表单是否正常加载
    • 业务数据是否正确带入
    • 提交后流程是否正常发起

注意:实际部署时需要将localhost替换为真实的BPM服务器地址,并确保网络可达。