基于Flutter+SpringBoot框架多平台音乐分享推荐系统 毕业论文+任务书+项目源码
摘要随着互联网娱乐项目的日益增多,内容也日渐丰富,加之网络便利性的增强, 越来越多的用户喜欢在网上听音乐。但是各平台音乐资源残次不齐,也包含了许多假无损音乐,无法满足发烧友们的需求,建立以用户为本的社交型音乐分享平台则可以弥补这一缺陷,这就是本平台搭建的初衷。发烧友用户们非常需要一个跨平台的,并且拥有智能推荐、各端体验一致的音乐分享平台。本题旨在实现一个开放的多平台音乐分享系统,并以音乐为分享目标,同时给用户提供简单的交流平台,所有音乐信息均由注册用户提供,后交由管理员进行验证,为此制作了一个移动端的音乐分享社区 App。本平台 APP 使用 Google 最新的 Flutter 框架进行搭建,兼容 Android 和 iOS 两端。服务器使用 Spring Boot 框架搭建,数据库使用 MySQL,使用 Shiro 作为权限管理,并且打包为 Docker 镜像方便部署和升级。基于多平台应用的音乐共享社区前端部分主要基于 Flutter 框架进行开发,并实现近似于原生效率的跨平台应用。同时后端的推荐系统会对登录用户的历史听歌记录及收藏的歌曲与歌单进行分析,推荐用户可能喜欢的歌曲。如样本数据过少则会推荐当日热门歌曲。关键词:Flutter 跨平台 智能推荐 Spring Boot DockerAbstractWith the increasing number of Internet entertainment projects, the content is becoming richer, and the convenience of the network has been enhanced. More and more users like to listen to music on the Internet. However, the music resources of various platforms are incomplete, and it also contains many fake non-destructive music, which cannot meet the needs of enthusiasts. Establishing a user-oriented social music sharing platform can make up for this shortcoming. This is the original intention of this platform. Enthusiast users are in great need of a cross-platform music sharing platform with smart recommendations and consistent experience on all ends.This question aims to achieve an open multi-platform music sharing system, with music as the sharing target, and at the same time provide users with a simple communication platform. All music information is provided by registered users and then submitted to the administrator for verification. A mobile music sharing community app.This platform APP is built using Google's latest Flutter framework and is compatible with both Android and iOS. The server is built using the Spring Boot framework, the database uses MySQL, Shiro is used as the permission management, and it is packaged as a Docker image for easy deployment and upgrade. The front-end part of the music sharing community based on multi-platform applications is mainly developed based on the Flutter framework and implements cross-platform applications that are similar to native efficiency. At the same time, the back-end recommendation system analyzes the logged-in user's historical listening records and collected songs and song lists, and recommends songs that the user may like. If the sample data is too small, popular songs of the day will be recommended.Key Words: Flutter Cross-platform smart recommendation Spring Boot Docker目 录摘要 IAbstract II目 录 III图清单 V表清单 V1绪论 11.1课题依据及意义 11.2国内外研究现状 11.3论文的主要工作 21.4论文的组织结构 31.5本章小结 32系统分析 42.1可行性分析 42.2需求分析 52.3方案比选 92.4本章小结 133系统的设计 153.1软件体系结构 153.2功能设计 153.3持久化设计 213.4针对社会、健康、安全、法律等因素的相关设计 233.5本章小结 234系统的实现 244.1多平台架构实现 244.1前端跨平台状态管理 264.2数据请求 304.3后端异常处理 334.4智能推荐 364.5本章小结 385系统运行与效果分析 395.1界面设计概要 395.2用户信息校验 395.3主界面展示 405.4本章小结 416系统测试 426.1测试方法 426.2测试方案及计划 426.3测试过程及结果分析 436.4本章小结 447总结与展望 457.1 总结 457.2 展望 45参考文献 46致谢 47图清单图序号 图名称 页码图 2-1 系统用例图 7图 2-2 React Native 框架结构图 10图 2-3 Django 工作流程图 11图 2-4 Flutter 工作流程图 12图 2-5 Spring Boot 工作流程图 12图 3-1 系统功能结构图 15图 3-2 论坛类图 16图 3-3 静态资源类图 17图 3-4 请求验证码时序图 18图 3-5 快捷登录时序图 19图 3-6 歌曲上传时序图 19图 3-7 动态模块活动图 20图 3-8 社交系统 E-R 图 21图 3-9 数据库表图 21图 4-1 前端交互协作图 24图 4-1 后端交互时序图 26图 5-1 用户登录界面图 39图 5-2 用户动态图 40图 5-3 音乐详情界面图 40图 5-4 个人详情界面图 40图 6-1 系统异常图 44表清单表序号 表名称 页码表 2-1 动态用例描述 8表 2-2 用户注册用例描述 8表 2-3 上传音乐用例描述 9表 2-4 Flutter 与 React Native 对比表 13表 2-5 Django 与Spring Boot 对比表 13表 3-1 用户表 22表 3-2 动态表 22表 3-3 回复表 22表 6-1 系统模块测试 39表 6-2 测试进度安排表 42表 6-3 系统功能测试用例 43