【开源】基于Vue和SpringBoot的微信小程序的音乐平台

项目编号: S 055 ,文末获取源码。 \color{red}{项目编号:S055,文末获取源码。} 项目编号:S055,文末获取源码。
目录
- 一、摘要
- 1.1 项目介绍
- 1.2 项目录屏
- 二、功能模块
- 三、系统展示
- 四、核心代码
- 4.1 查询单首音乐
- 4.2 新增音乐
- 4.3 新增音乐订单
- 4.4 查询音乐订单
- 4.5 新增音乐收藏
- 五、免责说明
一、摘要
1.1 项目介绍
基于微信小程序+JAVA+Vue+SpringBoot+MySQL的音乐平台,包含了音乐档案模块、音乐收藏模块、音乐订单模块,支持PC后台和微信小程序用户端使用,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,基于微信小程序的音乐平台基于角色的访问控制,给音乐管理员、音乐用户角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
1.2 项目录屏
源码下载
二、功能模块
随着当今世界网络和计算机的飞速发展以及智能手机的普及,人们的生活从过去的必须使用计算机进行工作、娱乐、信息获取转变为通过使用更加便利的移动设备去代替。小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。在微信作为不可或缺的工具当下,微信小程序作为内置于微信内的功能平台,能够给绝大多数人带来对于他们自己而言更简易方便的使用感受及体验。
同时,在如今的时代背景下,音乐对于大多数人来说亦是不可或缺的元素。从商场、超市、餐厅等等舒缓的背景音乐包括现在可以说是如日中天的抖音也是结合了音乐与短视频,由此可见音乐的覆盖面,将音乐与微信小程序相结合,相信是一种有可能性的研究内容。
- 前台功能可含包用户登录注册、搜索、播放按钮、收藏列表等。
- 后台功能用户管理、音乐上传、付费管理等。
- 网站前台要求导航清晰、图文并茂、风格统一,后台要求功能完善、操作便捷。
- 系统代码规范、运行稳定、安全性高,无明显BUG。
三、系统展示








