WEB 端音乐播放 用户登录注册 用户信息编辑 歌曲、歌单搜索 歌单打分 歌单、歌曲评论 分页显示 歌词同步显示 音乐收藏、下载、拖动控制 后台对用户、歌曲、歌手、歌单信息的管理,UI超级漂亮。
后端:springboot+mybatis
前端:vue + vue-router + vuex
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Yin-music</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
<!-- Mybatis spring boot -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version> 4.12</version>
</dependency>
<!--页面视图依赖-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-thymeleaf</artifactId>-->
<!-- </dependency>-->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-data-jpa</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-data-rest</artifactId>-->
<!--</dependency>-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--<plugin>-->
<!--<!–Mybatis-generator插件,用于自动生成Mapper和POJO–>-->
<!--<groupId>org.mybatis.generator</groupId>-->
<!--<artifactId>mybatis-generator-maven-plugin</artifactId>-->
<!--<version>1.3.2</version>-->
<!--<configuration>-->
<!--<!–配置文件的位置–>-->
<!--<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>-->
<!--<verbose>true</verbose>-->
<!--<overwrite>true</overwrite>-->
<!--</configuration>-->
<!--<executions>-->
<!--<execution>-->
<!--<id>Generate MyBatis Artifacts</id>-->
<!--<goals>-->
<!--<goal>generate</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
<!--<dependencies>-->
<!--<dependency>-->
<!--<groupId>org.mybatis.generator</groupId>-->
<!--<artifactId>mybatis-generator-core</artifactId>-->
<!--<version>1.3.2</version>-->
<!--</dependency>-->
<!--</dependencies>-->
<!--</plugin>-->
</plugins>
</build>
</project>
CREATE TABLE `song_list` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`pic` varchar(255) DEFAULT NULL,
`introduction` text,
`style` varchar(10) DEFAULT '无',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=85 DEFAULT CHARSET=utf8;
CREATE TABLE `song` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`singer_id` int(10) unsigned NOT NULL,
`name` varchar(45) NOT NULL,
`introduction` varchar(255) DEFAULT NULL,
`create_time` datetime NOT NULL COMMENT '发行时间',
`update_time` datetime NOT NULL,
`pic` varchar(255) DEFAULT NULL,
`lyric` text,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=124 DEFAULT CHARSET=utf8;
CREATE TABLE `singer` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`sex` tinyint(4) DEFAULT NULL,
`pic` varchar(255) DEFAULT NULL,
`birth` datetime DEFAULT NULL,
`location` varchar(45) DEFAULT NULL,
`introduction` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8;
CREATE TABLE `rank` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`songListId` bigint(20) unsigned NOT NULL,
`consumerId` bigint(20) unsigned NOT NULL,
`score` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `consumerId` (`consumerId`,`songListId`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8;
CREATE TABLE `list_song` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`song_id` int(10) unsigned NOT NULL,
`song_list_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=210 DEFAULT CHARSET=utf8;
CREATE TABLE `consumer` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(100) NOT NULL,
`sex` tinyint(4) DEFAULT NULL,
`phone_num` char(15) DEFAULT NULL,
`email` char(30) DEFAULT NULL,
`birth` datetime DEFAULT NULL,
`introduction` varchar(255) DEFAULT NULL,
`location` varchar(45) DEFAULT NULL,
`avator` varchar(255) DEFAULT NULL,
`create_time` datetime NOT NULL,
`update_time` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username_UNIQUE` (`username`),
UNIQUE KEY `phone_num_UNIQUE` (`phone_num`),
UNIQUE KEY `email_UNIQUE` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8;
CREATE TABLE `comment` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`song_id` int(10) unsigned DEFAULT NULL,
`song_list_id` int(10) unsigned DEFAULT NULL,
`content` varchar(255) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`type` tinyint(4) NOT NULL,
`up` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=58 DEFAULT CHARSET=utf8;
CREATE TABLE `collect` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`type` tinyint(4) NOT NULL,
`song_id` int(10) unsigned DEFAULT NULL,
`song_list_id` int(10) unsigned DEFAULT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8;
CREATE TABLE `admin` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;