Skip to content

操作手册 · 总览与最短路径 ​

面向已经把系统部署起来的人:怎么在浏览器里设计一条流程、绑定表单、配好参与人,然后自己走一遍审批。 不讲引擎内部怎么执行(见设计原理),也不讲怎么把 jeeflow 接进自己的框架(见用户指南 10)。

本手册以 Spring Boot 4 一键部署包为例。其余 12 个语言栈用的是同一个前端镜像,界面完全一致,只有端口不同(见 §2.3)。 全部截图取自净装镜像,未做任何数据预置。

1. 你会得到什么 ​

一条 curl 命令拉起四个容器:

容器内容本机端口
boot4j-nginxvben5 管理后台(含流程设计器、发起页、审批页)21080
boot4j-apimldong-boot4 + jeeflow 引擎24000
boot4j-mysqlMySQL,已内置表结构与演示数据24306
boot4j-redisRedis27379

要求 Docker Compose v2(Docker 20.10+)。

2. 部署 ​

2.1 一条命令 ​

bash
curl -fsSL https://www.mldong.com/deploy/mldong-boot4-jeeflow/deploy.sh | bash

脚本自己会 pull → up -d → 等 MySQL 健康 → 轮询登录接口,最后打印:

=== 🎉 部署完成 ===
  前端: http://localhost:21080
  API:  http://localhost:24000
  登录: superAdmin / 123456

2.2 什么时候算真的起来了 ​

MySQL 显示 healthy 不等于可用。 后端首启会跑一次数据初始化,可能比 MySQL 慢几十秒,中途还会重启一次。判据只有一个:

bash
curl -s -X POST http://localhost:24000/sys/login \
  -H "Content-Type: application/json" \
  -d '{"userName":"superAdmin","password":"123456"}' | head -c 40
# 看到 {"code":0,...} 才算就绪

返回 99999999 或连不上就再等;持续失败看日志:docker logs boot4j-api。

2.3 各语言栈端口对照 ​

把命令里的 mldong-boot4-jeeflow 换成下表目录名即可,界面与操作完全相同:

栈部署目录前端API项目名
Spring Boot 4mldong-boot4-jeeflow2108024000boot4j
Spring Boot 3mldong-boot3-jeeflow2218025100boot3j
Spring Boot 2mldong-boot2-jeeflow2208025000boot2j
GoFramemldong-goframe-jeeflow2008023000goframe
Ginmldong-gin-jeeflow3108031000ginj
Hertzmldong-hertz-jeeflow3208032000hertzj
FastAPImldong-fastapi-jeeflow2318026100fastapij
Flaskmldong-flask-jeeflow2908029000flaskj
Djangomldong-django-jeeflow3008030000djangoj
NestJSmldong-nestjs-jeeflow2708027000nestjsj
Laravelmldong-laravel-jeeflow1808218083laravelj
Salvo (Rust)mldong-salvo-jeeflow2808028100salvoj
ASP.NET Coremldong-csharp-jeeflow3308033000csharpj

停止并清掉数据:docker compose -p <项目名> down -v(-v 会删卷,下次是全新演示数据)。

3. 净装就有的演示数据 ​

手册后面直接用这些数据走查,不需要你先建任何东西。

3.1 九条已部署流程 ​

登录后进 工作流程 → 流程设计 可看到(工作流程 → 流程定义 里是 28 行,因为同名流程有多个版本):

显示名称唯一编码流程分类
请假申请biz_leave假勤管理
报销申请biz_reimburse人事管理
岗位异动申请biz_transfer人事管理
采购申请biz_purchase业务管理
合同审批biz_contract业务管理
用印申请biz_seal业务管理
加班申请biz_overtime业务管理
出差申请biz_business_trip业务管理
资产领用申请biz_asset业务管理

3.2 账号与部门 ​

密码统一 123456。superAdmin 是超级管理员,所有权限码直接放行;普通账号只能看到自己被授权的功能,第一次建议就用 superAdmin 走完手册。

用户名姓名部门在示例流程里的位置
superAdmin超级管理员—设计流程、部署、启停
wuhao吴昊研发部发起人
lina李娜研发部部门经理(研发部负责人之一)
admin蒙立东研发部部门经理(研发部负责人之一,任一同意即可)
u0011王强总经理办研发部分管领导、终审
u0010黄红财务部财务审批
zhaomin赵敏财务部会签成员
zhengfang郑芳财务部会签成员
u0012李青人事部人事审批
liuyang刘洋人事部人事审批
sunli孙丽市场部转办、加签目标
zhoulei周磊行政部行政审批

部门与负责人的对应关系直接决定"部门经理审批"这类节点派给谁,改流程前先在 系统设置 → 部门管理 里确认。

4. 30 分钟跑通一条请假流程 ​

用现成的 请假申请:发起 → 部门经理 → 按天数决定是否再走分管领导 → 结束。规则是 f_days > 3 才进分管领导审批,所以天数填 5 能走完整条链,填 2 会在部门经理之后直接结束。

