1. RuoYi-Vue项目
常规说明:
- ruoyi-admin:后台接口开发(主要存放控制层相关代码)
- ruoyi-common:通用工具
- ruoyi-framework:框架核心
- ruoyi-generator:代码生成(可以移除)
- ruoyi-quartz:定时任务(可以移除)
- ruoyi-system:系统模块(主要存放实体类、持久层、服务层的代码)
额外说明:
- ruoyi-ui:若依开发的后台界面(可以使用vscode运行)
- ruoyi-api:小程序接口开发(有些公司的项目中会有该模块,主要存放控制层相关代码)
启动前,需要修改application.xml的配置信息:
需要修改application.xml中的:(注意所使用的环境模式)
- mysql的相关配置信息
- redis的相关配置信息
2. 源码分析
我们知道使用RuoYi-Vue的代码生成器:
生成的代码:
- 前端部分:api(接口)、view(页面)
- 后端部分:java(java代码)、resources(mapper配置)
- 还有需要执行的:sys_menu.sql(菜单sql文件)、
只需要将生成的代码进行导入,即可呈现一个简单简洁的模版界面,然后再根据需求去修改该界面
前端的代码比较好理解,无非就是view中的代码实现了什么效果的界面。api就是通过调用后端的控制层所规定的接口,所以我决定
后端的代码讲解
首先,我们先搞明白,到底返回什么对象,响应请求呢?
(1)获取分页列表操作
返回的对象列表是TableDataInfo,需要使用所基础控制层BaseController中的startPage方法对列表进行分页操作
(2)获取对象信息操作
如果不是获取分页列表信息,而是获取单个对象信息,则使用success返回AjaxResult
当然你也可以使用AjaxResult.success方法,因为当你点击success方法进去查看时,你会发现这返回的就是AjaxResult.success,两种方式实现效果一致:
(3)新增、修改、删除操作
你会发现新增、修改、删除操作都是使用toAjax方法进行返回AjaxResult
查看toAjax方法,可以发现toAjax是对影响行数进行判断,如果发生了改变就返回执行成功,否则返回执行失败
(4)权限注解@PreAuthorize
不知道你们有没有注意到,在控制层中,每个方法上面都有权限注解标识着请求该方法所需要的权限
在菜单管理中,可以发现每个功能的使用,都需要对应的权限
若依框架使用的是RBAC(基于角色的权限控制)
前端配置
(1) 前端代码 request.js
在这里可以查看axios实例请求的基础路径:
可以查看不同环境下的请求路径设置
(2)前端代码 vue.config.js