@[toc]
1. 项目概况(含下载)
本项目基于Gitee的开源项目Quella,进行了部分功能的二次开发。
原项目地址:gitee.com/quella01/Qu…
本项目地址:gitee.com/ZXAcademy/C…
项目协议:Apache-2.0
原项目的最近一次更新发布于2019年1月,所以某些依赖有点过时。
但是此脚手架集成了一些通用的后台功能,如菜单设置、权限控制等,以及集成了常用的第三方服务,如七牛云存储、第三方支付等,其开发模式还是值得学习和借鉴的。
并且,使用此脚手架能够快速进行后台管理系统的开发,非常适合敏捷开发。
下文,是基于此框架进行的二次开发,记录了详细的开发过程。
下文部分内容来自原仓库的说明文档和官方开发文档。
2. 项目演示
以下功能是原始系统的功能。
1、后台登录页面:
初始密码:admin
2、后台主页:
点击右上角的用户名
ssrs,点击设置,可以切换成选择卡视图,就是下面这种,每个页面带 x 的样式。
3、菜单设置:
4、权限设置:
5、管理员设置:
6、角色设置:
以下功能是在原始框架中,进行的二次开发。
7、教室信息管理
8、设备信息管理:
9、新增设备:
10、模糊查询:
11、图表统计:
3. 快速部署
3.1 架构说明
- 前端框架:基于Layui的kit-admin
- 页面模板:采用 FreeMaker 与 JSP 双视图
- 后端主要框架:Spring + SpringMVC + MybatisPlus + Shiro + Redis
- Redis:分布式 session 与 分布式缓存
- Quartz:任务调度方案
- ElasticSearch:全文检索与数据分析方案
3.2 环境说明
- JDK 1.8
- Tomcat 7.0及以上
- MySQL 5.7
- Redis 3.0及以上
- ElasticSearch 6.4.2(非必须)
- 开发工具IDEA(需要安装Lombok插件)
以上环境,除了JDK、Tomcat、MySQL是必须的,
Redis也是必须的,否则无法登录系统。ElasticSearch 不是必须的。
如果是Windows系统,建议使用
一键安装的Redis。下载3.2或3.0版本的
msi文件,一键安装即可使用。推荐使用的
Redis数据库可视化工具:gitee.com/qishibo/Ano…
3.3 项目搭建详细过程
1、克隆项目至本地;
2、使用IDEA导入项目;
3、选择Maven项目类型;
4、勾选Maven自动导入;
5、勾选需要导入的Maven项目;
6、选择JDK版本;
7、设置项目名;
8、导入的项目完整结构;
9、右击resources文件夹,将其设置为资源根目录(右击→Make Dictionary as→Resources Root);
10、右击Test文件夹,将其设置为测试资源根目录(右击→Make Dictionary as→Test Sources Root);
11、配置Tomcat;
12、导入SQL脚本文件至自己的数据库;
13、配置数据库信息;
14、配置Redis信息(一般不需要修改);
15、启动Redis服务(一般安装完成后,自动启动);
16、运行项目;
17、浏览器自动跳转至登录页面。
4. 快速上手
如何快速开发你需要管理的表呢?
下文的内容将解答你的疑惑。
4.1 一些建议
新建表:
系统默认表的前缀是ssrs,为了区别于系统表,新建表的名字建议使用其他前缀,如示例中的前缀table;
后台开发:
系统默认的后台项目文件,均在com.ssrs包下,如controller、model等。
为了区别于系统文件,在com.ssrs目录新建了一个名为dev的包,新编写的model、service、controller等文件,建议写在这里,如下图:
前端开发:
在 webapp 文件夹下,有一些静态资源,如css、js等,这是公共的。
在 webapp/WEB-INF/ftl 目录下,有一些系统默认的页面。
为了区别于系统默认的页面,在该目录下新建了一个名为devPages的文件夹,新编写的页面,建议写在这个文件夹下,如下图:
4.2 添加菜单
启动项目后,即可进入项目后台。
在项目后台页面,访问 系统设置>>菜单设置,点击 新增,即可为系统左侧菜单栏新增一个菜单,如下图:
这里注意,新增的菜单有两种类型:顶级菜单和二级菜单。
如果新增的是一个顶级菜单,在没有为其添加二级菜单的情况下,是不会在左侧显示的。
顶级菜单的填写示例:
二级菜单的填写示例:
链接标题、排序、权限名称,是可以任意填写的。
最重要的是链接地址,其地址,必须对应controller中的RequestMapping,否则无法实现响应和页面加载,如下图:
4.3 设置权限
本系统中的每个请求(即每个链接),都可以为其设置权限。
一般来说,每个表单的增删改查,需要设置权限,并根据实际需求,为每个角色分配不同的权限。
在项目后台页面,访问 系统设置>>权限设置,点击 新增,即可为系统中的链接增加权限:
这里需要注意,权限Action的填写方式,和上文添加二级菜单的Action,一致。
然后,就可以将这些权限分配给每个角色,如下图:
点击上图所获权限的输入框(非 ×),即可展开权限树,勾选提交即可。
4.4 使用逆向工程生成代码
当我们的数据库中增加新的表单后,针对该表单的model、service、mapper、controller等文件,均不需要手动创建,可以直接使用项目提供的代码生成示例,一键生成。
首先使用和修改的信息,如下图所示:
然后右击,运行,即可生成各个文件。
上图示例代码生成的6个文件,如下图所示:
最后,也是最重要的,把xml文件中的开启二级缓存部分注释掉!,如下图:
4.5 添加前端页面
在devPages目录下,可以新增自己的一些页面,如添加页面、更新页面等,需要注意,添加的页面后缀应为ftl格式。
至此,关于此框架的一些常规的使用方法和注意事项,基本介绍完毕。