行业背景: 企业内部存在大量高频、重复的表单和审批需求,如请假申请、费用报销记等。传统模式下,这些需求由业务部门提给 IT,IT 排期动辄数周甚至数月,沟通成本高且交付结果往往不满足业务预期。低代码平台通过"拖拽式配置 + 动态引擎解析"的方式,让业务人员直接搭建应用,将交付周期从周缩短到小时。2025 年中国低代码市场规模已超过150 亿元,中小企业需要更轻量、可私有化、价格更友好的方案——这正是本项目的定位。
功能介绍: (1)可视化表单设计器:提供输入框、下拉选择、日期时间、图片上传、文件上传、子表单、表格、富文本、级联选择等 20+ 组件,支持拖拽排列、条件显隐、正则校验、跨字段联动计算,设计结果以 JSON Schema 格式存储。(2)流程引擎:基于 BPMN 2.0 标准的可视化流程配置,支持顺序审批、并行审批、会签、或签、条件分支(如金额 > 5000 走总经理审批)、驳回回退、加签转签等复杂场景,审批节点可按角色/部门/人员/汇报关系动态指派。(3)数据管理:表单提交数据自动入库,支持列表视图、卡片视图、透视表、图表看板,以及 Excel 导入导出和自定义筛选条件。(4)权限体系:三级权限模型——菜单权限(可见哪些应用)、操作权限(增删改查)、数据权限(按部门/按创建人隔离),满足企业内部管控需求。(5)应用发布:一键发布为独立应用,生成 H5 链接和二维码。
项目实现: 前端技术栈为 TypeScript + React + 自研渲染引擎(基于 JSON Schema + 组件注册表 + 插槽机制),拖拽基于 HTML5 Drag & Drop API 封装。后端为 Spring Boot + Camunda/Flowable 工作流引擎 + PostgreSQL(JSONB 数据类型存储表单数据)+ Redis(缓存流程状态)。架构上表单定义和表单数据彻底分离:定义存 DSL 元数据表,数据存动态 JSON 字段 + 索引列兜底查询。核心难点:(1)表单渲染引擎性能:大数据量子表单采用虚拟滚动 + 懒加载,组件按需注册而非全量加载;(2)动态 JSON 数据的高效查询:通过 GIN 索引 + 表达式下推 + 关键字段冗余列三管齐下;(3)工作流回退/撤销场景的边界状态处理:采用状态机模式 + 事件溯源记录流程变更历史。