使用 jeecg-boot 心得
1 简单介绍
jeecg-boot 项目介绍,我就简单介绍了一下,jeecg-boot 是一个轻量级的 Spring Boot2.x 快速开发平台,其设计目标是开发迅速、学习简单、轻量级、易扩展;使用 Spring Boot、Shiro、MyBatis-plus、Redis、ant-design-vue 等框架,包含:用户列表、角色管理、菜单管理、定时任务,代码生成器、日志管理、API 模块(APP 接口开发利器)、前后端分离等。
2 官方代码地址
了解具体请查看[https://gitee.com/jeecg/jeecg-boot][1],或者
[https://gitee.com/jeecg/jeecg-boot][2]
3 使用心得
1)友好的代码结构及注释和详细的使用文档便于阅读及二次开发
2)封装了很多常用的组件,如数据字典、人员,部门等组件,精简很多重复的代码
3)系统监控这个真的是一个亮点,可以减少开发人员和运维人员对设备的管控,(以及很多领导对外
宣传系统安全监控,我们公司也是国资,给外面国资和政府项目,经常项目中要这些指标,如果是
微服务平台,当然这个还不满足)4)实现前后端分离,通过 token 进行数据交互,前端再也不用关注后端技术
5)灵活的权限控制,可控制到页面或按钮,和数据权限 满足绝大部分的权限需求
6)是页面交互使用 ant-design-vue,极大的提高了开发效率
7)完善的代码生成机制,可在线生成 controller、service、entity、、dao、xml、vue,减少
70% 以上的开发任务
8)引入 quartz 定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
9)引入 API 模板,根据 token 作为登录令牌,极大的方便了 APP 接口开发
10)引入 swagger 文档支持,方便编写 API 接口文档
4 改进建议
4.1 添加数据库维护模块
假如现在我一个人要同时开发多个项目,使用的是不同的数据库甚至是不同的数据库类型,同时启动不同的的项目来生成代码也不合理这时添加数据库模块就方便了,我在 online 表单时,我可以选择是哪个数据下的表
4.2 添加生成 sql 模版
代码生成器(非在线 onlie 开发),我觉得可以添加个 sql 模版,该模版主要用户生成菜单的 sql,可以进一步简化页面手动添加菜单对应的具体业务菜单,这个在 online 我也觉得也可以添加,是否生成菜单(单选按钮)、上级菜单(下拉框)
Sql 模版内容:
— 菜单 SQL- 目录
INSERT INTO sys_permission
(id
,parent_id
, name
, component
,url
, perms
, menu_type
, icon
, order_num
)
VALUES (*,*,*,*,*,*,…);
— 按钮父菜单 ID
set @parentId = @@identity;
— 菜单对应按钮 SQL
INSERT INTO sys_permission
(id
,parent_id
, name
, component
,url
, perms
, menu_type
, icon
, order_num
)
SELECT id
,@parentId, ‘ 查看 ’,…;
SELECT id
,@parentId, ‘ 添加 ’,…;
SELECT id
,@parentId, ‘ 更新 ’,…;
SELECT id
,@parentId, ‘ 更删除 ’,…;
SELECT id
,@parentId, ‘ 倒入 ’,…;
SELECT id
,@parentId, ‘ 导出 ’,…;
SELECT id
,@parentId, ‘ 详情 ’,…;
4.3 表单添加动态监听
Online 表单,添加的时候,页面属性 tab 列表项,添加是否监听源,和监听对象两个项目
1: 监听源,表示是别的控件依赖本控件值的变化,当选择该项时,即页面中有其他字段是随着本控件的值,来加载数据的
2. 监听对象:只有在页面属性 tab 中有设置其他组件设置监听源的情况下,监听对象才有意义,当选择了其他组件是监听对象时,弹出个文本框或者其他组件来书写监听源 change 时的 @change 的 method
4.4 添加【页面操作】tab
添加【操作 method】tab,这个 tab 页用来,维护表单中非 crud 的方法,如因上述中监听源的 change 方法,
列表如下
添加在线实时消息通知功能,因为定位是企业级平台,消息通知必不可少,实时刷新更为重要
可以使用对消息模块使用 WebSocket 和一些常见的消息队列 mq
4.5 添加常用的数据权限规则:
如 1)只有添加查看自己的添加数据
2)查看当前部门数据
3)查看当前部门和下属部门数据等
采用控件可以使用可添加数据项的下拉控件,当使用已经维护好的权限时,规则字段,和添加规则,规则值,都只读
4.6 我的部门模块
Jeecg-boot】定位为企业级的开发平台,我觉得部门这块需要完善喜下,
1)既然是我的部门,这个只能查看我自己的部门或者下属部门的部门列表和对应的人员信息
2)当没有选中部门的时候,可以查询所有我的部门和下属部门的人员信息,
3)在我的部门左侧查询空间,应该添加个重置按钮,重置选择的部门
4.7 首页 - 定制化
首页,对应很多公司做一些项目的时候,首页经常变化,或者在维护个专门的模块来管理和发布首页
4.8 菜单导航栏没有固定
当设置如果中 1 和 2 固定时候,某个模块如【个人中心】,内容超过当前屏幕容器的高度时候,菜单导航栏 3 的位置会随着上下滚动条和滚动
4.9 整理菜单项
整理如结果页、详情页、列表项、异常页、表单项,可以归纳为 常见案例中
4.10 其他
流程模块,还没测试过数据,后续有有疑惑我页提出来