管理端的实现是基于RUOYI -VUE进行二次开发。RUOYI -VUE 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MYBATIS、JWT、VUE),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。项目地址:(http://vue.ruoyi.vip/)。在了解并学习RUOYI -VUE 后,了解RUOYI -System模块已集成系统管理端的相关功能,开发只需在此基础上完成音乐管理(歌单、歌曲、歌手)的增删改查和社区管理(评分、评论、收藏)的增删改查。在确定项目的业务和需求,了解到后端管理只需要简单的增删改查而没有复杂的业务需求,项目如果通过集成 LOMBOK + MYBATIS-PLUS,就可以在简化后端服务端的代码量并加速开发。以下是二次开发项目创建流程:
(1)集合需求,选择项目扩展。
1)登录GITEE,找到开源项目:疯狂的狮子li / RuoYi-Vue-Plus,并Fork;
2)通过git克隆到本地(https://gitee.com/XXJ576665968/RuoYiMusic-Vue-Plus );
(2)准备工作,部署本地开发环境。关键工作如下:
~~~
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10
~~~
1)创建数据库ry-vue并导入数据脚本ry_2021xxxx.sql,quartz.sql;
2)打开IDEA,并导入项目,下载maven依赖,修改运行配置,本地运行;
3)前端运行,关键代码如下:
~~~
# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npm.taobao.org
# 本地开发 启动项目
npm run dev
~~~
4)打开浏览器,输入:(http://localhost/)默认账户/密码:admin/admin123;若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功;
(3) Maven多模块下新建子模块流程案例。
1)新建music业务模块目录ruoyi-music 。关键配置如下:
```
<parent>
<artifactId>ruoyi</artifactId>
<groupId>com.ruoyi</groupId>
<version>3.4.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-music</artifactId>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
</dependency>
<!-- 系统模块的依赖-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-framework</artifactId>
</dependency>
</dependencies>
```
2)在ruoyi-music业务模块下新建pom.xml文件以及src\main\java,src\main\resources目录。
3)根目录pom.xml依赖声明节点dependencies中添加依赖。关键配置如下:
~~~
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-music</artifactId>
<version>${ruoyi.version}</version>
</dependency>
~~~
4)根目录pom.xml模块节点modules添加业务模块。关键配置如下:
~~~
<module>ruoyi-music</module>
~~~
5)ruoyi-admin目录pom.xml添加模块依赖。关键配置如下:
~~~
<!-- 音乐模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-music</artifactId>
</dependency>
~~~
(4)大部分项目里其实有很多代码都是重复的,几乎每个基础模块的代码都有增删改查的功能,而这些功能都是大同小异, 如果这些功能都要自己去写,将会大大浪费我们的精力降低效率。所以这种重复性的代码可以使用代码生成。
1) 修改代码生成配置ruoyi-generator中的resources目录下的generator.yml。关键配置如下:
~~~
# 代码生成
gen:
# 作者
author: xxj
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.ruoyi.music
# 自动去除表前缀,默认是false
autoRemovePre: true
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
tablePrefix: music_
~~~
2) 登录系统(系统工具 -> 代码生成 -> 导入对应表)。
3) 代码生成列表中找到需要表(可预览、修改、删除生成配置)。
4) 点击生成代码会得到一个ruoyi.zip执行sql文件,按照包内目录结构复制到自己的项目中即可。
5) 生成数据后运行项目,简单修改一下图片和简介的样式,后台界面如图:
![](https://img.kancloud.cn/e5/86/e586d84491a8efa3a2eefaa9828ec37c_1106x934.png)
6)在基于开发需求修改代码模板后,重复以上操作,完成歌单、歌曲、歌手、评论的页面;评分和收藏不需要页面,生成后端服务结合前台需求再写接口即可。