music website

🎧 Vue + SpringBoot + MyBatis 音乐网站

2272
777
Vue

music-website


声明

这项目我一直作为技术分享,不做收费(版权归我个人独有,大家拿来学习交流随时欢迎,拒绝商用)。希望大家可以尊重下我的劳动成果,谢谢。


项目说明

本音乐网站的客户端和管理端使用 Vue 框架来实现,服务端使用 Spring Boot + MyBatis 来实现,数据库使用了 MySQL。实现思路可以看 这里;项目启动方法看文章末尾。


项目预览

前台截图预览












后台截图预览







项目功能

  • 音乐播放
  • 用户登录注册
  • 用户信息编辑、头像修改
  • 歌曲、歌单搜索
  • 歌单打分
  • 歌单、歌曲评论
  • 歌单列表、歌手列表分页显示
  • 歌词同步显示
  • 音乐收藏、下载、拖动控制、音量控制
  • 后台对用户、歌曲、歌手、歌单信息的管理

技术栈

后端

SpringBoot + MyBatis + Redis

部署

docker

前端

Vue3.0 + TypeScript + Vue-Router + Vuex + Axios + ElementPlus + Echarts


开发环境

JDK: jdk-8u141

mysql:mysql-5.7.21-1-macos10.13-x86_64(或者更高版本)

redis:5.0.8

node:14.17.3

IDE:IntelliJ IDEA 2018、VSCode


下载运行

1、下载项目到本地

git clone [email protected]:Yin-Hongwei/music-website.git

# 上面下载慢可以用下面这个
git clone [email protected]:Yin-hongwei/music-website.git

如果你想使用 vue2.0 的版本,在下载代码后,可以切到 [email protected] 的分支,默认是使用的vue3.0。

2、下载数据库中记录的资源

去【链接: https://pan.baidu.com/s/1Qv0ohAIPeTthPK_CDwpfWg 提取码: gwa4 】下载网站依赖的歌曲及图片,将 data 夹里的文件放到 music-server 文件夹下。

注意:资源整理了一下,按照下面的截图存放。

3、修改配置文件

1)创建数据库
music-website/music-server/sql 文件夹中的 tp_music.sql 文件导入数据库。

2)修改用户名密码
修改 music-website/music-server/src/main/resources/application.properties 文件里的 spring.datasource.usernamespring.datasource.password

4、启动项目

  • 启动管理端:进入 music-server 文件夹,运行下面命令启动服务器
// 方法一
./mvnw spring-boot:run

// 方法二
mvn spring-boot:run // 前提装了 maven
  • 启动 redis:直接在终端输入下面命令
redis-server

下载地址:https://redis.io/

Mac 安装使用示例:https://www.jianshu.com/p/ce27d9ab4f8c

  • 启动客户端:进入 music-client 目录,运行下面命令
npm install // 安装依赖

npm run serve // 启动前台项目
  • 启动管理端:进入 music-manage 目录,运行下面命令
npm install // 安装依赖

npm run serve // 启动后台管理项目

5、常见问题

1、图片、音乐加载失败
把 music-website/music-server 目录下的 img、song 目录移动到 music-website 目录。

2、音乐播放不了
可能是音乐损毁了,重新更换一下音乐资源。


6、部署在linux上,用 docker【本地运行可以忽略】

将以下东西存储到Linux服务器上:

image-20240108131746139

还有编译好的jar包,都放到同一目录里面,如下:

image-20240108131824788

docker compose up --build

运行结果:

image-20240108131927175

赞助

如果此项目对你确实有帮助,欢迎给我打赏一杯咖啡~😄


联系方式


License

Copyright © 2018 Yin-Hongwei