Skip to the content.

若依框架(前后端分析版本)

若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。

项目地址:https://gitee.com/y_project/RuoYi-Vue

官网:http://ruoyi.vip

文档地址:http://doc.ruoyi.vip

项目演示:

akvyg-ba4sx

技术栈

Features

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

简介

安装步骤

image-20211201190056267

# mysql
/ruoyi-admin/src/main/resources/application-druid.yml

# redis
/ruoyi-admin/src/main/resources/application.yml
CREATE DATABASE `ry-vue` CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `ry-vue`;
source /Users/chenpeng/IdeaProjects/RuoYi-Vue/sql/quartz.sql
source /Users/chenpeng/IdeaProjects/RuoYi-Vue/sql/ry_20210908.sql
.
├── LICENSE
├── README.md
├── bin
├── doc
├── dump.rdb
├── pom.xml
├── ruoyi-admin                  # web服务入口
├── ruoyi-common                 # common通用工具
├── ruoyi-framework              # framework框架核心
├── ruoyi-generator              # generator代码生成
├── ruoyi-quartz                 # quartz定时任务
├── ruoyi-system                 # system系统模块
├── ruoyi-ui                     # 前端代码目录
│   ├── bin
│   ├── build
│   ├── node_modules
│   ├── public
│   └── src
└── sql
/ruoyi-admin/src/main/resources/logback.xml

把 /home/ruoyi -> /Users/chenpeng
cd /Users/chenpeng/IdeaProjects/RuoYi-Vue/ruoyi-ui
npm install --registry=https://registry.npm.taobao.org
npm run dev

WechatIMG31486

WechatIMG31488


通过反向代理解决跨域问题

image-20211201193049743


数据表ER图

权限组呢?

image-20211202140756191

验证码方案

2+1?@3

登录具体流程

异步线程池

使用异步任务管理器, 结合线程池,实现异步

AsynvManager.me().execute(....)

验证

用户角色与权限

*:*:*  # 所有的权限

异步任务管理器

线程池原理

代码自动生成

use ry-Vue;

create table test_user(
    id int primary key auto_increment,
    name varchar(11),
    password varchar(11)
);

权限设计详解

见上ER图。

描述了菜单-角色-用户-部门-岗位之间的关系。

菜单权限:略
按钮权限:略
接口权限:
    @PreAuthorize("@ss.hasPermi('system:user:edit')")
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@Validated @RequestBody SysUser user)
    {
        ...
    }
{
    "msg": "请求访问:/system/user/list,认证失败,无法访问系统资源",
    "code": 401
}

参考链接: