基于微信小程序的音乐播放的设计与实现.docx
《基于微信小程序的音乐播放的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于微信小程序的音乐播放的设计与实现.docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、广东东软学院本科毕业设计(论文)本科毕业设计(论文)基于微信小程序的音乐播放的设计与实现Design and implementation of music playing based on wechat applet院 (系)计算机科学与技术系专 业软件工程班 级三班学 号16210120317学生姓名陈培升指导教师李可可提交日期2020年4月24 日毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人已经发表或撰写
2、的作品及成果。对本文的研究作出贡献的个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。毕业论文作者(签字): 签字日期: 年 月 日成绩评定成绩项论文成绩(百分制)折合比例实得成绩(折合分)指导教师成绩30%评阅教师成绩20%答辩成绩50%总评成绩注:毕业设计(论文)成绩按百分制评定。答辩成绩不及格的(评分低于60分的),则该毕业设计(论文)总评成绩为答辩成绩。摘要本次设计实现的音乐播放器小程序,让用户可以在登录微信之后,在微信首页通过简单的下拉操作即可直接打开小程序即可享受到音乐视听盛宴。依托于微信本身对数据可以进行缓存,让用户在第一次听歌之后,无需多次耗费流
3、量资源,即可继续播放。本文基于微信小程序开发,使用微信小程序独特构建,来实现音乐播放程序的设计和功能开发工作。在技术方面主要通过JS来进行业务逻辑的实现,而表现层则WXML和WXSS来共同实现。程序主要包括如下功能:首页歌曲歌单展示、歌曲搜索功能、歌曲列表一览功能、歌曲播放、单曲循环设置、随机播放设置、下拉刷新换曲、用户登录、歌曲切换功能、暂停/重播功能、歌曲时长进度条展示功能,能够基本满足用户对听歌的使用需求。关键词:互联网应用 微信小程序 音乐播放ABSTRACTThe music player applet designed and implemented in this design
4、allows users to log in to wechat, and then directly open the applet through a simple pull-down operation on the wechat home page to enjoy the music audio-visual feast. Relying on wechat itself, data can be cached, so that users can continue playing after the first time listening to songs without con
5、suming traffic resources for many times.Based on the development of wechat applet, this paper uses the unique construction of wechat applet to realize the design and function development of music playing program. In terms of technology, JS is mainly used to implement business logic, while wxml and w
6、xss are used to implement the presentation layer. The program mainly includes the following functions: the first page song single display, song search function, song list list function, song play, single cycle setting, random play setting, pull-down refresh and music change, user login, song switchi
7、ng function, pause / replay function, song duration progress bar display function, which can basically meet the users demand for listening to songs.Key words:Internet applications, Wechat applet ,Music playing 目 录Design and implementation of music playing based on wechat applet摘要1ABSTRACT21.绪论11.1 选
8、题背景11.2课题研究目的及意义11.3论文主要研究内容21.4论文的结构22.系统开发技术方案研究32.1平台与框架32.1.1微信开发者工具32.1.2Taro框架32.2开发技术52.2.1WXML技术52.2.2WXSS与CSS技术52.2.3Ajax技术52.2.4JavaScript52.2.5数据库概述52.2.6Node.js概述63.系统分析73.1系统可行性分析73.1.1技术可行性73.1.2经济可行性73.1.3操作可行性73.2系统开发环境73.2.1软件环境73.2.2硬件环境73.3系统需求分析83.3.1功能需求分析83.3.2性能需求分析94.系统模块详细设计
9、104.1系统总体功能框架设计104.2系统功能模块设计104.2.1用户登录模块设计104.2.2系统首页模块设计114.2.3歌曲搜索功能设计114.2.4音乐播放模块设计124.2.5播放模式切换模块设计124.3本章小结135.系统实现145.1用户登录模块实现145.2首页模块实现效果165.3歌曲列表展示实现效果165.4音乐播放模块实现效果175.5播放模式模块切换实现效果186.数据库设计207.系统测试217.1测试与纠错流程217.2测试环境准备217.3测试方法介绍227.4系统功能测试227.5测试分析24总结与展望25参 考 文 献26致 谢27271. 绪论1.1
10、选题背景伴随着智能手机的普及以及国家对运营商提出的“提速降费”政策的实施,移动互联应用在国内市场百花齐放,各行各业都在移动端设备上搭载各自的APP。 移动端设备的操作习惯和个人电脑使用完全不同,对于各应用厂商来说,他们需要在较小的屏幕上尽可能友好的展示用户需要的内容,才能达到培养用户习惯、继而达到持续拥有这个用户流量的可能7。同样随着移动端的应用越来越广泛的是:一个领域下同类型的公司也越来越多,本论文所实现的是一个音乐播放小程序,其中一个原因就是在日常听歌过程中,因为歌曲版权、曲库内容、使用习惯的不同,需要下载多个音乐APP,加大占用了手机的内存资源,同时带来了繁琐的操作方式。微信通过这么多年
11、的努力,打造了一个完整的生态圈,使得用户粘度不断提高,引得各大互联网平台纷纷在微信上入驻为小程序商家,以满足自己产品多元化,增加产品可扩展性,提高用户交融性3,但是用户在操作上,只需要打开微信这一个APP即可,无需更加复杂的操作。总的来说,微信小程序是拥抱了用户希望的变化:减少APP的下载、注册,直接打开微信,一站即达。1.2课题研究目的及意义微信作为一款高频的社交软件,对于入驻在微信上的小程序商家来说,很容易产生分享、易传播,达到用户数量裂变的目的。而对于用户来说,微信小程序带来了依托微信本身的单点登录、免注册、手机内存瘦身、易在一个朋友圈中进行传播等优势。本次设计实现的音乐播放系统,目的是
12、基于微信平台,能够让用户在小程序上非常快速的实现歌曲收听等功能。同时也做到了对音乐播放软件功能的集成和成熟应用。通过微信本身的小程序分享接口,能够在朋友圈中进行快速推广,方便在日常生活中进行使用。对用户来说,一个轻便的音乐播放系统能够带来操作上的简化,功能清晰,让用户一目了然。对笔者来说,可以研究用户的使用习惯:借助微信后台的流量信息,可以进一步统计用户的歌曲播放量、小程序使用量,以进一步研究用户的操作习惯,更好地提升下一版本的系统功能。1.3论文主要研究内容本次开发的音乐播放微信小程序,主要基于微信开发者工具上,使用Taro框架的开发流程进行,目的是为了后续可以适应多端产品的小程序使用,主要
13、进行一下几块内容的研究:1、 Taro组件及API功能的学习研究。2、 微信小程序开发文档的学习研究。3、 Taro框架React组件的学习研究。4、 微信小程序设计指南的学习研究。5、 JSON、Node.js、HTML、CSS的学习研究。6、 系统功能需求模块分析、划分。系统的功能模块的划分是根据系统的功能需求来设定的,只有对需求分析的透彻,才会尽量避免返工的情况,因此,在软件开发之前,需求分析是第一要素。而为了减少数据的冗余,透过功能分析,采用结构化的数据规范方法,用以减少数据的操作产生的异常。1.4论文的结构本论文一共有七章,其结构如下:第一章:绪论。目的是对本次设计实现的系统的背景、
14、意义以及研究的内容做出说明。第二章:系统开发技术方案研究,主要对本系统所使用的关键技术和框架以及其原理和使用的原因进行介绍。第三章:系统分析,包括对系统的定义,可行性的分析、需求的分析,以及可行性方面的分析;第四章:系统模块详细设计,系统的设计指的是本系统总体功能模块的设计,并且对单独的模块实现的功能也有相对应的设计说明。第五章:系统实现,包括系统的实现原理和各个功能模块的具体实现。第六章:数据库设计第七章:系统测试,指的是系统的测试方法、测试结果、测试结论的分析。结论与展望。2. 系统开发技术方案研究本章主要对本次开发的音乐播放系统所用到的相关软件技术以及开发平台进行了说明:采用的开发模式、
15、系统开发所需要的IDE编码工具、开发语言、相应开发技术和系统结构进行了相应的介绍。2.1平台与框架2.1.1 微信开发者工具微信开小程序开发团队专门设计推出完全匹配微信内容的开发工具-微信开发者工具,随着近两年对该工具的快速迭代和不断更新,目前已经处于比较稳定的状态,当然前期的开发者在开发的时候仍然要随着微信小程序的更新而对自己的应用进行更新。因此在微信开发者论坛上吐槽的文章是非常多的,但是正是这些吐槽的内容才是微信更新的一个庞大的知识体量库12。如图2.1所示:图 2.1 微信开发者工具个人中心:通过点击头像进行个人中心面板的显示;展示内容:小程序版本、版本更新的消息推送;提供切换小程序账号
16、的入口在个人中心(头像)后边有三个按钮: 模拟器、编辑器和调试器:通过点击进行这三块内容的显示或隐藏相应的模块 编译模式:普通编译和自定义编译条件 预览:在真机预览 远程调试:提供远程调试真机的功能,主要通过共同局域网环境下的网络连接对小程序进行调试。 切后台:切后台按钮会帮助我们快速的切到不同的场景值,通过这个场景值可以帮助我们去个性化一些我们的功能需求 清缓存:清除开发者工具以及调试设备中的数据缓存、文件缓存、授权缓存、网络缓存和我们的登录状态。2.1.2 Taro框架Taro框架是进行微信小程序开发过程的一大利器。通过taro框架,我们可以使得技术栈进行统一,以实现在节约资源的同时,极大
17、提高我们的开发效率12。通过taro,我们可以完成一次编码多端适配的效果。Taro编码和编译过程,以及目录结果分别见图2.2,图2.3:图2.2 Taro流程图图2.3 Taro项目目录Taro的特点是:1. 遵循react的语法规范,可以使用JSX语法规范开发小程序的应用;2. 支持组件化开发(解耦);3. 支持TypeScript语法开发;2.2 开发技术2.2.1WXML技术W:代表微信,XML本身就是标记性语言,因为我们可以有非常直观的理解:WXML 是 APP应用程序开发过程中的界面 XML 描述文件,它是为构建适合的程序界面而出现的45。2.2.2 WXSS与CSS技术CSS 指层
18、叠样式表 (CascadingStyleSheets),定义了如何显示HTML元素,而这些元素通常存储在样式表中,这样的外部样式表可以极大的提高工作效率,多个样式定义可层叠为一4 8。CSS 可以称得上 WEB 设计领域的一个突破,如需进行全局的更新,只需简单地改变样式,然后网站中的所有元素均会自动地更新。2.2.3 Ajax技术AJAX = 异步 JavaScript + XML,ajax技术用于创建快速动态网页。最显著的就是“局部刷新”功能,使得程序设计者在不加在整个网页的情况下,对网页的某部分进行刷新,这种技术极大的减少了资源的占用,并且一定程序上提升了网站的加载速度,使得用户体验度更加
19、友好。有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等34。2.2.4 JavaScript通过百度百科上的查询,我们可以知道:JavaScript(以下简称JS)一种直译式的脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。常用于网页客户端编程,使网页在客户端浏览器中,实现更多地动态功能,表现出更加丰富的视觉效果。JS由以下三个部分组成:ECMAScript:描述JS的语法和基本对象;文档对象模型(Document Object Model,简称DOM):描述处理网页内容的方法和接口;浏览器对象模型(Browser Object Model,简称B
20、OM):描述与浏览器进行交互的方法和接口。2.2.5 数据库概述数据库采用的是微信开发工具中的JSON数据库36:它既可以在小程序前端操作,也能够在云函数中进行读写。正常情况下,初始化数据库的代码如下所示:/ 初始化数据库 const db = wx.cloud.database(); const _ = mand; db.collection(userInformation).where( userName: _.eq(userName) ).get( success: function (res) if (res.data.length = 1) that.setData( repetit
21、ion: true )注意,在进行数据库连接的时候,要注意命名是正确的,不能与微信中现存的数据库的连接名称是相同的。 2.2.6 Node.js概述Node.js有三个特征: 服务器端JavaScript处理:server-side JavaScript execution 非阻断/异步I/O:non-blocking or asynchronous I/O 事件驱动:Event-driven如上图所示,传统的服务器中,类似Apache、NGINX等web类型的服务器,客户端发送的每一个请求,都会在服务端创建一个进程来处理这个请求,但如果我们需要在一个页面一直保持连接,比如持续实施接收朋友的消
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 微信小 程序 音乐 播放 设计 实现
限制150内