【二饭管理系统】从零搭建一个轻量级快速开发平台

2022-05-13 15:27:21 浏览数 (1)

系统名称:二饭管理系统v1.0

系统框架:SpringBoot Vue

目录:

1、简介 2、版本v1.0内置功能 3、核心功能实现讲解

1、简介

看过若依的项目,比较臃肿,对于轻量级项目来说大可不必!

所以从零开发了这样一套后台系统,它优点在于轻量级,系统除了依赖MySQL之外,无依赖任何外部模块或应用。

大多数的后台系统它都可以胜任,由于它是一个单应用的开发模式所以它的优点相对于其他多模块系统来说,它的优点在占用内存少、启动快、运行快、部署简单等。

项目地址:

https://gitee.com/StandFast/tworice-admin

2、版本v1.0内置功能

1、资源管理:设置模块-页面-功能的分级资源,并选择是否实时更新Vue路由。

2、人员管理:系统中除了超级管理员外所有的人员账号信息。

3、角色管理:系统通过分角色来区别用户拥有的资源权限,超级管理员默认拥有所有的资源权限。

4、公告管理:用于发布系统公告,并设置快捷的置顶公告开关,提供获取置顶公告接口。

5、操作日志:记录系统的所有敏感操作,此权限一般只对超级管理开放。

6、登录日志:记录所有人员登录操作,并记录登录是否成功,防止被爆破密码。

7、系统接口:内置Swagger3的接口文档,方便开发人员进行扩展开发,几乎所有的文档内容都有中文注释,易于扩展开发。

8、系统监控:查看实时的系统运行状态,包括CPU、内存等信息,利于排查故障。

9、代码生成:可进行一键生成Vue文件、Java文件(控制层、业务层、持久层)、XML文件、SQL(动态创建数据表、字段等)。

10、登录验证码:系统默认登录验证码时效为5分钟,该功能使用具有时效的AgingMap来存储验证码。

11、注册验证码:注册时验证码默认为邮箱验证码注册,并且默认会给注册成功的账号为“用户”角色。

12、前端样式配置文件:登录界面、主题色、表单校验提示样式、表头样式、弹出框样式等都有全局配置,可以很快捷的进行设置。

3、核心功能实现讲解

实时更新VueRouter

我们只需要指定模块名称或页面名称,系统会自动定位router文件,找到合适的位置并生成相应的代码。

这里以生成页面举例,当我需要在一个模块下生成一个页面时,我只需指定模块的名称和页面的名称,系统会先在路由表中找到模块,再继续在模块中寻找是否存在要生成的页面,如果不存在,那么就生成一个。

逻辑很简单,但是实现起来还是需要多次尝试,如果多一个符号或少一个符号都是会使系统报错的。

- 资源列表 -

- 添加模块资源 -

角色管理

如果当前角色拥有角色管理的权限,并不代表TA可以随意修改自己或其他的角色权限。

因为系统只会赋予TA对自己拥有的资源权限进行角色分配,举个例子:当前资源权限有① ② ③三个资源权限,其中①是角色管理的资源权限,当A用户拥有① ②两个资源权限时,A用户并不可以使自己或其他角色拥有③这个资源权限,只能将① 或 ②的资源权限分配给其他角色。

为了系统更高的安全性,“超级管理员”这个角色并不存在于数据库中,而是在系统的yml配置文件中,系统管理员可以实时地修改这个配置文件来修改超级管理员的登录账号和密码,其他的角色也无法获取到超级管理员的账号密码。即使数据库被攻破,也不会对系统造成很大的损失,只有超级管理员的权限才能对系统进行破坏。

- 管理权限 -

登录操作

登录操作中内置了验证码,为了防止爆破密码。但是有人会利用获取验证码的操作一直去攻击服务器,所以我在系统中加入了拒绝策略,当五分钟内超过十条请求验证码的操作系统就进入拒绝策略,这里的拒绝指的是未获取到Token的用户请求,对于已经获取Token的用户并未受到影响。

当然,你也可以在配置文件中修改超过多少条请求才会进入拒绝策略,默认情况下是十条。而且该验证码已经被使用过了就不会记录在内,比如你使用这个验证码登录成功了,该次验证码的请求就不会被记录在十条之内。

代码生成

该功能实现五秒内创建一个表的全部增删查改操作,包括Vue文件、Java文件(控制层、业务层、持久层)、XML文件、SQL(动态创建数据表、字段等)。

该功能设置了对应的模板页面,如果需要自己自定义生成代码也可以进行修改。

像简单的毕业设计系统利用它可以在两个小时内完工。

- 代码生成 --

4、结语

由于时间关系,目前的功能就是上面这些,后续会持续地更新这个系统。像定时任务、字典等功能都会加入。

0 人点赞