乐于分享
好东西不私藏

RuoYi Office 工作流前端实现:BPMN 与 SIMPLE 双设计器如何落到 Flowable,业务单据怎样嵌进审批

RuoYi Office 工作流前端实现:BPMN 与 SIMPLE 双设计器如何落到 Flowable,业务单据怎样嵌进审批

RuoYi Office 工作流前端实现:BPMN 与 SIMPLE 双设计器如何落到 Flowable,业务单据怎样嵌进审批

🌐 演示地址:http://ruoyioffice.com | 📦 源码1·GitHub:ruoyi-office | 📦 源码2·GitCode:ruoyi-office | 📦 源码3·Gitee:ruoyi-office | 💬 微信:17156169080(备注「RuoYi Office」)

很多团队一提工作流就只想到「Flowable 引擎好不好用」,却忽略真正决定交付效率的是前端怎么画、怎么发、怎么嵌业务单。RuoYi Office 在 PC 管理端(Vue3 + Vben Admin)上同时提供 BPMN 标准设计器与 SIMPLE 简单流程设计器,运行时统一落到 Flowable;业务侧再用 CUSTOM 路径 + FlowBill 把用印、请假、资产领用等单据嵌进同一套待办详情。本文按「技术栈 → 双模式差异 → 编译路径 → 单据集成 → 详情运行时」拆开讲。

▲ 全景配色对齐平台架构图:蓝=BPMN、绿=SIMPLE、青=运行时 UI;底层统一 Spring Boot + Flowable

引言:工作流前端要解决三件事

问题
只靠后端引擎不够
前端要补的能力
谁来配流程?
XML 手写门槛高
可视化设计器(业务可配 / 专家可深)
表单从哪来?
变量 Map 太散
NORMAL 拖拽表单 / CUSTOM 业务页
审批页怎么长?
引擎只给任务
详情嵌业务组件 + 操作按钮 + 轨迹图

RuoYi Office 的答案不是「二选一设计器」,而是 双模式共存:默认给业务同学用 SIMPLE;需要复杂网关、监听器、标准 BPMN 图元时切 BPMN。


一、技术栈与工程落点

技术
工程位置(印象)
PC 壳
Vue3 + Vben Admin + Ant Design Vue
apps/web-antd
BPMN 画布
bpmn-js
 + diagram-js + properties-panel
views/bpm/components/bpmn-process-designer/
SIMPLE 画布
自研
钉钉风节点树 + 右侧配置抽屉
views/bpm/components/simple-process-design/
模式枚举
BpmModelType.BPMN=10
 / SIMPLE=20
@vben/constants
运行时引擎
Flowable 7(后端)
模型保存进 ACT_RE_*
SIMPLE 编译
SimpleModelUtils.buildBpmnModel
服务端把 JSON 编成 BpmnModel

模式切换入口在模型向导「流程设计」步:process-design.vue 按 modelData.type 挂载 BpmModelEditor 或 SimpleModelDesign

<templatev-if="modelData.type === BpmModelType.BPMN">  <BpmModelEditor... @success="handleDesignSuccess" /></template><templatev-else>  <SimpleModelDesign...ref="simpleDesign" /></template>

保存时:BPMN 成功回调写入 bpmnXml;SIMPLE 写入 simpleModel(JSON)。

▲ 流程模型是双设计器的统一入口:创建/修改时选择类型,再进入对应画布


二、BPMN 模式:标准图元,直接出 XML

2.1 能做什么

  • 标准 BPMN 2.0 元素:用户任务、网关、事件、子流程等
  • Flowable 扩展:候选人、多实例、监听器、表单键等(属性面板二次封装)
  • 适合:复杂分支、包容/并行精细控制、与外部 BPMN 工具互通、专家建模

2.2 编译路径

前端画布导出 BPMN XML → 后端 saveModel 写入流程模型仓库 → 部署后成为 ProcessDefinition。没有「先 JSON 再转」的中间层——所见即 XML。

2.3 代价

学习曲线陡:业务同学容易配错网关方向、漏画连线。属性面板字段多,培训成本高于 SIMPLE。


三、SIMPLE 模式:业务友好,JSON 再编译

3.1 能做什么

