快速了解

项目简介

RuoYi-Vue是一款基于SpringBoot+Vue的前后端分离极速后台开发框架。

RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。

主要特性

  • 完全响应式布局(支持电脑、平板、手机等所有主流设备)
  • 强大的一键生成功能(包括控制器、模型、视图、菜单等)
  • 支持多数据源,简单配置即可实现切换。
  • 支持按钮及数据权限,可自定义部门数据权限。
  • 对常用js插件进行二次封装,使js代码变得简洁,更加易维护
  • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  • Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。
  • 国际化支持,服务端及客户端支持
  • 完善的日志记录体系简单注解即可实现

技术选型

1、系统环境

  • Java EE 8
  • Servlet 3.0
  • Apache Maven 3

2、主框架

  • Spring Boot 2.1
  • Spring Framework 5.1
  • Spring Security 5.1

3、持久层

  • Apache MyBatis 3.4
  • Hibernate Validation 6.0
  • Alibaba Druid 1.1

4、视图层

  • Vue 2.6
  • Axios 0.18
  • Element UI 2.11

内置功能

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  • 岗位管理:配置系统用户所属担任职务。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 参数管理:对系统动态配置常用参数。
  • 通知公告:系统通知公告信息发布维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 在线用户:当前系统中活跃用户状态监控。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  • 系统接口:根据业务代码自动生成相关的api接口文档。
  • 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  • 在线构建器:拖动表单元素生成相应的HTML代码。
  • 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

