Springboot+Vue在线音乐播放系统

一、项目介绍

   音乐管理平台是一个集多功能于一体的综合性音乐服务系统,旨在为用户提供便捷、个性化的音乐体验。该平台具备多种用户功能,包括歌单管理、歌手信息查询以及个性化音乐管理。
在歌单管理方面,用户可以轻松创建、编辑和删除自己的歌单,将喜欢的音乐添加到歌单中,以便随时收听。同时,用户还可以查看和收藏其他用户的歌单,发现更多优质的音乐内容。此外,平台还支持用户分享自己的歌单到社交媒体,让音乐分享变得更加简单和有趣。
对于歌手信息查询功能,用户可以在平台上浏览和搜索自己喜爱的歌手信息,包括歌手的简介、代表作品、演出动态等。这有助于用户更全面地了解歌手,发现更多喜欢的音乐作品。
在个性化音乐管理方面,用户可以通过“我的音乐”功能,管理自己的音乐库和播放列表。用户可以随时随地收听本地音乐或在线音乐,享受高品质的音乐体验。
综上所述,音乐管理平台通过歌单管理、歌手信息查询以及个性化音乐管理等用户功能,为用户提供了一个全面、便捷的音乐服务体验。无论是音乐爱好者还是专业音乐人士,都能在这个平台上找到满足自己需求的音乐内容和服务。
关键词:音乐管理平台;网站管理系统;B/S模式;软件架构

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

本系统设计时,确定详细功能,这些功能主要通过需求阶段的调研分析得来的,具体功能模块如下图,如图4-2,4-3所示。

请添加图片描述

图4-2 音乐管理平台网站管理员功能结构设计
请添加图片描述

图4-3音乐管理平台网站用户功能结构设计

音乐管理平台网站功能模块需要包括:用户管理模块、管理员管理模块具体研究内容如下:
用户管理模块功能如下:
(1)用户可以进行账号注册、登录、对个人信息编辑等功能。
(2)用户可以查看歌曲信息。
(3)用户可以查看歌手信息。
(4)用户可以收藏喜爱歌曲到我的音乐。
管理员管理模块功能如下:
(1)管理员可以对用户信息进行增删改查操作。
(2)管理员可以对歌手信息进行增删改查操作。
(3)管理员可以对歌单信息进行增删改查操作。

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目  录

摘 要 I
Abstract II
第1章 绪论 3
1.1 项目研究的背景 3
1.2开发目的和意义 3
1.3国内外研究现状 4
第2章 系统开发工具 5
2.1 Java编程语言 5
2.2 B/S模式 5
2.3 MySQL数据库 5
2.4 后端框架介绍 7
2.4.1 SpringBoot介绍 7
2.4.2 Mybatis 介绍 7
2.4.3 SpringMvc介绍 7
2.5 HTML技术技术 7
2.6 VUE框架介绍 8
2.7 JavaScript介绍 8
第3章 系统分析 9
3.1 概述 9
3.2 功能需求 9
3.3 非功能性需求 11
3.4 系统特色 12
3.5 可行性研究 12
3.5.1财务的可行性 12
3.5.2技术上的可行性 12
3.5.3操作的可行性 13
第4章 系统总体设计 13
4.1 系统架构设计 13
4.1.1体系结构 13
4.1.2 系统功能结构设计 14
4.2 系统数据库设计 15
4.2.1 数据库设计概述 15
4.2.2 数据库表的设计 16
第5章 系统功能实现 19
5.1登录模块的实现 19
5.2管理员管理模块 20
5.3用户管理模块 20
5.4歌手管理模块 21
5.5歌单管理模块 21
第6章 系统测试 23
6.1 测试定义 23
6.2 测试目的 23
6.3 测试方案 23
6.4 系统分析 25
第7章 总结 26
参考文献 27
致谢 28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值