四、核心代码
4.1 查询单首音乐
@RequestMapping(value = "/getOne", method = RequestMethod.GET)
@ApiOperation(value = "查询单首音乐")
public Result<Music> get(@RequestParam String id){User currUser = securityUtil.getCurrUser();Music music = iMusicService.getById(id);if(music == null) {return ResultUtil.error("音乐不存在");}// 收藏QueryWrapper<MusicCollect> mc = new QueryWrapper<>();mc.eq("music_id",music.getId());mc.eq("user_id",currUser.getId());music.setCollectFlag(iMusicCollectService.count(mc));// 下单QueryWrapper<MusicOrder> mo = new QueryWrapper<>();mo.eq("music_id",music.getId());mo.eq("user_id",currUser.getId());music.setOrderFlag(iMusicOrderService.count(mo));return new ResultUtil<Music>().setData(music);
}
4.2 新增音乐
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增音乐")
public Result<Music> insert(Music music){iMusicService.saveOrUpdate(music);return new ResultUtil<Music>().setData(music);
}
4.3 新增音乐订单
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增单条音乐订单")
public Result<MusicOrder> addOne(@RequestParam String id){Music music = iMusicService.getById(id);if(music == null) {return ResultUtil.error("音乐不存在");}User currUser = securityUtil.getCurrUser();QueryWrapper<MusicOrder> moQw = new QueryWrapper<>();moQw.eq("music_id",music.getId());moQw.eq("user_id",currUser.getId());if(iMusicOrderService.count(moQw) < 1L) {MusicOrder mo = new MusicOrder();mo.setMusicId(music.getId());mo.setTitle(music.getTitle());mo.setOwner(music.getOwner());mo.setFileUrl(music.getFileUrl());mo.setPrice(music.getPrice());mo.setStatus("未付款");mo.setUserId(currUser.getId());mo.setUserName(currUser.getNickname());iMusicOrderService.saveOrUpdate(mo);}return ResultUtil.success();
}
4.4 查询音乐订单
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询音乐订单")
public Result<IPage<MusicOrder>> getByPage(@ModelAttribute MusicOrder musicOrder ,@ModelAttribute PageVo page){QueryWrapper<MusicOrder> qw = new QueryWrapper<>();User currUser = securityUtil.getCurrUser();QueryWrapper<User> userQw = new QueryWrapper<>();userQw.eq("id",currUser.getId());userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");if(iUserService.count(userQw) < 1L) {qw.eq("user_id",currUser.getId());}if(!ZwzNullUtils.isNull(musicOrder.getTitle())) {qw.like("title",musicOrder.getTitle());}if(!ZwzNullUtils.isNull(musicOrder.getUserName())) {qw.like("user_name",musicOrder.getUserName());}IPage<MusicOrder> data = iMusicOrderService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<MusicOrder>>().setData(data);
}
4.5 新增音乐收藏
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增单条音乐收藏")
public Result<Object> addOne(@RequestParam String id){Music music = iMusicService.getById(id);if(music == null) {return ResultUtil.error("音乐不存在");}User currUser = securityUtil.getCurrUser();QueryWrapper<MusicCollect> mcQw = new QueryWrapper<>();mcQw.eq("music_id",music.getId());mcQw.eq("user_id",currUser.getId());if(iMusicCollectService.count(mcQw) < 1L) {MusicCollect mc = new MusicCollect();mc.setMusicId(music.getId());mc.setTitle(music.getTitle());mc.setOwner(music.getOwner());mc.setFileUrl(music.getFileUrl());mc.setUserId(currUser.getId());mc.setUserName(currUser.getNickname());iMusicCollectService.saveOrUpdate(mc);}return ResultUtil.success();
}
五、免责说明
- 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
- 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
- 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
- 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
- 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
- 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
- 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
相关文章:
【开源】基于Vue和SpringBoot的微信小程序的音乐平台
项目编号: S 055 ,文末获取源码。 \color{red}{项目编号:S055,文末获取源码。} 项目编号:S055,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示 四、核心代码4.1 查询单首…...
adb手机调试常用命令
查看手机型号 adb shell getprop ro.product.model 查看电池状况 adb shell dumpsys battery 查看分辨率 adb shell wm size 查看屏幕密度 adb shell wm density 查看显示屏参数 adb shell dumpsys window displays 查看android_id adb shell settings get secure android…...
IDEA常用插件合集
功能类: 1、Background Image Plus 换壁纸 2、Chinese(Simplified)... 中文语言包 3、Translation 代码翻译 4、Key Promoter X 快捷键提示插件 5、Rainbow bracket 彩虹括号插件 6、Code Glance 代码小地图 效率类 : 1、Tabnine AI Code C…...
【算法】滑动窗口题单——2.不定长滑动窗口(求最长/最大)
文章目录 3. 无重复字符的最长子串1493. 删掉一个元素以后全为 1 的最长子数组904. 水果成篮1695. 删除子数组的最大得分2841. 几乎唯一子数组的最大和2024. 考试的最大困扰度1004. 最大连续1的个数 III1438. 绝对差不超过限制的最长连续子数组2401. 最长优雅子数组解法1——维…...
电子学会C/C++编程等级考试2022年03月(一级)真题解析
C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...
Libvirt-Qemu-Kvm 操作手记
(持续更新~) 本文主要用于记录在操作libvirt qemu kvm过程中遇到的问题及原因分析。 Hugepage 让qemu使用大页可以减少tdp的size,一定程度上可以提高性能;使用大页可以用memfd或者file backend。 memfd 操作步骤如下: 在系统中reserv…...
代码随想录算法训练营第二十八天| 78 子集 90 子集|| 93 复原IP地址
78 子集 由题意可知数组中的元素互不相同,所以在dfs中我们可以将当前的path直接加入到res中。 class Solution {List<List<Integer>>res new ArrayList<>();List<Integer>path new LinkedList<>();public List<List<Integer…...
9 HDFS架构剖析
问题 100台服务器,存储空间单个200GB 20T 5T文件如何存储? 128MB一块 128MB81GB 1288*10241TB 5T数据分成的128MB的块数 8192 * 5 客户端(client)代表用户通过与namenode和datanode交互来访问整个文件系统。 HDFS集群有两类节点: 一个na…...
Python中的迭代器、生成器和装饰器
当谈到Python中的迭代器、生成器和装饰器时,这三个概念都是与函数和数据处理密切相关的。让我们逐个深入了解它们。 1. 迭代器(Iterators): 迭代器是一个可以逐个访问元素的对象。在Python中,迭代器实现了两个方法&a…...
【NGINX--1】基础知识
1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...
小米路由器AX1800降级后的SSH登录和关墙等命令
http://192.168.31.1/cgi-bin/luci/;stok429aaa9c7f05ee7d0816a00257b8414a/api/misystem/set_config_iotdev?bssidXiaomi&user_idlongdike&ssid-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20s%…...
5-什么是猴子补丁,有什么用途?什么是反射,python中如何使用反射?http和https的区别?
1 什么是猴子补丁,有什么用途 **解释**1 Python猴子补丁(Monkey Patch)是一种在运行时动态修改代码的技术。通在不修改源代码的情况下,改变代码的执行方式或增加功能2 Monkey Patching是在 运行时(run time) 动态替换属性(attrib…...
深信服AC应用控制技术
拓扑图 目录 拓扑图 一.上班时间不允许使用qq(假设上班时间是上午9到12,下午14到18) 1.新增上班时间不允许使用qq访问权限策略 2.将策略应用到组,例如修仙部 3.验证 上班时间发现登录不了 下班时间可以登录 二.上班时间不允许访问视频网站(假设上班时…...
全新云开发工具箱:融合多项功能的微信小程序源码解决方案
全新云开发工具箱:融合多项功能的微信小程序源码解决方案 这款微信小程序源码提供了超过40个功能,集合了各种实用工具,成为一款全能工具箱。这些功能包括证件照制作、垃圾分类查询、个性签名制作、二维码生成、文字九宫格、手持弹幕、照片压…...
Android跨进程通信,IPC,RPC,Binder系统,C语言应用层调用
文章目录 Android跨进程通信,IPC,RPC,Binder系统,C语言应用层调用()1.概念2.流程3.bctest.c3.1 注册服务,打开binder驱动3.2 获取服务 4.binder_call Android跨进程通信,IPC…...
数据结构【DS】栈
共享栈 共享栈的目的是什么? 目的:有效利用存储空间。 共享栈的存取数据时间复杂度为? 存取数据时间复杂度为O(1) 共享栈如何判空?如何判满? 两个栈的栈顶指针都指向栈顶元素,𝑡𝑜𝑝…...
提高视频性能的 5 种方法
摆脱共享托管计划 如果您的网站每月收到数千名访问者,那么现在是时候放弃许多企业家和小型企业开始使用的共享托管计划了。在启动网站时选择廉价的托管计划是可以理解的,因为此类计划通常足以使用一年或更长时间,而不会影响性能。 在共享托…...
python有哪些高级的技术
Python作为一种功能强大且灵活的编程语言,具有许多高级技术和功能。以下是一些Python中常见的高级技术: 函数式编程:Python支持函数式编程范式,包括高阶函数、匿名函数(lambda函数)、闭包、以及针对序列的函…...
系列五、怎么查看默认的垃圾收集器是哪个?
一、怎么查看默认的垃圾收集器是哪个 java -XX:PrintCommandLineFlags -version...
用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制AI助手——PPT大纲助手
随着人工智能技术的不断发展,AI助手在各行各业中扮演着越来越重要的角色。在商业领域,PPT演示是一种常见的沟通方式,而定制化的PPT大纲助手能够极大地提高PPT制作效率和质量。本文将介绍如何利用向量数据库Milvus Cloud搭建GPT大模型和私有知识库,构建一款高效的PPT大纲助手…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
