Just do kit!
基于 Spring Boot 2.1.9 、 Jpa、 Spring Security、redis、Vue的前后端分离的后台管理系统, 权限控制的方式为RBAC,项目支持数据字典与数据权限管理,支持一键生成前后端代码(支持在线预览及打包下载),支持前端菜单动态路由 可一键部署服务器应用,数据库。系统中活跃用户状态监控,监视当前系统CPU、内存、磁盘、堆栈等相关信息,基于Element UI在线表单设计及生成Vue代码。
- 前后端统一异常拦截处理,统一输出异常,避免繁琐的判断
- 高效率开发,使用代码生成器可以一键生成前后端代码
- 支持数据字典,可方便的对一些状态进行管理
- 支持接口限流,避免恶意请求导致服务层压力过大
- 支持接口级别的功能权限与数据权限,可自定义操作
- 自定义权限注解与匿名接口注解,可快速对某一接口拦截与放行
- 对一些常用的前端组件封装:表格数据请求、数据字典等
- 前端表单,后端代码,支持配置一键生成
项目地址
github | 码云 |
---|---|
https://github.com/Perye/dokit | https://gitee.com/hongguodong/dokit |
- 用户管理:提供用户的相关配置,新增用户后,默认密码为123456
- 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
- 菜单管理:菜单动态路由,后端可配置化,支持多级菜单
- 部门管理:可配置系统组织架构,树形表格展示
- 岗位管理:配置各个部门的职位
- 字典管理:可维护常用一些固定的数据,如:状态,性别等
- 操作日志:记录用户操作的日志
- 异常日志:记录异常日志,方便开发人员定位错误,异常信息前台高亮显示
- 系统缓存:使用jedis将缓存操作可视化,并提供对redis的基本操作,可根据需求自行扩展
- SQL监控:采用druid 监控数据库访问性能,默认用户名admin,密码123456
- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
- 代码生成:高灵活度一键生成前后端代码,减少百分之80左右的工作任务,可以预览生成结果
- 邮件工具:配合富文本,发送html格式的邮件
- 系统接口:根据业务代码自动生成相关的api接口文档。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 图床管理:使用sm.ms图床,用作公共图片上传使用
- 七牛云存储:可同步七牛云存储的数据到系统,无需登录七牛云直接操作云数据
- 在线用户:当前系统中活跃用户状态监控,查看实时在线用户,可以管理在线用户,踢下线等操作
- 服务器: 可以连接云服务器进行管理
- 数据库管理: 连接数据方便更新数据库脚本
- 应用管理:上传jar包到服务器进行管理
- 部署管理:可一键部署,根据配置的服务器和应用程序,线上直接配置,无需命令行
- 表单构建:基于Element UI在线表单设计及生成Vue代码
技术 | 说明 |
---|---|
SpringBoot | 容器+MVC框架 |
SpringSecurity | 认证和授权框架 |
Spring-data-jpa | ORM框架 |
Spring Cache | Spring缓存 |
Swagger-UI | 文档生产工具 |
log4jdbc | 监控sql日志 |
Redis | 分布式缓存 |
Druid | 数据库连接池 |
OSS | 对象存储 |
JWT | JWT登录支持 |
Lombok | 简化对象封装工具 |
quartz | 作业调度框架 |
freemarker | 模版引擎 |
sigar | 系统信息 |
websocket | TCP通信 |
ssh2 | 服务器连接 |
jsch | SFTP文件传输 |
mapstruct | 属性映射工具 |
mysql | 关系型数据库 |
技术 | 说明 |
---|---|
Vue | 前端框架 |
Vue-router | 路由框架 |
Vuex | 全局状态管理框架 |
Element | 前端UI框架 |
Axios | 前端HTTP框架 |
echarts | 基于Echarts的图表框架 |
Js-cookie | cookie管理工具 |
nprogress | 进度条控件 |
vue-count-to | 数字滚动 |
vue-highlightjs | 代码语法高亮 |
qs | 对象序列化 |
vue-cropper | 图片剪切 |
vue-splitpane | 前端页面分割 |
path-to-regexp | url正则表达 |
wangeditor | 富文本编辑器 |
mavon-editor | markdown编辑器 |
jszip | 压缩解压 |
jsencrypt | 参数前端加密 |
fusejs | 基于 JavaScript 的轻量级模糊搜索引擎 |
file-saver | 客户端保存文件 |
codemirror | 在线编辑代码 |
clipboard | 点击复制 |
vue-treeselect | 树形选择器 |
vue-jsx | JSX语法 |
screenfullJS | 全屏 |
xlsx | 生成报表 |
sass | CSS扩展语言 |
svgo | svg压缩 |
后端
.
├── main
│ ├── java
│ │ └── com
│ │ └── perye
│ │ └── dokit
│ │ ├── DokitApplication.java 应用启动类
│ │ ├── annotation 系统自定义注解
│ │ ├── aop
│ │ ├── aspect 自定义注解的切面
│ │ ├── base 提供了Entity、DTO基类和mapstruct的通用mapper
│ │ ├── config 自定义权限实现、redis配置、swagger配置
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── exception 统一异常的处理
│ │ ├── mapper
│ │ ├── redis
│ │ ├── repository
│ │ ├── security
│ │ ├── service
│ │ ├── swagger2
│ │ ├── task
│ │ ├── utils 系统通用工具类
│ │ ├── vo
│ │ └── websocket
│ └── resources
│ ├── banner.txt
│ ├── config
│ │ ├── application-dev.yml
│ │ ├── application-prod.yml
│ │ └── application.yml
│ ├── generator.properties
│ ├── log4jdbc.log4j2.properties
│ ├── logback.xml
│ ├── sigar-lib sigar所需文件
│ ├── sql
│ │ └── dokit.sql sql文件
│ └── template
│ ├── email
│ │ └── email.ftl 发送邮件模版
│ └── generator 自动生成代码模版
│ ├── admin
│ │ ├── Controller.ftl
│ │ ├── Dto.ftl
│ │ ├── Entity.ftl
│ │ ├── Mapper.ftl
│ │ ├── QueryCriteria.ftl
│ │ ├── Repository.ftl
│ │ ├── Service.ftl
│ │ └── ServiceImpl.ftl
│ └── front
│ ├── api.ftl
│ └── index.ftl
└──
前端
.
├── LICENSE
├── README.md
├── babel.config.js
├── jest.config.js
├── package.json
├── plopfile.js
├── postcss.config.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── App.vue
│ ├── api
│ ├── assets
│ ├── components
│ │ ├── Breadcrumb
│ │ ├── Crud
│ │ ├── Dict
│ │ ├── Echarts
│ │ ├── Hamburger
│ │ ├── HeaderSearch
│ │ ├── IconSelect
│ │ ├── Iframe
│ │ ├── JavaEdit
│ │ ├── Pagination
│ │ ├── PanThumb
│ │ ├── Permission
│ │ ├── RightPanel
│ │ ├── Screenfull
│ │ ├── SizeSelect
│ │ ├── SvgIcon
│ │ ├── ThemePicker
│ │ └── YamlEdit
│ ├── layout
│ ├── main.js
│ ├── mixins
│ ├── router
│ ├── settings.js
│ ├── store
│ ├── utils
│ └── views
│ ├── components
│ ├── dashboard
│ ├── features
│ ├── generator
│ ├── home.vue
│ ├── login.vue
│ ├── mnt
│ ├── monitor
│ ├── system
│ └── tools
├── static
├── tree.txt
├── vue.config.js
└── yarn.lock