You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
zhangdaiscott 43908013e3
微服务整体解决方案
4 years ago
.github issue 发帖要求 5 years ago
ant-design-vue-jeecg 解决token失效 ,登录页面重复跳转登录页面问题 4 years ago
jeecg-boot 遗漏的路由配置 4 years ago
.gitattributes 修正项目语言 JAVA 6 years ago
.gitignore 字典排序问题合并 5 years ago
LICENSE fastjson 新安全漏洞修复解决; 5 years ago
README.md 微服务整体解决方案 4 years ago

README.md

JEECG

JEECG BOOT 低代码开发平台(前后端分离版本)

当前最新版本: 2.3发布日期2020-09-14

AUR GitHub stars GitHub forks

项目介绍:

Java Low Code Platform for Enterprise web applications

JeecgBoot 是一款基于代码生成器的低代码开发平台零代码开发采用前后端分离架构SpringBoot2.xAnt Design&VueMybatis-plusShiroJWT。强大的代码生成器让前后端代码一键生成无需写任何代码! JeecgBoot引领新的开发模式(Online Coding模式-> 代码生成器模式-> 手工MERGE智能开发) 帮助解决Java项目70%的重复工作让开发更多关注业务逻辑。既能快速提高开发效率帮助公司节省成本同时又不失灵活性JeecgBoot还独创在线开发模式No代码概念在线表单配置表单设计器、移动配置能力、工作流配置在线设计流程、报表配置能力、在线图表配置、插件能力可插拔等等

JEECG宗旨是: 简单功能由Online Coding配置实现既零代码开发在线配置表单、在线配置报表、在线图表设计、在线设计流程、在线设计表单复杂功能由代码生成器生成进行手工Merge既保证了智能又兼顾了灵活; 业务流程采用工作流来实现、扩展出任务接口,供开发编写业务逻辑,表单提供多种解决方案: 表单设计器、online配置表单、编码表单。同时实现了流程与表单的分离设计松耦合、并支持任务节点灵活配置既保证了公司流程的保密性又减少了开发人员的工作量。

适用项目

Jeecg-Boot低代码开发平台可以应用在任何J2EE项目的开发中尤其适合SAAS项目、企业信息管理系统MIS、内部办公系统OA、企业资源计划系统ERP、客户关系管理系统CRM其半智能手工Merge的开发方式可以显著提高开发效率70%以上,极大降低开发成本。

技术文档

交流互动

为什么选择JEECG-BOOT?

  • 1.采用最新主流前后分离框架Springboot+Mybatis+antd容易上手; 代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发;
  • 2.支持微服务SpringCloud Alibaba提供特殊机制支持单体和微服务自由切换
  • 3.开发效率高,采用代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用;
  • 4.代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套)
  • 5.代码生成器非常智能在线业务建模、在线配置、所见即所得支持23种类控件一键生成前后端代码大幅度提升开发效率不再为重复工作发愁。
  • 6.低代码能力Online在线表单无需编码通过在线配置表单实现表单的增删改查支持单表、树、一对多、一对一等模型实现人人皆可编码
  • 7.低代码能力Online在线报表无需编码通过在线配置方式实现数据报表可以快速抽取数据减轻开发压力实现人人皆可编码
  • 8.低代码能力Online在线图表无需编码通过在线配置方式实现曲线图柱状图数据报表等支持自定义排版布局实现人人皆可编码
  • 9.封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能,支持访问授权、按钮权限、数据权限等功能
  • 10.常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求
  • 11.简易Excel导入导出支持单表导出和一对多表模式导出生成的代码自带导入导出功能
  • 12.集成简易报表工具图像报表和数据导出非常方便可极其方便的生成图形报表、pdf、excel、word等报表
  • 13.采用前后分离技术页面UI风格精美针对常用组件做了封装时间、行表格控件、截取显示控件、报表组件编辑器等等
  • 14.查询过滤器查询功能自动生成后台动态拼SQL追加查询条件支持多种匹配方式全匹配/模糊查询/包含查询/不匹配查询);
  • 15.数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段
  • 16.页面校验自动生成(必须输入、数字校验、金额校验、时间空间等);
  • 17.支持SAAS服务模式提供SaaS多租户架构方案。
  • 18.分布式文件服务集成minio、阿里OSS等优秀的第三方提供便捷的文件上传与管理同时也支持本地存储。
  • 19.主流数据库兼容一套代码完全兼容Mysql、Postgresql、Oracle三大主流数据库。
  • 20.集成工作流activiti并实现了只需在页面配置流程转向可极大的简化bpm工作流的开发用bpm的流程设计器画出了流程走向一个工作流基本就完成了只需写很少量的java代码
  • 21.低代码能力在线流程设计采用开源Activiti流程引擎实现在线画流程,自定义表单,表单挂靠,业务流转
  • 22.多数据源:及其简易的使用方式,在线配置数据源配置,便捷的从其他数据抓取数据;
  • 23.提供单点登录CAS集成方案项目中已经提供完善的对接代码
  • 24.低代码能力表单设计器支持用户自定义表单布局支持单表一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
  • 25.专业接口对接机制统一采用restful接口方式集成swagger-ui在线接口文档Jwt token安全验证方便客户端对接
  • 26.接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制
  • 27.高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史
  • 28.提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控
  • 29.消息中心(支持短信、邮件、微信推送等等)
  • 30.集成Websocket消息通知机制
  • 31.移动自适应效果优秀提供APP发布方案
  • 32.支持多语言,提供国际化方案;
  • 33.数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化
  • 34.平台UI强大实现了移动自适应
  • 35.平台首页风格,提供多种组合模式,支持自定义风格
  • 36.提供简单易用的打印插件支持谷歌、火狐、IE11+ 等各种浏览器
  • 37.示例代码丰富,提供很多学习案例参考
  • 38.采用maven分模块开发方式
  • 39.支持菜单动态路由
  • 40.权限控制采用 RBACRole-Based Access Control基于角色的访问控制
  • 41.提供新行编辑表格JVXETable轻松满足各种复杂ERP布局拥有更高的性能、更灵活的扩展、更强大的功能

