Appearance
第 7 章 · 验证一条流程跑对了没有
跑通不等于跑对。这一章给"看哪里、看什么、状态码什么意思",以及一份跨章排错总表。
1. 三处回看
1.1 我发起的:整体状态

| 状态 | 值 | 含义 |
|---|---|---|
| 进行中 | 10 | 还有节点没办完 |
| 已完成 | 20 | 正常走到结束节点 |
| 已撤回 | 30 | 发起人撤回 |
| 强行终止 | 40 | 管理员终止 |
| 已拒绝 | 45 | 某节点点了不同意 |
| 挂起 | 50 | 暂停中 |
| 已废弃 | 99 | 作废 |
行上点 详情 打开抽屉,详情 页签按表单回显当初提交的内容——怀疑"填错了或没提交上去"时先看这里。

1.2 流程图:走过的路
实例详情 → 流程图 页签。走过的节点标绿并显示实际处理人,没走到的分支保持原色。

看这张图能一眼回答三个问题:
- 参与人解析对不对(节点下挂的人是不是预期的)
- 条件分支走了哪条(演示的请假流程:天数 5 走了
>3天(再分管)) - 有没有卡住(结束节点没绿就是还在途中)
1.3 审批记录:谁在什么时候说了什么

每个节点一条,含办理人、提交类型标签(发起申请 / 同意申请 / 拒绝申请 / 退回上一步 / 退回发起人 / 跳转 / 重新提交)、审批意见、附件。查责任链、查为什么被退回,看这里。
2. 提交类型对照
办理时点的按钮,落到记录里就是提交类型:
| 值 | 含义 | 由哪个按钮产生 |
|---|---|---|
| 0 | 发起申请 | 发起 |
| 1 | 同意申请 | 同意 |
| 2 | 拒绝申请 | 不同意(普通节点) |
| 3 | 退回上一步 | 退回上一步 |
| 4 | 跳转 | 跳转 |
| 5 | 重新提交 | 被退回发起人后重新提交 |
| 6 | 退回发起人 | 退回发起人 |
| 20 | 拒绝申请 | 不同意(会签节点) |
完整状态机见 规范 03 · 状态机。
3. 用接口自己验一遍
界面之外,直接打门面接口更快定位是前端还是后端的问题。以 boot4 栈为例(API 在 24000):
bash
# 登录拿 token
TOKEN=$(curl -s -X POST http://localhost:24000/sys/login \
-H "Content-Type: application/json" \
-d '{"userName":"superAdmin","password":"123456"}' | grep -o '"token":"[^"]*' | cut -d'"' -f4)
# 我的待办
curl -s -X POST http://localhost:24000/wf/processTask/todoList \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}'
# 实例详情
curl -s -X POST http://localhost:24000/wf/processInstance/detail \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"id":"<实例ID>"}'返回 {"code":0,...} 是成功;99999999 是业务失败(msg 里有原因);99990403 是登录态失效;99990406 是权限码不足。全部 action 的参数与返回见 规范 06 · 统一门面。
接口正常、界面异常,问题在前端;接口就报错,问题在后端或数据。
4. 跨章排错总表
| 现象 | 最可能的原因 | 去哪章 |
|---|---|---|
| 部署按钮点不动 | 设计稿已是已部署状态 | 第 4 章 §6 |
| 改了流程但行为没变 | 只保存没部署;或在途实例仍走旧版本 | 第 4 章 §6 |
| 提交后没人收到待办 | 部门没配负责人 / 角色无成员 / 参与人填错 | 第 2 章、第 5 章 |
| 审批页没有业务表单 | 节点没绑任务表单 | 第 3 章 §3.2 |
| 发起抽屉是空的 | 没选实例启动表单 | 第 3 章 §3.1 |
| 字段本该只读却能改 | 未启用字段权限,或该节点设成可编辑 | 第 3 章 §4 |
| 条件分支不按预期走 | 表达式变量名与字段名不一致 | 第 3 章 §5 |
| 表单设计页白屏 | 已知前端缺陷 | 第 3 章 §6 |
| 提示没有 wf:xxx 权限 | 角色未授权该按钮 | 第 1 章 §5 |
| 接口能通、页面报错 | 前端镜像落后 | 第 1 章,或反馈给框架维护者 |
| 审批完业务表里没数据 | 没配后置拦截器或关联业务表 | 第 8 章 |
5. 还是没解决
带上这三样去反馈,定位会快很多:
- 流程定义的 JSON(设计器右上角 查看数据 可看)
- 复现步骤(谁发起、谁办理、点了哪个按钮)
- 后端日志片段(
docker logs boot4j-api)与浏览器控制台的报错