zhangdaiscott 发表于 2023-12-11 19:02:20

『开源资讯』低代码平台—JeecgBoot v3.6.1 版本发布,Online表...

### 项目介绍

> JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!

**当前版本**:v3.6.1 | 2023-12-11

### 源码下载

##### github地址

- 后端:[https://github.com/jeecgboot/jeecg-boot](https://github.com/jeecgboot/jeecg-boot)
- 前端:[https://github.com/jeecgboot/jeecgboot-vue3](https://github.com/jeecgboot/jeecgboot-vue3)

##### gitee地址

- 后端:[https://gitee.com/jeecg/jeecg-boot](https://gitee.com/jeecg/jeecg-boot)
- 前端:[https://gitee.com/jeecg/jeecgboot-vue3](https://gitee.com/jeecg/jeecgboot-vue3)

### 升级日志

> Online低代码功能专项升级,JS增强支持代码提示、新增一对多内嵌风格和一对多Tab风格、Online新增新用户操作引导、人大金仓、达梦数据库兼容工作等等。

#### ONLINE升级日志

- Online操作新用户引导功能
- 新增一对多内嵌风格
- 新增一对多Tab风格
- Online JS增强支持api提示
- 树列表支持查询
- 防止SQL注入风险,下拉搜索组件参数规则变更(支持表字典白名单控制、SQL注入安全加强)
- 人大金仓、达梦数据库兼容工作
- 【安全】online敏感接口,加权限注解
- 【严重bug修复】online删除字段,其他tab不同步删除导致的问题
- 使用在线Online开发,出现搜索框前面的label字被截断 · (https://github.com/jeecgboot/jeecg-boot/issues/5387)
- online表单开发新增时,字段信息校验提示被遮挡 · (https://github.com/jeecgboot/jeecg-boot/issues/5407)
- 在线表单中设置的页面配置中高级配置中设置的label长度,在列表与详情界面无效 · (https://github.com/jeecgboot/jeecg-boot/issues/5400)
- js 自定义按钮表达式 怎么支持多个字段判断? · (https://github.com/jeecgboot/jeecgboot-vue3/issues/769)
- 开启服务代理后,刷新接口报错 · (https://github.com/jeecgboot/jeecg-boot/issues/5431)
- 在线生成表单没有见到空行,但页面属性会报空行数据错误 · (https://github.com/jeecgboot/jeecg-boot/issues/5487)
- oracle数据,online表单中的 “关联记录” 功能模块BUG · (https://github.com/jeecgboot/jeecg-boot/issues/5321)
- online表单生成时,创建字段后删除,页面属性、检验字段、外键处对应字段无法删除 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/813)
- 在线生成删除多余字段后保存失败 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/815)
- AUTO在线表单导出null · (https://github.com/jeecgboot/jeecg-boot/issues/5529)
- Online在线功能ERP主题,从表记录被误删除 · (https://github.com/jeecgboot/jeecg-boot/issues/5591)
- online表单配置成单表(树)后,界面搜索不起作用 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/888)
- 【QQYUN-6685】link按钮添加多表达式
- 【issues/5371】一对多子表popup增加多选
- 【QQYUN-6647】页面配置中高级配置中设置的label长度,在列表与详情界面无效
- 【QQYUN-6594】使用在线Online开发,出现搜索框前面的label字被截断
- 【QQYUN-6588】代码警告,子表多出空白列
- 【QQYUN-4263】Online报表支持跨页选择导出问题
- 【issues/5371】一对多子表popup增加多选
- 【QQYUN-6808】online编辑字段多了卡顿
- online报表导出时间类型,导出的时间带T

#### 其他升级日志

- 升级底层依赖autopoi版本到1.4.7
- 升级底层依赖jimureport版本到1.6.6
- Online表单开发-在数据库属性页面新增字段删除后,页面属性没有同步删除 · (https://github.com/jeecgboot/jeecg-boot/issues/5505)
- tabel的列设置隐藏列保存后切换路由问题 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/825)
- 使用BasicTable表格的更多操作按钮禁用属性BUG · (https://github.com/jeecgboot/jeecgboot-vue3/issues/839)
- JImageUpload 开启 multiple, 上传多个图片,返回的上传成功文件列表中只有第一个文件名称 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/846)
- 使用代码里的代码生成器 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/833)
- 3.6.0(发布时间:2023-10-23)树形表格 复选框 不能回显 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/831)
- JSelectDept点击x关掉或者点击取消按钮关闭弹窗,再打开选择部门的窗口勾选消失了 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/863)
- 用户管理-岗位仍然不回显 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/855)
- BasicForm表单中第一次就使用复制粘贴操作input框,规则校验没触发 · (https://github.com/jeecgboot/jeecg-boot/issues/5579)
- JCodeEditor组件初始化时没有设置mode · (https://github.com/jeecgboot/jeecgboot-vue3/issues/869)
- MarkdownViewer组件样式有点难看 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/872)
- BasicTable组件设置hideSelectAll: true无法隐藏全选框 · (https://github.com/jeecgboot/jeecg-boot/issues/5595)
- tsConfig.json中有报错。 · (https://github.com/jeecgboot/jeecg-boot/issues/5564)
- 当表格无数据且显示合计栏,关闭tab页后,BasicTable报错 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/894)
- 在JSearchSelect组件标签上添加class/style样式不会生效 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/897)
- jeecg-uniapp-master前端项目无法集成到企业微信OAuth2登录 · (https://github.com/jeecgboot/jeecg-boot/issues/5533)
- POI导出一对多只有一条数据时,疯狂打印错误日志 · (https://github.com/jeecgboot/jeecg-boot/issues/5528)
- 导出表格设置了数字格式导出之后仍然是文本格式,并且无法进行计算 · (https://github.com/jeecgboot/jeecg-boot/issues/5538)
- 系统菜单,编辑内容时,显示文本框不居中 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/790)
- 3.6.0升级后,组件页面显示错位 · (https://github.com/jeecgboot/jeecg-boot/issues/5514)
- 登录报错 · (https://github.com/jeecgboot/jeecg-boot/issues/5516)
- 登录报错 Cannot destructure property "userlnfo' of (intermediate value)' as it is undefined. · (https://github.com/jeecgboot/jeecgboot-vue3/issues/812)
- useCustomSelection.tsx 同步选中内容有问题 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/828)
- 用户管理-》新增用户 职务、部门接口会调用多次,页面请求过多性能太差 · (https://github.com/jeecgboot/jeecgboot-vue3/issues/788)
- dev模式,修改代码后modal卡死,新增详情编辑一点就卡死[#860](https://github.com/jeecgboot/jeecgboot-vue3/issues/860 "#860")

### 升级SQL

3.6.0升级至3.6.1版本对应的增量升级SQL,执行完后,还需要手工给admin角色分配(sql解析接口、同步数据库接口、导入表接口)按钮权限。

```
-- 新增风格一对多内嵌和Tab风格
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('1691031996d5931315212', '1455100420297859074', 'AUTO在线一对多内嵌', '/online/cgformInnerTableList/:id', 'super/online/cgform/auto/innerTable/OnlCgformInnerTableList', 1, '', NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2023-08-14 18:20:20', 'admin', '2023-08-14 18:46:18', 0, 0, NULL, 0);
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('1691031996d5931315213', '1455100420297859074', 'AUTO在线Tab风格', '/online/cgformTabList/:id', 'super/online/cgform/auto/tab/OnlCgformTabList', 1, '', NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2023-08-14 18:20:20', 'admin', '2023-08-14 18:46:18', 0, 0, NULL, 0);

-- 【安全】online敏感接口,加权限注解(sql解析接口、同步数据库接口、导入表接口)
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699374704168534017', '1460888189937176577', 'SQL解析', NULL, NULL, 0, NULL, NULL, 2, 'online:report:parseSql', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-09-06 18:51:17', NULL, NULL, 0, 0, '1', 0);
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699374509749960705', '1455101470794850305', '查询数据库表名', NULL, NULL, 0, NULL, NULL, 2, 'online:form:queryTables', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-09-06 18:50:31', NULL, NULL, 0, 0, '1', 0);
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699374269152100354', '1455101470794850305', '同步数据库', NULL, NULL, 0, NULL, NULL, 2, 'online:form:syncDb', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-09-06 18:49:33', NULL, NULL, 0, 0, '1', 0);
update sys_permission set is_leaf=0 where id in ('1460888189937176577','1455101470794850305');
```

#### 新功能效果图

- JS增强代码提示
![](data/attachment/forum/202312/11/190118a3nubjpg00xbbi03.png "A8~J}I~FG1~@%TQ8ES9I5NN.png")
- 新手操作引导
![](data/attachment/forum/202312/11/190136clqsws1kknpdnenp.png "KA7419$NF7P((SU~NL1F]YO.png")

### 技术交流

- 开发文档:[https://help.jeecg.com](https://help.jeecg.com)
- 官方网站: [http://www.jeecg.com](http://www.jeecg.com)
- 在线演示:[http://boot3.jeecg.com](http://boot3.jeecg.com)

### 为什么选择 JeecgBoot?

> 开源界“小普元”超越传统商业平台。引领低代码开发模式(OnlineCoding-> 代码生成器 -> 手工MERGE),低代码开发同时又支持灵活编码, 可以帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高开发效率,节省成本,同时又不失灵活性。

- 采用最新主流前后分离框架(SpringBoot+Mybatis-plus+Ant-Design+Vue),容易上手; 代码生成器依赖性低,灵活的扩展能力,可灵活实现二次开发;
- 开发效率很高,采用代码生成器,单表数据模型和一对多(父子表)、树列表等数据模型,增删改查功能自动生成,菜单配置直接使用(前端代码和后端代码都一键生成);
- 代码生成器提供强大模板机制,支持自定义模板风格。目前提供四套风格模板(单表两套、一对多两套)
- 封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能。强大的权限机制,支持访问授权、按钮权限、数据权限、表单权限等
- 零代码在线开发能力,在线配置表单、在线配置报表、在线配置图表、在线设计表单
- 常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求
- 简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能
- 集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word等报表;
- 采用前后分离技术,页面UI精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等
- 查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询);
- 数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段
- 在线配置报表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据等报表)
- 页面校验自动生成(必须输入、数字校验、金额校验、时间空间等);
- 提供单点登录CAS集成方案,项目中已经提供完善的对接代码
- 表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
- 专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档,Jwt token安全验证,方便客户端对接
- 接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制
- 高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史
- 提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控)
- 消息中心(支持短信、邮件、微信推送等等)
- 集成Websocket消息通知机制
- 提供APP发布方案:
- 支持多语言,提供国际化方案;
- 数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化
- 平台UI强大,实现了移动自适应
- 平台首页风格,提供多种组合模式,支持自定义风格
- 提供简单易用的打印插件,支持谷歌、IE浏览器等各种浏览器
- 示例代码丰富,提供很多案例参考
- 采用maven分模块开发方式
- 支持菜单动态路由
- 权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制)

#### 开源版界面

##### PC端

![](https://upload.jeecg.com/jeecg/article/jeecgboot/pc1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/pc2.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/pc3.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/pc4.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/pc5.png)

##### 系统交互

![](https://upload.jeecg.com/jeecg/article/jeecgboot/xtjh1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/xtjh2.png)

##### 图表示例

![](https://upload.jeecg.com/jeecg/article/jeecgboot/tbsl1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/tbsl2.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/tbsl3.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/tbsl4.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/tbsl5.png)

##### 仪表盘设计器

![](https://upload.jeecg.com/jeecg/article/jeecgboot/ybp1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/ybp2.png)

##### 报表设计器

![](https://upload.jeecg.com/jeecg/article/jeecgboot/jmbb1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/jmbb2.gif)![](https://upload.jeecg.com/jeecg/article/jeecgboot/jmbb3.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/jmbb4.png)

##### UNIAPP效果

![](https://upload.jeecg.com/jeecg/article/jeecgboot/unapp1.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/unapp2.png)

##### 手机端

![](https://upload.jeecg.com/jeecg/article/jeecgboot/mob1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/mob2.png)

##### PAD端

![](https://upload.jeecg.com/jeecg/article/jeecgboot/pad1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/pad2.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/pad3.png)

##### 在线接口文档

![](https://upload.jeecg.com/jeecg/article/jeecgboot/zxwd1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/zxwd2.png)

#### 更多高级功能

##### 流程设计

![](https://upload.jeecg.com/jeecg/article/jeecgboot/lcsj1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/lcsj2.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/lcsj3.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/lcsj4.png)

##### 简版流程设计

![](https://upload.jeecg.com/jeecg/article/jeecgboot/jlsj1.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/jlsj2.png)![](https://upload.jeecg.com/jeecg/article/jeecgboot/jlsj3.png)

##### 表单设计器

![](https://upload.jeecg.com/jeecg/article/jeecgboot/bdsj1.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/bdsj2.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/bdsj3.png)

##### 大屏设计器

![](https://upload.jeecg.com/jeecg/article/jeecgboot/dp1.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/dp2.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/dp3.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/dp4.png)

##### 零代码应用

![](https://upload.jeecg.com/jeecg/article/jeecgboot/ldm1.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/ldm2.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/ldm3.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/ldm4.png)

![](https://upload.jeecg.com/jeecg/article/jeecgboot/ldm5.png)

欢迎吐槽,欢迎star\~



页: [1]
查看完整版本: 『开源资讯』低代码平台—JeecgBoot v3.6.1 版本发布,Online表...