使用手册

流程配置与使用手册

Flowcraft 是一个基于「流程图」的可视化审批与业务流程引擎。你在管理端拖拽编排流程图、设置处理人与表单字段,发布后即可发起流程;系统按图把任务派给办理人,逐步推进直至结束。

本手册介绍核心概念与配置步骤,以及抄送、条件分支、自动化节点、逾期时限、延时申请、消息通知、多空间、组织与用户管理、批量导入、数据导出、Webhook 等功能。

一、核心概念

流程与版本
一个可配置的审批流程。编辑时改的是「草稿」,发布后生成一个不可变的「版本」;已发起的流程实例始终绑定其发起时的版本,后续改动不影响进行中的流程。
流程图、节点与连线
流程的结构。节点表示一个步骤(开始 / 审批 / 子流程 / 结束),连线表示流转方向。
发起者范围与处理人
某个节点允许办理的人员集合。开始节点的发起者范围决定谁可发起;审批节点的处理人决定该步由谁办理。
表单字段
发起流程时需要填写的数据项,支持文本、数字、日期、单选、多选等多种类型。
流程实例、任务与流转记录
流程实例是流程的一次发起;任务是派给某位处理人的待办;流转记录是流程实例上发生的每一步(发起、通过、回退、转交、进入子流程、并行汇合取消等)的时间线。

二、配置一个流程(分步教程)

  1. 新建流程

    进入「流程管理」,新建流程并填写名称、描述。新流程处于「草稿」状态。

  2. 绘制流程图

    在画布上从左侧拖入「审批节点」或「子流程节点」,用连线把「开始 → 各审批 → 结束」串起来。双击子流程节点可进入其内部继续编排。

  3. 设置处理人

    点选开始 / 审批节点,配置发起者范围或处理人。开始节点的发起者范围即可发起此流程的人;审批节点的处理人即该步的办理人。

  4. 配置表单字段

    在「表单字段」页添加发起时需填写的字段,设置类型、标题、是否必填、选项与取值范围,并可拖拽排序。

  5. 校验并发布

    点击发布,系统会校验流程图合法性(见第九节)。校验通过后生成新版本,流程即可被发起。

  6. 发起与办理

    在「我的流程」选择已发布流程并填写表单发起流程;办理人在「处理看板」通过 / 回退 / 转交任务,直到流程结束。 列表中的时限展示、逾期筛选等运行期能力见第十节第十二节

三、节点类型

开始节点

每张流程图有且仅有一个。其发起者范围决定谁可发起;可开启「并行」一次进入多条分支。可开启「逾期时间(整个流程)」,发起时由发起人设置流程总时限。

审批节点(普通节点)

最常用的步骤。可设置处理人、审批方式(任一通过 / 全部通过 / 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 绑定创建时所在空间,仅能访问该空间内的数据。