更新日志

  • v3.1.0 2020-08-13

    • 表格工具栏右侧添加刷新&显隐查询组件
    • 后端支持CORS跨域请求
    • 代码生成支持选择上级菜单
    • 代码生成支持自定义路径
    • 代码生成支持复选框
    • Excel导出导入支持dictType字典类型
    • Excel支持分割字符串组内容
    • 验证码类型支持(数组计算、字符验证)
    • 升级vue-cli版本到4.4.4
    • 修改 node-sass 为 dart-sass
    • 表单类型为Integer/Long设置整形默认值
    • 代码生成器默认mapper路径与默认mapperScan路径不一致
    • 优化防重复提交拦截器
    • 优化上级菜单不能选择自己
    • 修复角色的权限分配后,未实时生效问题
    • 修复在线用户日志记录类型
    • 修复富文本空格和缩进保存后不生效问题
    • 修复在线用户判断逻辑
    • 唯一限制条件只返回单条数据
    • 添加获取当前的环境配置方法
    • 超时登录后页面跳转到首页
    • 全局异常状态汉化拦截处理
    • HTML过滤器改为将html转义
    • 检查字符支持小数点&降级改成异常提醒
    • 其他细节优化
  • v3.0.0 2020-07-20

    • 单应用调整为多模块项目
    • 升级element-ui版本到2.13.2
    • 删除babel,提高编译速度。
    • 新增菜单默认主类目
    • 编码文件名修改为uuid方式
    • 定时任务cron表达式验证
    • 角色权限修改时已有权限未自动勾选异常修复
    • 防止切换权限用户后登录出现404
    • Excel支持sort导出排序
    • 创建用户不允许选择超级管理员角色
    • 修复代码生成导入表结构出现异常页面不提醒问题
    • 修复代码生成点击多次表修改数据不变化的问题
    • 修复头像上传成功二次打开无法改变裁剪框大小和位置问题
    • 修复布局为small者mini用户表单显示错位问题
    • 修复热部署导致的强换异常问题
    • 修改用户管理复选框宽度,防止部分浏览器出现省略号
    • IpUtils工具,清除Xss特殊字符,防止Xff注入攻击
    • 生成domain 如果是浮点型 统一用BigDecimal
    • 定时任务调整label-width,防止部署出现错位
    • 调整表头固定列默认样式
    • 代码生成模板调整,字段为String并且必填则加空串条件
    • 代码生成字典Integer/Long使用parseInt
    • 修复dict_sort不可update为0的问题&查询返回增加dict_sort升序排序
    • 修正岗位导出权限注解
    • 禁止加密密文返回前端
    • 修复代码生成页面中的查询条件创建时间未生效的问题
    • 修复首页搜索菜单外链无法点击跳转问题
    • 修复菜单管理选择图标,backspace删除时不过滤数据
    • 用户管理部门分支节点不可检查&显示计数
    • 数据范围过滤属性调整
    • 其他细节优化
  • v2.3.0 2020-06-01

    • 升级fastjson到最新版1.2.70 修复高危安全漏洞
    • dev启动默认打开浏览器
    • vue-cli使用默认source-map
    • slidebar eslint报错优化
    • 当tags-view滚动关闭右键菜单
    • 字典管理添加缓存读取
    • 参数管理支持缓存操作
    • 支持一级菜单(和主页同级)在main区域显示
    • 限制外链地址必须以http(s)开头
    • tagview & sidebar 主题颜色与element ui(全局)同步
    • 修改数据源类型优先级,先根据方法,再根据类
    • 支持是否需要设置token属性,自定义返回码消息。
    • swagger请求前缀加入配置。
    • 登录地点设置内容过长则隐藏显示
    • 修复定时任务执行一次按钮后不提示消息问题
    • 修改上级部门(选择项排除本身和下级)
    • 通用http发送方法增加参数 contentType 编码类型
    • 更换IP地址查询接口
    • 修复页签变量undefined
    • 添加校验部门包含未停用的子部门
    • 修改定时任务详情下次执行时间日期显示错误
    • 角色管理查询设置默认排序字段
    • swagger添加enable参数控制是否启用
    • 只对json类型请求构建可重复读取inputStream的request
    • 修改代码生成字典字段int类型没有自动选中问题
    • vuex用户名取值修正
    • 表格树模板去掉多余的)
    • 代码生成序号修正
    • 全屏情况下不调整上外边距
    • 代码生成Date字段添加默认格式
    • 用户管理角色选择权限控制
    • 修复路由懒加载报错问题
    • 模板sql.vm添加菜单状态
    • 设置用户名称不能修改
    • dialog添加append-to-body属性,防止ie遮罩
    • 菜单区分状态和显示隐藏功能
    • 升级fastjson到最新版1.2.68 修复安全加固
    • 修复代码生成如果选择字典类型缺失逗号问题
    • 登录请求params更换为data,防止暴露url
    • 日志返回时间格式处理
    • 添加handle控制允许拖动的元素
    • 布局设置点击扩大范围
    • 代码生成列属性排序查询
    • 代码生成列支持拖动排序
    • 修复时间格式不支持ios问题
    • 表单构建添加父级class,防止冲突
    • 定时任务并发属性修正
    • 角色禁用&菜单隐藏不查询权限
    • 其他细节优化
  • v2.2.0 2020-03-18

    • 系统监控新增定时任务功能
    • 添加一个打包Web工程bat
    • 修复页签鼠标滚轮按下的时候,可以关闭不可关闭的tag
    • 修复点击退出登录有时会无提示问题
    • 修复防重复提交注解无效问题
    • 修复通知公告批量删除异常问题
    • 添加菜单时路由地址必填限制
    • 代码生成字段描述可编辑
    • 修复用户修改个人信息导致缓存不过期问题
    • 个人信息创建时间获取正确属性值
    • 操作日志详细显示正确类型
    • 导入表单击行数据时选中对应的复选框
    • 批量替换表前缀逻辑调整
    • 固定重定向路径表达式
    • 升级element-ui版本到2.13.0
    • 操作日志排序调整
    • 修复charts切换侧边栏或者缩放窗口显示bug
    • 其他细节优化
  • v2.1.0 2020-02-24

    • 新增表单构建
    • 代码生成支持树表结构
    • 新增用户导入
    • 修复动态加载路由页面刷新问题
    • 修复地址开关无效问题
    • 汉化错误提示页面
    • 代码生成已知问题修改
    • 修复多数据源下配置关闭出现异常处理
    • 添加HTML过滤器,用于去除XSS漏洞隐患
    • 修复上传头像控制台出现异常
    • 修改用户管理分页不正确的问题
    • 修复验证码记录提示错误
    • 修复request.js缺少Message引用
    • 修复表格时间为空出现的异常
    • 添加Jackson日期反序列化时区配置
    • 调整根据用户权限加载菜单数据树形结构
    • 调整成功登陆不恢复按钮,防止多次点击
    • 修改用户个人资料同步缓存信息
    • 修复页面同时出现el-upload和Editor不显示处理
    • 修复在角色管理页修改菜单权限偶尔未选中问题
    • 配置文件新增redis密码属性
    • 设置mybatis全局的配置文件
    • 其他细节优化
  • v2.0.0 2019-12-02

    • 新增代码生成
    • 新增@RepeatSubmit注解,防止重复提交
    • 新增菜单主目录添加/删除操作
    • 日志记录过滤特殊对象,防止转换异常
    • 修改代码生成路由脚本错误
    • 用户上传头像实时同步缓存,无需重新登录
    • 调整切换页签后不重新加载数据
    • 添加jsencrypt实现参数的前端加密
    • 系统退出删除用户缓存记录
    • 其他细节优化
  • v1.1.0 2019-11-11

    • 新增在线用户管理
    • 新增按钮组功能实现(批量删除、导出、清空)
    • 新增查询条件重置按钮
    • 新增Swagger全局Token配置
    • 新增后端参数校验
    • 修复字典管理页面的日期查询异常
    • 修改时间函数命名防止冲突
    • 去除菜单上级校验,默认为顶级
    • 修复用户密码无法修改问题
    • 修复菜单类型为按钮时不显示权限标识
    • 其他细节优化
  • v1.0.0 2019-10-08

    • 若依前后端分离系统正式发布