节点类型覆盖常见审批场景(枚举 BpmSimpleModelNodeTypeEnum),例如:

  • 发起人 / 审批人 / 抄送人 / 办理人
  • 条件分支 / 并行 / 包容 / 路由
  • 延迟、触发器、子流程

右侧配置抽屉可配:候选人策略、多人审批(依次/会签/或签)、超时、驳回、字段权限等——用业务语言,而不是 BPMN 术语

▲ SIMPLE 右侧面板:审批人策略与多人审批方式等,配置后编译进 Flowable 多实例/边界事件

3.2 编译路径

simpleModel (JSON)  → SimpleModelUtils.buildBpmnModel(...)    → Flowable BpmnModel      → 生成 XML + 自动布局        → 与 BPMN 模式一样部署进引擎

运行时还可基于 SIMPLE 结构做节点预测(simulateProcess 一类能力),时间轴展示更贴近「钉钉审批链」体验。

3.3 默认为什么是 SIMPLE?

模型创建默认 type = SIMPLE:大多数 OA/HRM 单据是「发起 → 若干审批 → 结束」,SIMPLE 交付更快;真要上复杂编排再改类型或重建 BPMN 模型。


四、BPMN vs SIMPLE:一张表说清差异

维度
BPMN
SIMPLE
前端技术
bpmn-js 生态
自研 Vue 节点树
存储形态
bpmnXmlsimpleModel
 JSON
进引擎方式
XML 直接部署
JSON → SimpleModelUtils → BpmnModel
配置体验
标准图元 + 属性面板
抽屉表单 + 业务枚举
擅长
复杂网关、监听、互通
审批链、组织策略、快速上线
详情预览
bpm-viewersimple-bpm-viewer
学习成本

选型建议:

  1. 80% 业务审批单 → SIMPLE
  2. 需要「按金额走不同网关 + 服务任务」→ BPMN
  3. 同一业务尽量固定一种类型,避免运营时两边各改一版导致认知分裂

五、表单双轨:NORMAL 与 CUSTOM

流程模型还要绑「表单从哪来」:

类型
含义
发起时
审批详情时
NORMAL
form-create 流程表单
设计器表单渲染
同套字段 + 字段权限
CUSTOM
业务自定义页
formCustomCreatePath
 路由跳转
formCustomViewPath
 动态组件嵌入

CUSTOM 是单据集成的关键:用印申请、资产领用等不是在流程表单里拖几百个字段,而是跳到业务 info 页发起,审批时再把同一业务组件嵌进详情。

▲ NORMAL 表单可在「流程表单」里维护;CUSTOM 则指向业务模块路由/组件


六、业务单据如何集成(三角对齐)

把一张业务单接到工作流,通常要对齐三件事:

6.1 processDefinitionKey ↔ 单据类型枚举

例如用印、补卡、资产入库各自有固定 process key(如 hr_card_replacement_bill)。前端发起与后端 FlowBillServiceFactory.getServiceByProcessKey 都靠它找实现。

6.2 FlowBillService 生命周期

业务 Service 实现统一接口,引擎回调时:

  • updateProcessStatus
    :同步审批中/通过/驳回等
  • onProcessApproved
     / 拒绝 / 撤回:写业务副作用(建卡、回写打卡、改库存…)
  • 删除实例时清理单据(按模块实现)

前端不直接改业务终态——按钮调的是任务 API,终态靠回调,避免双写不一致。

6.3 发起人自选审批人

当节点候选人策略为「发起人自选」时,发起页收集:

startUserSelectAssignees: Record<nodeId, userId[]>

随 createProcessInstance 变量提交,引擎按节点 id 注入候选人。SIMPLE 与 BPMN 都能配该策略;前端发起页要能按模型解析哪些节点需要自选。

▲ 发起入口:选流程定义后,NORMAL 填表单 / CUSTOM 跳业务创建页


七、审批详情:一套壳,两种图,嵌业务

processInstance/detail/index.vue 是运行时中枢:

  1. 拉审批详情(任务、权限、活动节点)
  2. 若 CUSTOM:用 businessKey 当单据 id,registerComponent(formCustomViewPath) 动态加载业务详情
  3. 注入 isApproval、字段权限、活动节点给业务组件
  4. 底部 operation-button:通过 / 拒绝 / 退回 / 加签 / 转办 / 抄送…
  5. 轨迹区:按模型类型挂 simple-bpm-viewer 或 bpm-viewer