技术架构:

开发环境

  • 语言Java 8

  • IDE(JAVA) IDEA / Eclipse安装lombok插件

  • IDE(前端) WebStorm 或者 IDEA

  • 依赖管理Maven

  • 数据库MySQL5.7+ & Oracle 11g & Sqlserver2017

  • 缓存Redis

后端

  • 基础框架Spring Boot 2.1.3.RELEASE \ Spring Cloud Alibaba 2.1.0.RELEASE

  • 持久层框架Mybatis-plus_3.1.2

  • 安全框架Apache Shiro 1.4.0Jwt_3.7.0

  • 微服务技术Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywarking、SpringBootAdmin监控

  • 数据库连接池阿里巴巴Druid 1.1.10

  • 缓存框架redis

  • 日志打印logback

  • 其他fastjsonpoiSwagger-uiquartz, lombok简化代码等。

前端

功能模块

├─系统管理
│  ├─用户管理
│  ├─角色管理
│  ├─菜单管理
│  ├─权限设置(支持按钮权限、数据权限)
│  ├─表单权限(控制字段禁用、隐藏)
│  ├─部门管理
│  ├─我的部门(二级管理员)
│  └─字典管理
│  └─分类字典
│  └─系统公告
│  └─职务管理
│  └─通讯录
│  └─多租户管理
├─消息中心
│  ├─消息管理
│  ├─模板管理
├─智能化功能
│  ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音)
│  ├─代码生成器模板提供4套模板分别支持单表和一对多模型不同风格选择
│  ├─代码生成器模板生成代码自带excel导入导出
│  ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成)
│  ├─高级查询器(弹窗自动组合查询条件)
│  ├─Excel导入导出工具集成支持单表一对多 导入导出)
│  ├─平台移动自适应支持
├─系统监控
│  ├─Gateway路由网关
│  ├─性能扫描监控
│  │  ├─监控 Redis
│  │  ├─Tomcat
│  │  ├─jvm
│  │  ├─服务器信息
│  │  ├─请求追踪
│  │  ├─磁盘监控
│  ├─定时任务
│  ├─系统日志
│  ├─消息中心(支持短信、邮件、微信推送等等)
│  ├─数据日志(记录数据快照,可对比快照,查看数据变更情况)
│  ├─系统通知
│  ├─SQL监控
│  ├─swagger-ui(在线接口文档)
│─报表示例
│  ├─曲线图
│  └─饼状图
│  └─柱状图
│  └─折线图
│  └─面积图
│  └─雷达图
│  └─仪表图
│  └─进度条
│  └─排名列表
│  └─等等
│─大屏模板
│  ├─作战指挥中心大屏
│  └─物流服务中心大屏
│─常用示例
│  ├─自定义组件
│  ├─对象存储(对接阿里云)
│  ├─JVXETable示例各种复杂ERP布局示例
│  ├─单表模型例子
│  └─一对多模型例子
│  └─打印例子
│  └─一对多TAB例子
│  └─内嵌table例子
│  └─常用选择组件
│  └─异步树table
│  └─接口模拟测试
│  └─表格合计示例
│  └─异步树列表示例
│  └─一对多JEditable
│  └─JEditable组件示例
│  └─图片拖拽排序
│  └─图片翻页
│  └─图片预览
│  └─PDF预览
│  └─分屏功能
│─封装通用组件	
│  ├─行编辑表格JEditableTable
│  └─省略显示组件
│  └─时间控件
│  └─高级查询
│  └─用户选择组件
│  └─报表组件封装
│  └─字典组件
│  └─下拉多选组件
│  └─选人组件
│  └─选部门组件
│  └─通过部门选人组件
│  └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单)
│  └─在线code编辑器
│  └─上传文件组件
│  └─验证码组件
│  └─树列表组件
│  └─表单禁用组件
│  └─等等
│─更多页面模板
│  ├─各种高级表单
│  ├─各种列表效果
│  └─结果页面
│  └─异常页面
│  └─个人页面
├─高级功能
│  ├─系统编码规则
│  ├─提供单点登录CAS集成方案
│  ├─提供APP发布方案
│  ├─集成Websocket消息通知机制
├─Online在线低代码开发(暂未开源)
│  ├─Online在线表单 - 功能已开放
│  ├─在线代码生成器 - 功能已开放
│  ├─Online在线报表 - 功能已开放
│  ├─多数据源管理
│  ├─Online在线图表
│  ├─Online图表模板配置
│  ├─高级表单设计器
│─流程模块功能 (暂不开源)
│  ├─流程设计器
│  ├─在线表单设计
│  └─我的任务
│  └─历史流程
│  └─历史流程
│  └─流程实例管理
│  └─流程监听管理
│  └─流程表达式
│  └─我发起的流程
│  └─我的抄送
│  └─流程委派、抄送、跳转
│  └─。。。
└─其他模块
   └─更多功能开发中。。
   

