使用手册
流程配置与使用手册
Flowcraft 是一个基于「流程图」的可视化审批与业务流程引擎。你在管理端拖拽编排流程图、设置处理人与表单字段,发布后即可发起流程;系统按图把任务派给办理人,逐步推进直至结束。
本手册介绍核心概念与配置步骤,以及抄送、条件分支、自动化节点、逾期时限、延时申请、消息通知、多空间、组织与用户管理、批量导入、数据导出、Webhook 等功能。
一、核心概念
- 流程与版本
- 一个可配置的审批流程。编辑时改的是「草稿」,发布后生成一个不可变的「版本」;已发起的流程实例始终绑定其发起时的版本,后续改动不影响进行中的流程。
- 流程图、节点与连线
- 流程的结构。节点表示一个步骤(开始 / 审批 / 子流程 / 结束),连线表示流转方向。
- 发起者范围与处理人
- 某个节点允许办理的人员集合。开始节点的发起者范围决定谁可发起;审批节点的处理人决定该步由谁办理。
- 表单字段
- 发起流程时需要填写的数据项,支持文本、数字、日期、单选、多选等多种类型。
- 流程实例、任务与流转记录
- 流程实例是流程的一次发起;任务是派给某位处理人的待办;流转记录是流程实例上发生的每一步(发起、通过、回退、转交、进入子流程、并行汇合取消等)的时间线。
二、配置一个流程(分步教程)
-
新建流程
进入「流程管理」,新建流程并填写名称、描述。新流程处于「草稿」状态。
-
绘制流程图
在画布上从左侧拖入「审批节点」或「子流程节点」,用连线把「开始 → 各审批 → 结束」串起来。双击子流程节点可进入其内部继续编排。
-
设置处理人
点选开始 / 审批节点,配置发起者范围或处理人。开始节点的发起者范围即可发起此流程的人;审批节点的处理人即该步的办理人。
-
配置表单字段
在「表单字段」页添加发起时需填写的字段,设置类型、标题、是否必填、选项与取值范围,并可拖拽排序。
-
校验并发布
点击发布,系统会校验流程图合法性(见第九节)。校验通过后生成新版本,流程即可被发起。
三、节点类型
开始节点
每张流程图有且仅有一个。其发起者范围决定谁可发起;可开启「并行」一次进入多条分支。可开启「逾期时间(整个流程)」,发起时由发起人设置流程总时限。
审批节点(普通节点)
最常用的步骤。可设置处理人、审批方式(任一通过 / 全部通过 / N 人中 M 人通过)、是否允许转交、是否必须填写处理意见、是否手动选择下一处理人;可开启「逾期时间(下个节点 / 子流程)」为下一节点设置时限;可开启「并行」分叉,也可作为多条分支的「汇合点」。
子流程节点
引用一张内部流程图。流程走到这里会进入子流程内部,从其开始节点逐步推进,完成后回到父流程继续。子流程可嵌套。
自动化节点
无人值守的步骤。流程到达时,系统把流程信息按节点配置(推送地址、请求头、签名密钥)推送给外部系统,由外部系统通过回调接口推动流程继续(通过或回退),全程无需人工办理。可设「回调处理意见必填」,也可像审批节点一样开启并行分叉;处理人、转交、时限等人工选项对它不适用。
结束节点
至少有一个。所有活跃路径到达结束且无待办时,流程标记为「已完成」。
四、处理人、审批策略、转交与回退
处理人来源
审批节点的处理人支持三种来源,在节点的「设置处理人」中选择:
指定人员
直接选择成员,并可叠加组织与标签共同圈定范围(默认方式,见下)。
发起人
该节点处理人为流程发起人,适合「回到发起人确认」类节点。
指定前置节点处理人
该节点处理人为所选前置节点本次实际通过的处理人;若该节点未经过,则取其设置的处理人。
按组织与标签圈定范围
选择组织
选中组织后其直属成员自动纳入范围,人员变动无需修改流程配置。
标签筛选
按成员标签圈人:可多选,成员持有任一所选标签即命中。
标签组合方式
「并集 · 合并」——基础范围与标签成员合并后共同生效;「交集 · 过滤」——已选成员与组织中,持有任一所选标签的人生效。
只选标签
未选择成员或组织时,生效范围即标签成员。
前置节点处理人 × 交集
前置节点处理人中持有任一所选标签的人生效;运行时无人命中则退回全部前置节点处理人,流程不会因此中断。
发布时冻结「选了谁」,运行时按最新的组织成员与成员标签解析生效人员——发布后调整成员标签或组织成员会影响运行中的流程。发布校验会拦下没有生效处理人的节点(包括只选了标签但没有成员持有)。
审批策略与办理动作
任一通过
节点的任一处理人通过即视为该步完成,其余人的待办自动跳过。
全部通过
节点的全部处理人都通过后,该步才完成。
N 人中 M 人通过
需达到指定人数通过才算该步完成。
手动选择下一处理人
开启后,办理通过时可从候选处理人中指定下一节点的办理人(按节点审批策略校验最少人数)。
转交
开启后,办理人可把任务转交给他人(不能转交给自己或已有待办者)。
回退到上一节点
把流程回退到上一个审批节点重新处理。
回退到发起人
整个流程回退到发起人,状态变为「已回退」,发起人可修改后重新发起。
处理意见
可要求某节点办理时必须填写意见。
五、抄送
任意节点可在「设置抄送人」中配置抄送:流程走到相应时机时,被抄送人会收到消息通知,但不产生待办、无需办理。留空表示不抄送。
| 节点类型 | 可选抄送时机 |
|---|---|
| 审批节点 | 到达时 / 处理时(通过、回退) / 转交时 |
| 自动化节点、子流程节点 | 到达时 / 处理时 |
| 开始节点 | 发起时 |
| 结束节点 | 流程结束时 |
抄送人来源
与处理人一致:指定人员 / 发起人 / 指定前置节点处理人,同样支持按组织与标签圈定范围(见第四节)。
标签交集为空
前置节点处理人中持有任一所选标签的人才会被抄送;运行时无人命中则本次不抄送(与处理人的回退策略不同)。
通知内容
被抄送人按时机收到「到达 / 通过 / 回退 / 转交」对应的通知,点击可查看流程详情。
子流程图内部的开始 / 结束节点不可配抄送;对子流程整体的抄送请配在父流程的子流程节点上。
六、并行流程
在开始或审批节点上开启「并行」,办理通过时可一次选择多个下一节点,流程就此「分叉」成多条同时进行的支线;这些支线最终汇聚到同一个「汇合节点」后再继续。
分叉
并行节点必须至少有两条连出的线;发起 / 通过时选择要走的分支(可只选其中一部分)。
汇合
分叉的所有支线必须收敛到同一个节点。汇合节点可设「通过分支数」:
- 默认为 1,即任一条分支先到达即触发汇合,并自动取消其余未完成分支(此取消会在流转记录里留痕)。
- 设为分支总数则需全部分支到齐才继续。若配置值大于本次实际分叉数,系统会自动钳到实际分叉数,避免流程卡死。
嵌套并行
支线内部可以再开并行(分叉中再分叉),内层先各自汇合,再参与外层汇合。
并行中的回退
在并行支线内回退,若目标仍在并行区内,只回退当前这条支线、其余支线照常进行;若回退会越过分叉点(或回退到发起人),则整个流程一并回退。
查看进度
在流程详情中可打开「流程图」全屏视图,按节点状态着色,汇合节点会显示「已到达 / 需要」的进度。
七、条件分支
连线可以设置「条件」。发起或办理通过、选择下一节点时,只有满足条件的连线指向的节点才会出现在候选里,从而按表单内容或发起人身份自动分流。不设条件的连线始终可走。
字段条件
引用发起表单或上游节点回传字段:单选字段可限定「选中值属于指定选项」;多选字段支持「包含任一 / 包含全部」;数字字段支持「介于某个区间」。
发起人条件
按发起人身份分流:发起人属于指定用户之一,或属于指定组织(按直属组织判断)。表单里没有可作条件的字段时,仍可使用发起人条件。
多条件组合
同一条连线可设多个条件,须全部满足该连线才可走。
与并行配合
并行分叉时条件同样生效:只有满足条件的分支可被选择。
条件引用的字段必须存在且条件形式与字段类型匹配,发布校验会检查;若某次流转所有连出连线的条件都不满足,办理时会提示「无符合条件的下一节点」,请检查各分支条件的覆盖是否完整。
八、表单字段类型
| 类型 | 说明 / 可配置项 |
|---|---|
| 单行文本 | 任意短文本。 |
| 多行文本 | 较长的说明性文本。 |
| 数字 | 整数 / 数值,可设最小值、最大值。 |
| 日期时间 | 可选输入类型:日期 / 时间 / 日期时间。 |
| 手机号 | 校验为合法的中国大陆手机号。 |
| 身份证号 | 校验 18 位身份证号(含校验位)。 |
| 单选 | 从一组选项中选一个,可增删选项。 |
| 多选 | 从一组选项中选多个,可增删选项。 |
| 附件 | 上传文件,可限定允许的文件种类(图片 / PDF / Word / Excel / PPT / 文本 / 压缩包 / 音频 / 视频,不限定则任意)与上传来源(相册 / 拍摄 / 两者);图片在详情中支持点击放大预览。 |
| 定位 | 在地图上选取位置,详情中以地图展示所选地点;可配置手动调整,以及多个圆形地理围栏(命中任意一个即有效,见 README)。 |
| 成员 | 从本空间用户列表中选择,可配置单选 / 多选;详情展示所选成员姓名。 |
| 组织 | 从本空间组织树中选择,可配置单选 / 多选;详情展示所选组织名称。 |
| 计算字段 | 按 JS 公式对其他字段自动求值:编写函数体、须 return,通过 fields.字段key 引用已填值;提交时由服务端计算,只读、不可设必填;只能引用排在自己前面的计算字段。 |
字段均可设为「必填」并拖拽排序;必填项在填写页以红色 * 标记,数字 / 手机号 / 身份证等会显示填写提示。单选 / 多选 / 数字字段还可用于连线的条件分支。
回传字段
在哪配置
审批节点与自动化节点的「回传字段」页,与发起表单同一套字段类型。
何时填写
处理人通过或回退时填写,转交不填写;自动化节点由外部系统在回调中回传。
有何用途
随流转记录留痕,并可作为后续连线的条件分支输入,按办理结果自动分流。
九、校验规则与发布
发布前系统会校验整张流程图(含子流程),不满足以下规则会阻止发布并给出提示:
- 有且仅有一个开始节点,且至少有一个结束节点。
- 每个审批 / 子流程节点都至少有一条连入的线和一条连出的线。
- 所有节点都从开始节点可达,且都能到达某个结束节点。
- 流程图不能形成循环回路。
- 每个审批 / 子流程节点都必须设置处理人。
- 开启并行的节点必须至少有两条连出的线;其分支必须在结束前汇合到同一节点;同一个汇合节点不能被多个分叉共用。
- 汇合节点的「通过分支数」必须在 1 到其连入条数之间。
- 连线条件引用的表单字段必须存在,且条件形式与字段类型匹配。
发布成功后会生成一个新的不可变版本,进行中的旧流程实例不受影响。
十、逾期时限
在流程编辑器中为开始节点或审批节点开启逾期时间后,发起人或办理人在推进流程时可设置截止时间。系统取节点级时限与流程总时限中较早的一个作为实际生效截止时间。
开始节点
勾选「开启逾期时间(整个流程)」。发起流程时,发起人填写流程总截止时间。
审批节点
勾选「开启逾期时间(下个节点 / 子流程)」。发起或审批通过并选择下一节点时,可为各下一目标分别设置时限;并行分支可设不同截止时间。
子流程
进入子流程时可为子流程整体设时限;子流程内各节点时限与父流程总时限共同参与「取较早者」计算。
列表与详情展示
处理看板、发起记录等列表在「当前节点」列展示时限徽标(剩余时间 / 已逾期 / 按时完成 / 超时完成)。流程详情面板同步展示当前时限状态。
填写校验
截止时间不能早于当前时间;若存在流程总时限,各节点时限不能晚于流程总时限。校验在确认发起 / 确认通过时进行,错误显示在对应弹窗内。
十一、延时申请
任务临近截止或已经来不及时,办理人可以在待办中申请延时,审批通过后新的截止时间生效,而不必让流程直接逾期。前提:在流程编辑器中为开始节点(流程时限)或审批节点(节点时限)开启「申请延时」。
申请
在待办任务上打开「申请延时」,可对「本节点时限」与「流程时限」分别填写新的截止时间(须晚于当前时限),并附申请理由(选填)。若本节点新时限晚于流程总时限,仅延长本节点不会生效,弹窗会建议同时申请流程时限。
审批
流程时限的延时由发起人审批;本节点时限的延时由该待办的办理人确认(申请人与审批人可能是同一人,同样需要显式审批)。审批人在处理看板的「延时审批」子页签查看待审申请(带数量徽标),通过或拒绝;通过后列表与详情中的时限徽标同步更新。
取代与作废
申请人可撤回本人待审批的申请;同一时限已有本人待审申请时,再次提交会取代旧申请,他人已有待审申请时不能重复提交。流程结束或被回退后,尚未审批的延时申请自动作废。申请与审批(通过 / 拒绝)都会留在流转记录里。
十二、发起记录与处理看板
流程发布后,用户与管理员可在不同页面查看发起记录、筛选并打开详情。
我的流程
选择已发布流程并发起新流程。
处理看板
三个 Tab ——「我发起的」「待我处理」「我已参与」,分别查看本人发起、待办与已办理记录。
发起记录
(管理员)在流程管理进入某流程的「发起记录」,查看该流程下全部发起记录。
列表筛选
表头支持以下筛选(可组合):
- 发起人:按姓名模糊搜索。
- 发起时间:起止日期范围。
- 当前节点:按节点或「已结束 / 待重新发起」筛选。
- 流程状态:进行中 / 已回退 / 已完成;另可单独勾选已逾期。
- 表单字段:文本模糊、选项多选、日期范围;数字字段支持排序。
「已逾期」筛选含义
| 场景 | 匹配规则 |
|---|---|
| 我发起的 / 管理员发起记录 | 进行中且当前待办已超过生效截止时间;或已完成且结束时间晚于流程总时限(超时完成)。 |
| 待我处理 | 当前待办的生效截止时间已过期。 |
| 我已参与 | 办理完成时已超过生效截止时间(处理时超时)。 |
「已逾期」可与流程状态组合:例如「进行中 + 已逾期」仅显示当前仍逾期的流程。仅勾选「已回退 + 已逾期」通常无结果,因已回退不参与逾期判定。
十三、消息通知
任务派达、抄送、延时审批等时刻,系统会向相关人发送通知;点击通知可直达对应任务或流程详情。
通知中心
导航栏铃铛显示未读数,点开查看通知列表;支持单条已读与全部已读。
微信推送
空间配置微信且成员完成绑定后,通知同步推送到微信——模板消息优先,模板不可用时自动改发客服消息,点击直达任务页。
微信推送在管理端「微信配置」按空间独立设置,并要求系统对外地址可被微信侧访问;未配置微信或成员未绑定时仅发站内通知。
十四、组织与用户管理
组织树
「组织管理」以多级树形结构维护本空间组织:支持搜索、逐级展开、新增 / 删除子组织与成员管理。侧栏提供「批量导入」入口(见第十七节)。管理员与组织管理员可见此入口。
按组织圈定处理人
配置发起者范围或处理人时,除逐个选人外还可直接选择组织:该组织的直属成员自动纳入范围,人员变动无需改流程。
成员标签
「成员标签」(管理员)维护空间内的标签(名称、颜色、图标与备注),在用户管理的成员编辑中为成员打标签;标签可用于处理人 / 抄送人的标签筛选。删除标签会自动从成员与流程配置中移除。
用户与角色
「用户管理」(管理员)维护本空间用户的姓名、手机号与密码。角色分「空间管理员」「管理员」与「普通用户」——空间管理员可管理所有空间(见第十六节),管理员可进入本空间各管理页面。手机号在本空间内唯一,不同空间可注册相同手机号。
模拟登录
管理员可在用户列表对某个用户「模拟登录」,以该用户视角查看和操作;空间管理员还可从「空间管理」跨空间模拟登录。普通管理员仅可模拟本空间用户。结束后导航栏「返回管理员」一键恢复。
删除保护
创建过流程、发起过流程、仍有待办任务或被流程节点引用的用户不可删除,删除时会给出具体原因,避免破坏历史记录。
十五、数据导出
管理员可以把常用数据导出为表格文件。导出在后台异步生成,不阻塞页面操作,生成后到「导出记录」下载。
成员导出
在「用户管理」点击导出图标,导出全部成员(编号、姓名、手机号、角色、创建时间)。
组织导出
在「组织管理」点击导出图标,按层级顺序导出组织(含上级组织、层级深度、成员数)。
流程记录导出
在某流程的「发起记录」点击导出图标,按当前筛选条件导出该流程的发起记录;除状态、发起人、当前节点、时间等固定列外,还包含发起表单的各字段列(多版本字段自动合并表头)。
导出记录
导航「导出记录」页列出本人发起的导出任务:状态(排队中 / 处理中 / 已完成 / 失败)、文件大小与耗时;完成后可下载,也可删除记录。文件为通用表格格式,可直接用表格软件打开。
十六、多空间
空间是数据隔离边界。每个空间拥有独立的用户、组织、流程、接口授权(API 凭证)与微信配置,彼此不可见。
空间管理员
可增删改所有空间、浏览任意空间成员、跨空间模拟登录。导航可见「空间管理」入口。
管理员
管理自己所属空间的流程、用户、组织等;模拟登录限本空间。即使在用户管理页,空间管理员也仅看到本空间用户列表。
普通用户
在本空间内发起与办理流程,无管理后台入口。
登录与选空间
同一手机号可在多个空间注册(各空间密码可不同)。登录时系统用密码匹配:
- 无匹配 → 提示手机号或密码错误。
- 唯一匹配 → 自动进入该空间。
- 多个匹配 → 进入「选择登录空间」页,点选空间名称后完成登录。
空间管理
空间管理员在「空间管理」页可:
- 查看各空间名称、成员数;新增 / 编辑 / 删除空间(默认空间不可删;非空空间不可删)。
- 左侧选择空间,右侧按角色分组浏览成员,支持按姓名或手机号搜索。
- 对任意成员「登录为 TA」,以该用户视角操作(跨空间)。
微信配置、接口授权均在各自空间内独立维护;对外 API 凭证创建时绑定所在空间,集成方只能访问该空间数据。
十七、批量导入
管理员可在「用户管理」与「组织管理」侧栏点击「批量导入」,上传 CSV 或 Excel 文件批量创建成员或组织。导入在后台异步执行,进度与历史显示在弹窗内。
成员导入
表头须与模板完全一致:
| 列名 | 说明 |
|---|---|
| 用户名 | 必填 |
| 手机号 | 必填;本空间内唯一 |
| 密码 | 必填,至少 6 位 |
| 权限 | 「管理员」或「普通用户」(亦接受 admin / member);不可导入空间管理员 |
组织导入
表头须与模板完全一致:
| 列名 | 说明 |
|---|---|
| 序号 | 必填,以 P 开头(如 P1),文件内唯一,仅用于建立父子关系 |
| 组织名称 | 必填;同一父级下不可重复 |
| 父组织 | 留空表示根组织;P 开头引用文件内序号;纯数字引用已有组织 ID |
行可乱序提交,系统按依赖关系排序创建;若父组织引用形成环,整批拒绝。
通用规则
- 支持
.csv、.xlsx、.xls,单文件不超过 5MB。 - 全量校验:任一行的错误会导致整批不创建。
- 每用户最多 2 个进行中的导入任务;弹窗内可下载模板、查看历史记录并删除已完成记录。
- 进行中的任务每 3 秒自动刷新状态;完成后列表 / 组织树自动刷新。
十八、流程级 Webhook
面向管理员与集成方:流程发生关键事件时,系统向配置的外部地址发送 POST 请求。入口在流程编辑页的「Webhook」页签;一个流程可配置多个 Webhook,配置对该流程全部版本的流程实例生效。
| 事件 | 触发点 |
|---|---|
| proposed | 流程发起 |
| arrived | 到达节点 |
| approved | 节点通过 |
| refused | 回退 |
| transferred | 转交 |
| completed | 流程结束 |
验签
事件发生时向该地址发送 POST 请求,请求头含 X-Flowcraft-Event 与基于 secret 的 X-Flowcraft-Signature 签名(对请求体的 HMAC-SHA256),消费方应验签后再处理。
去重
X-Flowcraft-Delivery 在重试之间保持稳定,消费方可用它对重复投递去重。
重试
投递失败自动重试;投递结果不影响流程本身的推进。一次动作可能产生多个事件(如通过审批 = 节点通过 + 下一节点到达)。
重置密钥
可随时停用某个 Webhook 或重置其签名密钥;重置后旧凭证立即失效。
请求体字段结构与验签代码示例见项目 README「流程级 Webhook」章节。
对外 API v1
面向外部系统的 REST 集成接口,用于管理组织与用户、按指定流程发起与查询流程记录。
认证方式为请求头 Authorization: Bearer <JWT>,由集成方使用 app_secret 本地签发。
管理员在
接口授权
页创建 App 并配置模块权限。每个 App 绑定创建时所在空间,仅能访问该空间内的数据。