大数跨境
0
0

低代码平台 ,开源!

低代码平台 ,开源! GitHubTopp
2025-09-11
0
导读:基于知名的芋道系统,低代码平台斩获6000星!
基于知名的芋道系统,低代码平台斩获6000星!
源代码

https://www.gitpp.com/openvino/project009011-ai-jeelowcode


此开源的低代码平台,是基于知名开源项目芋道系统:一站式企业级解决方案

源代码

https://www.gitpp.com/toyota/projects07gpp099902

芋道系统开源项目介绍与低代码平台开发指南

一、芋道系统核心特性与架构

芋道系统(Yudao)是一个基于 Spring Boot/Spring Cloud Alibaba 的全栈开源开发平台,提供前后端分离的解决方案,支持单体与微服务架构。其核心特性包括:

  1. 技术栈
    • 后端
      :Spring Boot/Spring Cloud Alibaba、MyBatis Plus、Redis、Nacos(注册中心+配置中心)、RocketMQ、Seata(分布式事务)。
    • 前端
      :Vue3(Element Plus/Vben)、Vue2(Element UI)、UniApp(多端适配)。
    • 数据库
      :MySQL、Oracle、PostgreSQL、达梦等,支持多租户数据隔离。
  2. 功能模块
    • 系统管理
      :用户、角色、菜单、部门、岗位管理。
    • 权限控制
      :RBAC动态权限、数据权限、按钮级权限。
    • 工作流
      :集成Flowable,支持在线流程设计、会签/或签、任务分配。
    • 低代码能力
      :代码生成器(一键生成前后端代码+单元测试+Swagger文档)、动态表单设计。
    • 第三方集成
      :微信/钉钉/企业微信登录、支付宝/微信支付、阿里云/腾讯云短信与存储。
  3. 架构优势
    • 高扩展性
      :模块化设计,支持按需引入功能(如工作流、支付系统)。
    • 高性能
      :Redis缓存、Redisson分布式锁、Sentinel流量控制。
    • 开发规范
      :遵循《阿里巴巴Java开发手册》,代码注释率超40%,适合企业级二次开发。

二、芋道系统的典型应用场景

  1. 企业级后台管理系统
    • 场景
      :快速搭建OA、CRM、ERP等系统。
    • 案例
      :某租赁公司基于芋道开发PMS系统,通过代码生成器减少70%重复开发工作,2周内完成系统上线。
  2. 多租户SaaS平台
    • 场景
      :为不同租户提供独立的数据存储与权限控制。
    • 实现
      :芋道内置多租户组件,支持通过配置快速启用租户模式。
  3. 工作流驱动的业务系统
    • 场景
      :审批流、订单处理等需要流程自动化的场景。
    • 案例
      :SSI Securities利用芋道集成Flowable,将客户请求处理时间缩短80%。
  4. 移动端与跨平台应用
    • 场景
      :需要同时支持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群:实时交流开发问题。
  • 商业支持
    • 提供付费培训与定制开发服务(可选)。

五、总结:为何选择芋道开发低代码平台?

  1. 技术成熟度
    :基于Spring生态与Vue3,稳定性与性能经过验证。
  2. 低代码基础
    :内置代码生成器、动态表单、工作流引擎,减少重复开发。
  3. 企业级功能
    :多租户、权限控制、第三方集成等开箱即用。
  4. 活跃社区
    :持续更新与问题支持,降低开发风险。

推荐行动

  • 立即体验在线演示。
  • 克隆代码库,从yudao-module-generator模块开始扩展低代码功能。
  • 参与社区讨论,获取最佳实践与案例参考。

【声明】内容源于网络
0
0
GitHubTopp
top开源系统分享
内容 444
粉丝 0
GitHubTopp top开源系统分享
总阅读445
粉丝0
内容444