微服务整体解决方案(2.3+版本)

1、服务注册和发现 Nacos √

2、统一配置中心 Nacos √

3、路由网关 gateway √

4、分布式 http feign √

5、熔断和降级 Sentinel √

6、分布式文件 Minio、阿里OSS √

7、统一权限控制 JWT + Shiro √

8、服务监控 SpringBootAdmin 参考文档

9、链路跟踪 Skywarking 参考文档

10、消息中间件 SpringCloudStream+RabbitMQ 参考文档

11、分布式任务 xxl-job 参考文档

12、分布式事务 Seata

13、分布式日志 elk + kafa

14、支持 docker-compose、k8s、jenkins

15、CAS 单点登录 √

微服务架构图

微服务架构图

Jeecg Boot 产品功能蓝图

功能蓝图

后台开发环境和依赖

  • java
  • maven
  • jdk8
  • mysql
  • redis
  • 数据库脚本jeecg-boot\docs\jeecg-boot-mysql.sql
  • 默认登录账号: admin/123456

前端开发环境和依赖

项目下载和运行

  • 拉取项目代码
git clone https://github.com/zhangdaiscott/jeecg-boot.git
cd  jeecg-boot/ant-design-jeecg-vue
  1. 安装node.js
  2. 切换到ant-design-jeecg-vue文件夹下
# 安装yarn
npm install -g yarn

# 下载依赖
yarn install

# 启动
yarn run serve

# 编译项目
yarn run build

# Lints and fixes files
yarn run lint

系统效果

大屏模板

输入图片说明

输入图片说明

PC端

输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

在线接口文档

输入图片说明 输入图片说明

报表

输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

流程

输入图片说明 输入图片说明 输入图片说明 输入图片说明

手机端

PAD端

其他说明

  • 项目使用的 vue-cli3, 请更新您的 cli

  • 关闭 Eslint (不推荐) 移除 package.jsoneslintConfig 整个节点代码

  • 修改 Ant Design 配色,在文件 vue.config.js 中,其他 less 变量覆盖参考 ant design 官方说明

  css: {
    loaderOptions: {
      less: {
        modifyVars: {
          /* less 变量覆盖,用于自定义 ant design 主题 */

          'primary-color': '#F5222D',
          'link-color': '#F5222D',
          'border-radius-base': '4px',
        },
        javascriptEnabled: true,
      }
    }
  }

附属文档

备注

@vue/cli 升级后eslint 规则更新了。由于影响到全部 .vue 文件,需要逐个验证。既暂时关闭部分原本不验证的规则,后期维护时,在逐步修正这些 rules

捐赠

如果觉得还不错,请作者喝杯咖啡吧 ☺