面向企业数字化转型需求,独立设计开发的企业级低代码快速开发平台。平台通过"数据源配置+可视化拖拽+规则引擎"三大核心能力,实现业务系统的零代码/低代码快速搭建,将传统开发周期从周级别缩短至天级别。
【核心功能模块】
1. 可视化表单设计器:基于Vue+自研拖拽引擎构建,支持20+表单组件(文本框、数字输入、下拉选择、日期选择器、富文本编辑器、文件上传、图片裁剪、级联选择、树形控件、表格编辑器等),组件支持属性配置、事件绑定、联动规则、校验规则、条件显隐。表单JSON Schema标准输出,支持导入导出与版本管理。
2. 数据源管理引擎:支持MySQL、Oracle、PostgreSQL多种关系型数据库动态接入,通过配置数据源连接参数即可自动读取表结构并生成CRUD接口。支持REST API外部数据源对接,可配置请求参数映射与响应字段映射。数据权限支持行级/列级精细化控制,基于RBAC模型实现多租户数据隔离。
3. 流程编排引擎:基于BPMN 2.0规范设计可视化流程设计器,支持顺序流、并行网关、排他网关、包容网关等流程元素。内置审批节点、抄送节点、条件分支、定时器、子流程等常用节点。支持流程变量绑定、表单字段联动、自动回填、会签/或签策略。流程实例支持挂起、催办、转办、驳回、撤回等操作。
4. 页面构建器:基于Grid栅格布局系统,支持自由拖拽排列组件位置与尺寸,提供30+预置页面模板(列表页、表单页、详情页、仪表盘、树表页等)。支持自定义主题配色、响应式布局适配PC端与移动端。页面发布后实时预览,支持多版本灰度发布。
5. 代码生成器:基于数据库表结构逆向工程,自动生成Entity、Mapper、Service、Controller全层代码,支持MyBatis-Plus与JPA双模式。生成代码符合阿里巴巴Java开发规范,包含注释、校验、Swagger文档。支持自定义代码模板,可扩展生成DTO、VO、Query等对象。
6. API网关与权限中心:统一管理平台生成的所有REST API,支持API版本管理、限流熔断、访问日志。权限中心基于Spring Security+JWT实现,支持菜单权限、按钮权限、数据权限三级管控,集成SSO单点登录。
【应用场景】
平台已在仓储管理PDA系统、医院营养科信息采集系统、连锁药店进销存系统、企业OA审批系统等多个项目中成功落地,平均开发周期缩短70%,代码量减少60%,后期维护成本降低50%。
【架构设计】
采用前后端分离+模块化架构设计。后端基于Spring Boot构建,核心模块包括:表单引擎(schema解析、组件渲染、数据绑定)、流程引擎(BPMN解析、节点执行、状态机管理)、数据源引擎(连接池管理、SQL动态生成、事务控制)、代码生成器(AST语法树分析、模板引擎渲染)。前端基于Vue3+TypeScript构建,采用Composition API组织组件逻辑,Pinia状态管理,通过provide/inject实现组件间跨层级通信。
【拖拽引擎核心实现】
基于HTML5 Drag and Drop API构建拖拽框架,采用MVC模式分离数据模型(JSON Schema)、视图渲染(Vue组件树)与控制逻辑(拖拽事件处理)。拖拽过程中实时计算碰撞检测与吸附对齐,基于QuadTree四叉树算法优化碰撞检测性能,支持100+组件同屏流畅拖拽。组件渲染采用虚拟DOM diff算法,仅更新变更节点,渲染性能提升40%。表单Schema采用JSON Schema Draft-07标准定义,支持递归嵌套组件与动态数组字段。
【数据源动态接入】
基于Druid连接池实现多数据源动态管理,通过SPI机制扩展数据库方言适配层,支持MySQL/Oracle/PostgreSQL/SQLServer。数据源配置采用加密存储(AES-256),运行时动态加载。SQL生成器基于JSqlParser实现AST语法树分析,将前端查询条件(过滤、排序、分页)动态转换为SQL语句,内置SQL注入防护(参数化查询+关键词黑名单)。支持复杂关联查询配置,通过可视化配置JOIN关系自动生成多表关联SQL。
【流程引擎实现】
基于Activiti 7深度定制,扩展自定义BPMN解析器支持动态表单绑定。流程执行采用命令模式(Command Pattern),每个操作(启动、审批、驳回、转办)封装为独立命令对象,通过命令栈实现撤销/重做。会签策略采用ForkJoin并行框架,多实例任务并行执行后聚合结果。流程状态机基于Spring StateMachine实现,精确管理流程实例的22种状态转换,支持状态变更事件监听与持久化审计日志。流程与表单联动通过SpEL表达式引擎实现,支持表单字段值驱动流程条件判断。
【代码生成器】
基于FreeMarker模板引擎设计代码生成核心,通过JDBC DatabaseMetaData读取表结构元数据(字段名、类型、注释、约束),自动映射为Java类型与MyBatis类型处理器。生成策略采用策略模式,支持CRUD模板、树形结构模板、主子表模板等多种生成策略。模板内置自定义指令(<@column>、<@import>、<@swagger>),简化模板编写复杂度。生成代码集成Lombok、MapStruct、Validation注解,符合阿里巴巴J