ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

二次开发RuoYi-Vue操作记录

2026/9/14 23:41:25 拓冰建站 浏览量
二次开发RuoYi-Vue操作记录

二次开发RuoYi-Vue操作记录

  • 一、本地启动修改
    • 1、修改文件路径
    • 2、修改redis配置
    • 3、数据源配置
    • 4、导入sql
  • 二、新增模块
    • 1、创建模块
    • 2、添加依赖
  • 三、新增页面
    • 1、数据准备
    • 2、代码生成
    • 3、菜单管理
      • (1)目录创建
      • (2)菜单创建
      • (3)按钮创建
      • (4)页面效果
  • 四、获取登录信息
  • 五、权限相关
    • 1、用户添加
    • 2、角色管理


此篇是针对 ruoyi-vue项目 的个人实操的过程及记录,一个非常好用的、适合二次开发的管理端项目。
文档地址:http://doc.ruoyi.vip
由于我已经把包名等信息都改成了自己的,所以大家看到的是yushu的包结构
操作过程如有错误欢迎指正交流~

一、本地启动修改

1、修改文件路径

在这里插入图片描述

2、修改redis配置

在这里插入图片描述

3、数据源配置

在这里插入图片描述

4、导入sql

在这里插入图片描述
即可启动成功。

二、新增模块

1、创建模块

创建一个新的maven项目,可以都删除干净创建产生的文件,只留下目录即可
在这里插入图片描述

2、添加依赖

在自己新建的模块里面引入common依赖

在根pom下面引入新建的模块内容,如图所示
在这里插入图片描述
在admin模块下面,添加yushu-mk模块的依赖
在这里插入图片描述
重新编译项目,能正常允许大概率就没问题。

如果新建的模块的包名或者模块名不一致,需要注意启动类的修改,加上扫描mapper和包路径,此处仅提供参考

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
//@MapperScan(value = {"com.yushu.*","com.test.mk.*"})
//@ComponentScan({"com.yushu.*","com.test.mk.*"})
public class YuShuApplication {public static void main(String[] args) {SpringApplication.run(YuShuApplication.class, args);System.out.println("(♥◠‿◠)ノ゙  屿舒启动成功   ლ(´ڡ`ლ)゙");}
}

三、新增页面

1、数据准备

首先准备一个测试的sql

CREATE TABLE `tm_base_area` (`ID` bigint NOT NULL COMMENT 'ID',`AREA_NAME` varchar(255) DEFAULT NULL COMMENT '区域名称',`AREA_CODE` varchar(255) DEFAULT NULL COMMENT '区域编码',`PROVINCE_CODE` varchar(255) DEFAULT NULL COMMENT '省份编码',`PROVINCE_NAME` varchar(255) DEFAULT NULL COMMENT '省份名称',PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='区域编码表';

仅供测试的假数据

INSERT INTO yushu.tm_base_area (AREA_NAME,AREA_CODE,PROVINCE_CODE,PROVINCE_NAME) VALUES('北京','110','110','北京'),('山东','112','121','鲁'),('测试','1','2','测试');

2、代码生成

找到代码生成 然后导入一下自己的表

此处我已经导入,所以看不到自己的表

在这里插入图片描述
然后点击生成代码

我这里是下载到了本地,可以配置其他路径

在这里插入图片描述
代码下载之后是这样的,按照需要,存放到自己的目录下

  • vue文件夹下的,在ruoyi-ui下面
    • views目录下新建目录
    • api目录下同样操作
  • main下面的,可以存放在自己的新的模块下面

在这里插入图片描述

3、菜单管理

这一部分以截图为主,主要是操作,对应好自己第二步生成的代码的路径

  • 下面操作用到的图标,可以自定义进行添加,添加路径为@/assets/icons/svg 目录下

在这里插入图片描述

(1)目录创建

在这里插入图片描述

(2)菜单创建

  • 组件路径就是@views/mk/area/index
  • 权限字符可以自定义,也可以根据生成的代码进行配置
    在这里插入图片描述

(3)按钮创建

个人理解:按钮可以不创建,只是为了更好的区分用户权限,马上介绍权限相关的内容

前端代码中的权限控制字符,要跟下图的权限字符保持一致

在这里插入图片描述
在这里插入图片描述

(4)页面效果

在这里插入图片描述
代码完全是按照生成的代码进行操作的,就是cv工程即可

四、获取登录信息

参考写法

public class TmBaseAreaController extends BaseController {@GetMapping("/list")public TableDataInfo list(TmBaseArea tmBaseArea) {// 获取登录用户信息LoginUser loginUser = getLoginUser();startPage();List<TmBaseArea> list = tmBaseAreaService.selectTmBaseAreaList(tmBaseArea);return getDataTable(list);}
}

五、权限相关

主要的RBAC表:

  • sys_role
  • sys_role_menu
  • sys_user_role
  • sys_menu

1、用户添加

这个没啥好说的,就是简单的增加用户

在这里插入图片描述
但是,创建用户时的 角色 选项,是给用户哪种角色权限的操作。

2、角色管理

添加角色,给定相应的权限,这时候相应的按钮权限就体现出来了
如果不想给测试角色相关的删除功能权限,就不选即可

在这里插入图片描述
前端代码中的权限控制 v-hasPermi 属性必须配置,并要与菜单按钮配置时的 权限字符 保持一致,否则权限配置可能不生效,前面提到过【按钮创建】部分提到过对应关系。

这样配置之后,登录对应权限的角色的账号,就只看到自己的侧边栏目录列表了