步骤 1 打开发起页 ​

左侧 工作流程 → 发起申请。流程按分类分组,每张卡片一个流程。

发起申请:按流程分类分组的卡片

步骤 2 填表提交 ​

点 请假申请 卡片,右侧滑出"启动流程"抽屉,里面就是这个流程绑定的表单(请假类型、请假天数、请假事由)。填完点 确认。

启动流程抽屉:请假类型 / 请假天数 5 / 请假事由

怎么算成功:抽屉自动关闭并提示成功;我发起的 里出现一条进行中的实例。

发起的瞬间,第一个节点"发起申请"由引擎自动办结(参与人就是发起人自己),所以你不会在我的待办里看到它。

步骤 3 换部门经理账号办理 ​

退登(右上角头像 → 退出登录),用 lina / 123456 登录,进 工作流程 → 我的待办。

我的待办:部门经理审批一行,操作列有办理和委托

点该行的 办理,弹窗里填审批意见(必填),可传附件,然后点 同意。

办理弹窗:审批意见、附件、指定下一节点处理人、是否抄送、底部操作按钮

弹窗底部能看到哪些按钮,由节点属性里勾选的操作按钮决定,常见的是 同意 / 拒绝 / 退回上一步 / 退回发起人 / 跳转:

按钮效果
同意流转到下一节点
拒绝实例置为已拒绝,流程结束
退回上一步退回上一个审批节点
退回发起人实例仍在进行中,给发起人建一条新待办,改完重新提交
跳转选一个可达节点直接跳过去
加签仅会签节点:临时追加处理人

勾选 指定下一节点处理人 后可以从候选人里指定下一步由谁办;勾选 是否抄送 可以顺带抄送给人。

步骤 4 换分管领导账号终审 ​

因为天数是 5,流程会走到 分管领导审批。退登,用 u0011 / 123456 登录,同样在我的待办里 办理 → 同意。

步骤 5 回看结果 ​

用 wuhao 登录,进 我发起的,找到那条实例点 详情。三个页签:

  • 详情:表单数据与基本信息
  • 流程图:钉钉设计器的只读视图,走过的节点标绿并显示实际处理人
  • 审批记录:时间轴,每个节点的办理人、提交类型、意见、附件

流程图页签:发起申请(吴昊)→ 部门经理审批(李娜、蒙立东)→ 条件分支 → 分管领导审批(王强)→ 结束,全部标绿

这张图同时说明了三件事:部门经理节点为什么是李娜和蒙立东两个人(研发部负责人配了两位,任一同意即通过)、条件分支按天数怎么分流、以及流程已经走完(结束节点也标绿)。

跑通判据:我发起的 里该实例状态变为已完成,我的待办 里不再有任何一条来自这个实例。

5. 卡住了看这里 ​

现象原因处理
提交后没有任何人收到待办该节点的参与人解析结果为空见参与者解析:用"部门经理"类处理类时,发起人所在部门必须在部门管理里配了负责人
待办里有任务,点办理后表单区是空的节点没绑定任务表单设计器里选中该节点 → 表单配置 → 任务表单,选一个再重新部署
部署按钮点不动(灰色)设计稿已是已部署状态,或改完没保存回第 4 章:先在设计器里点保存,列表"是否部署"变否之后才能部署
改了流程但发起的还是老样子只保存没部署,或旧实例仍按发起时的版本走部署会生成新版本;已在途的实例不受新版本影响
提示"您没有资源wf:xxx访问权限"当前账号没有该 action 的权限码用 superAdmin,或在系统设置 → 角色管理里给角色勾上对应工作流权限
参与人处理类下拉是空的该栈没注册对应处理类净装镜像有 7 个内置处理类;若为空,多半是前端镜像落后于后端,属部署问题不是配置问题
登录页打不开但 API 正常前端容器还没起完,或端口被占docker ps 看 boot4j-nginx 状态;换端口需改 compose

6. 章节 ​

#章节解决什么
01部署细节与多账号测试换端口、接自己的库、数据重置、一个人怎么切角色测
02部门、用户与角色参与人取人的数据前提:部门负责人、分管领导、工作流角色
03表单发起时填什么、审批时看什么、字段权限
04画流程与发布新建设计稿、节点属性、流程属性、保存与部署
05参与人:任务派给谁7 个内置处理类的用法、会签、候选、委托
06发起与办理发起页与办理弹窗每个开关、五种退回方式
07验证一条流程跑对了没有三处回看、状态码、接口自检、跨章排错总表
08让审批结果落到业务表后置拦截器、关联业务表、持久化模式
A页面与入口清单菜单、路由、权限码
B下拉选项与状态值对照界面中文选项 ↔ 引擎取值

再往下深入:属性语义查规范 02,接口契约查规范 06,把引擎接进自己的框架查用户指南 10。

jeeflow · 轻量级多语言工作流引擎