https://www.gitpp.com/openvino/project009011-ai-jeelowcode
此开源的低代码平台,是基于知名开源项目芋道系统:一站式企业级解决方案
源代码
https://www.gitpp.com/toyota/projects07gpp099902
芋道系统开源项目介绍与低代码平台开发指南
一、芋道系统核心特性与架构
芋道系统(Yudao)是一个基于 Spring Boot/Spring Cloud Alibaba 的全栈开源开发平台,提供前后端分离的解决方案,支持单体与微服务架构。其核心特性包括:
- 技术栈
- 后端
:Spring Boot/Spring Cloud Alibaba、MyBatis Plus、Redis、Nacos(注册中心+配置中心)、RocketMQ、Seata(分布式事务)。 - 前端
:Vue3(Element Plus/Vben)、Vue2(Element UI)、UniApp(多端适配)。 - 数据库
:MySQL、Oracle、PostgreSQL、达梦等,支持多租户数据隔离。 - 功能模块
- 系统管理
:用户、角色、菜单、部门、岗位管理。 - 权限控制
:RBAC动态权限、数据权限、按钮级权限。 - 工作流
:集成Flowable,支持在线流程设计、会签/或签、任务分配。 - 低代码能力
:代码生成器(一键生成前后端代码+单元测试+Swagger文档)、动态表单设计。 - 第三方集成
:微信/钉钉/企业微信登录、支付宝/微信支付、阿里云/腾讯云短信与存储。 - 架构优势
- 高扩展性
:模块化设计,支持按需引入功能(如工作流、支付系统)。 - 高性能
:Redis缓存、Redisson分布式锁、Sentinel流量控制。 - 开发规范
:遵循《阿里巴巴Java开发手册》,代码注释率超40%,适合企业级二次开发。
二、芋道系统的典型应用场景
- 企业级后台管理系统
- 场景
:快速搭建OA、CRM、ERP等系统。 - 案例
:某租赁公司基于芋道开发PMS系统,通过代码生成器减少70%重复开发工作,2周内完成系统上线。 - 多租户SaaS平台
- 场景
:为不同租户提供独立的数据存储与权限控制。 - 实现
:芋道内置多租户组件,支持通过配置快速启用租户模式。 - 工作流驱动的业务系统
- 场景
:审批流、订单处理等需要流程自动化的场景。 - 案例
:SSI Securities利用芋道集成Flowable,将客户请求处理时间缩短80%。 - 移动端与跨平台应用
- 场景
:需要同时支持APP、小程序、H5的场景。 - 实现
:基于UniApp开发移动端,一份代码多端适配。
三、基于芋道开发低代码平台的关键步骤
1. 环境准备与项目初始化
- 环境要求
: -
JDK 17+、Maven 3.6+、MySQL 8.0+、Redis 5.0+、Nacos 2.0+。 -
Node.js 16+(前端开发)。 - 快速启动
: bash
# 克隆项目(以微服务版为例) git clone https://github.com/YunaiV/yudao-cloud.git cd yudao-cloud
# 初始化数据库(执行SQL脚本) mysql -u root -p < yudao-cloud/db/yudao-cloud.sql
# 启动Nacos、Redis、MySQL # 启动后端服务(IDEA中运行yudao-gateway、yudao-module-system等模块) # 启动前端 cd yudao-ui-admin-vue3 npm install npm run dev
2. 低代码核心功能扩展
- 动态表单设计器
- 实现
:基于芋道现有表单组件,扩展可视化拖拽功能。 - 代码示例
: javascript
// 前端:使用Vue3+Element Plus实现表单设计器 <template> <divclass="form-designer"> <el-button @click="addField('input')"> 添加输入框</el-button> <el-form:model="formData"ref="dynamicForm"> <el-form-item v-for ="(field, index) in formFields" :key ="index" :label ="field.label" > <el-inputv-if="field.type === 'input'"v-model="formData[field.prop]" /> </el-form-item> </el-form> </div> </template> - 代码生成器增强
-
支持生成Controller、Service、Mapper、Entity等代码。 -
扩展生成Vue3页面与API调用逻辑。 - 场景
:根据数据库表自动生成CRUD接口与页面。 - 芋道内置功能
: - 自定义模板
:修改 yudao-module-generator模块中的FreeMarker模板,适配业务需求。 - 工作流可视化配置
-
在芋道工作流模块中嵌入Flowable的在线流程设计器。 -
通过REST API保存流程定义至数据库。 - 集成Flowable Modeler
: - 案例
: java
// 后端:保存流程定义 @PostMapping("/save") public Result saveProcessDefinition(@RequestBody String bpmnXml) { repositoryService.createDeployment() .addString("process.bpmn20.xml", bpmnXml) .deploy(); return Result.success(); }
3. 多租户与权限控制集成
- 数据隔离
: -
在MyBatis拦截器中动态替换SQL中的租户ID条件: java
@Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})}) publicclassTenantInterceptorimplementsInterceptor { @Override public Object intercept(Invocation invocation)throws Throwable { StatementHandlerhandler= (StatementHandler) invocation.getTarget(); BoundSqlboundSql= handler.getBoundSql(); Stringsql= boundSql.getSql().replaceAll("#\\{tenantId\\}", String.valueOf(TenantContext.getCurrentId())); // 反射修改SQL return invocation.proceed(); } } - 动态菜单
: -
根据用户角色从数据库加载菜单配置,前端通过Vue Router动态生成路由。
4. 部署与运维优化
- 容器化部署
: -
使用Docker Compose编排Nacos、Redis、MySQL与芋道服务: yaml
version:'3' services: nacos: image:nacos/nacos-server:v2.2.0 ports: -"8848:8848" yudao-gateway: build:./yudao-gateway ports: -"8080:8080" depends_on: -nacos - 监控与日志
: -
集成Spring Boot Admin监控服务健康状态。 -
通过ELK收集与分析日志。
四、开源生态与社区支持
- 文档与教程
: -
官方文档:芋道云文档 -
视频教程:B站芋道系列 - 社区
: -
GitHub Issues:提交Bug与功能建议。 -
微信群/QQ群:实时交流开发问题。 - 商业支持
: -
提供付费培训与定制开发服务(可选)。
五、总结:为何选择芋道开发低代码平台?
- 技术成熟度
:基于Spring生态与Vue3,稳定性与性能经过验证。 - 低代码基础
:内置代码生成器、动态表单、工作流引擎,减少重复开发。 - 企业级功能
:多租户、权限控制、第三方集成等开箱即用。 - 活跃社区
:持续更新与问题支持,降低开发风险。
推荐行动:
-
立即体验在线演示。 -
克隆代码库,从 yudao-module-generator模块开始扩展低代码功能。 -
参与社区讨论,获取最佳实践与案例参考。

