# 业务系统嵌入发起按钮
# 一、核心概念
# 前台集成模式
- 定义:通过业务系统界面手动触发流程发起
 - 特点:
- 用户主动点击按钮发起流程
 - 提供确认环节后再提交
 - 支持三种数据集成方式
 - 需要处理单点登录问题
 
 
# 二、集成URL格式说明
# 2.1 基础URL结构
https://{BPM地址}/workflow/process/{流程ID}/post?{参数}
# 2.2 三种集成方式
# 方式一:带着业务系统表单跑
适用场景:直接使用业务系统原有表单界面
URL格式:
https://localhost:5001/workflow/process/{流程Id}/post?formUrl={第三方表单url}
示例:
https:/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:/workflow/process/3a196db9-5e5e-c06e-0869-34721069ff81/post?businessKey=021-2015-0001
# 方式三:常规发起(带初始数据)
适用场景:预填部分表单数据
URL格式:
https://localhost:5001/workflow/process/{流程Id}/post?formData={jsonData}
示例:
https:/workflow/process/3a196db9-5e5e-c06e-0869-34721069ff81/post?formData={供应商编号:'021-2015-0001'}
# 三、实现步骤
# 3.1 业务系统改造
- 在业务表单添加"发起流程"按钮
 - 按钮点击事件中拼接对应URL
 
# 3.2 参数获取说明
| 参数 | 来源 | 示例 | 
|---|---|---|
| 流程ID | BPM流程定义ID | 3a196db9-5e5e-c06e-0869-34721069ff81 | 
| 业务主键 | 当前业务数据ID | 021-2015-0001 | 
| 表单URL | 业务表单详情页地址 | https://www.iciba.com/word?w=aaa | 
# 四、注意事项
- URL编码:所有参数值需要进行encodeURIComponent编码
 - 单点登录:需要额外配置SSO集成(详见专门章节)
 - 权限控制:确保业务系统用户有流程发起权限
 - 移动端适配:URL调用方式需兼容移动端浏览器
 
# 五、效果验证
- 在业务系统点击"发起流程"按钮
 - 确认弹出窗口显示正确的流程表单
 - 检查:
- 表单是否正常加载
 - 业务数据是否正确带入
 - 提交后流程是否正常发起
 
 
注意:实际部署时需要将localhost替换为真实的BPM服务器地址,并确保网络可达。