待办列表 → todo-detail?id=&taskId=  → 左/中:业务表单(NORMAL 或 CUSTOM 组件)  → 右/下:流程图 + 审批记录  → 底:操作按钮(权限由引擎与模型按钮配置决定)

▲ 待办是员工主入口;点进去才是「业务单 + 流程壳」的完整详情

字段权限(可写/只读/隐藏)在 SIMPLE 审批节点可配 businessFieldsPermission,详情渲染时落到业务表单——这是 CUSTOM 单据「同一套页面、审批态只读部分字段」的前端基础。


八、端到端推荐体验

在线演示:http://ruoyioffice.com/web/(账号 admin / admin123

  1. 流程模型
    :打开列表,新建或编辑一个 SIMPLE 模型,看节点抽屉配置。
  2. 再找一个 BPMN 类型模型(或改类型)对比画布差异。
  3. 发起流程
    :走一笔 OA/HRM 业务单(CUSTOM),观察是否跳业务页。
  4. 待办
    :另一账号审批,看详情是否嵌业务表单、轨迹图是否与类型匹配。
  5. (可选)同一单据看 NORMAL 流程表单流程,对比体验。

源码仓库:GitHub | GitCode | Gitee


常见问题(FAQ)

SIMPLE 和 BPMN 能来回改类型吗?

类型切换意味着设计器数据源切换(simpleModel vs bpmnXml)。实务上视为「换一套图」,不要指望无损互转;重要流程变更应回归测试部署版本。

业务单据必须走 CUSTOM 吗?

字段少、无复杂主子表,可用 NORMAL 快速上线。主子表、附件、领域校验多,CUSTOM + FlowBill 更稳。

前端要直接调 Flowable REST 吗?

不要。统一走本系统 /admin-api/bpm/**,由服务端封装引擎,便于权限、租户、FlowBill 回调一致。

移动端设计器一样吗?

移动端侧重待办办理与轻发起;双设计器在 PC。App/H5 与 PC 共用同一 process key 与任务 API。

和「多人审批 / 超时 / 抄送」文什么关系?

那些是节点能力;本文是承载这些能力的前端骨架(画在哪、存在哪、详情怎么嵌)。


结语

工作流前端的核心不是「再包一层漂亮流程图」,而是:给业务一条低门槛的 SIMPLE 路,给专家一条标准 BPMN 路,两者编译进同一引擎;再用 CUSTOM + FlowBill 把真实单据嵌进发起与审批详情。 配色与三端架构图一致——设计器可以分蓝绿两路,底座始终是那条蓝色的 Spring Boot + Flowable。

你们团队现在是全员 BPMN,还是已经默认 SIMPLE?单据集成卡在「跳转发起」还是「详情嵌组件」?欢迎评论区交流。


💡 想要体验 RuoYi Office 的强大功能?

🌐 在线演示:http://ruoyioffice.com/web/(账号 admin / admin123)

📦 源码仓库:GitHub | GitCode | Gitee

💬 技术咨询:添加微信 17156169080,备注「RuoYi Office」

⭐ 如果觉得不错,请给个 Star 支持一下!

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-09 05:58:49 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/913222.html
  2. 运行时间 : 0.110632s [ 吞吐率:9.04req/s ] 内存消耗:4,859.01kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b6dec9fc72fdc65002633d51df08c400
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 4.22 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.11 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000416s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000632s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000300s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000333s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000514s ]
  6. SELECT * FROM `set` [ RunTime:0.000219s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000575s ]
  8. SELECT * FROM `article` WHERE `id` = 913222 LIMIT 1 [ RunTime:0.001152s ]
  9. UPDATE `article` SET `lasttime` = 1786226329 WHERE `id` = 913222 [ RunTime:0.001899s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000243s ]
  11. SELECT * FROM `article` WHERE `id` < 913222 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000374s ]
  12. SELECT * FROM `article` WHERE `id` > 913222 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000523s ]
  13. SELECT * FROM `article` WHERE `id` < 913222 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000616s ]
  14. SELECT * FROM `article` WHERE `id` < 913222 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000788s ]
  15. SELECT * FROM `article` WHERE `id` < 913222 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001839s ]
0.114413s