摘 要
随着科技的飞跃,数字的迅猛发展令人震撼。因此,借助互联网技术,以及它所带来的便捷、高效的特点,来满足各种行业的需求,以及推动社会的发展,正逐渐形成一种必然的趋势。以音乐播放的需求为例,我们推出一款集中管理的音乐交流平台,它既简单易操作,又具备高度的灵活性,从而满足社会的多样化、高效的发展需求。
随着互联网的发展,音乐的传播方式变得更加丰富多彩,这给喜欢音乐的网民带来了极大的便利,引起了广泛的关注。因此,一个更加便捷的音乐资源分享平台应运而生。这个平台的设计既提供了个性音乐的查询、试听、下载等功能,也允许管理员对音乐进行添加、删除、修改,同时也支持用户个人音乐的上传和共享。
此音乐交流平台系统采用的数据库是Mysql,使用node.js的koa技术构建的一个管理系统,能够更好地满足消费者的需求,同时还能够提高数据的安全性、稳健性,从而更好地满足消费者的需求。通过使用该技术,我们可以大大提高交流的效率,使得我们的沟通变得更加迅速、精确和方便。此外,该技术还可以实现音乐交流平台的主要功能:建立个性化的主页、系统用户、音乐资讯等。
关键词: 音乐交流平台;Mysql数据库,node.js的koa技术.
。
With the leap of technology, the rapid development of numbers is shocking. Therefore, it is an inevitable trend to meet the needs of various industries and promote the development of society with the help of Internet technology and its convenient and efficient features. Taking the demand for music playback as an example, we have launched a centrally managed music communication platform that is both simple and easy to operate, as well as highly flexible, to meet the diverse and efficient development needs of society.
With the development of the Internet, the way of music transmission has become more colorful, which has brought great convenience to Internet users who like music and attracted wide attention. Therefore, a more convenient music resource sharing platform has emerged. The design of this platform provides functions such as querying, listening, and downloading for the music center, as well as allowing administrators to add, delete, and modify music. It also supports users to upload and share their personal music.
The database used in this music exchange platform system is MySQL, and it is a management system built using koa technology of node.js. It can better meet the needs of consumers, while also improving the security and robustness of data, thus better meeting their needs. By using this technology, we can greatly improve the efficiency of communication, making it faster, more precise, and more convenient. In addition, this technology can also achieve the main functions of a music communication platform: establishing personalized homepages, user management, music information, etc.
Keywords:Music exchange platform; MySQL database, koa technology for node.js
目录
1绪论
1.1 研究背景
Interner音乐交流平台已经成为一种新兴的网站,它不仅仅局限于网络,更深入了解了现代网民之间的沟通方式,它不仅仅可以让网民之间更加便捷、更加有趣,还可以帮助他们更好地理解彼此,更好地分享自己喜欢听的音乐,以此促进网民之间的沟通,实现网民之间更加有效、更加便捷的沟通。音乐交流平台在音乐爱好者中备受青睐,它拥有强劲的活力,并且具备极具吸引力的市场前景。由于网站数量的增加,网站之间的竞争也变得愈加激烈,因此,通过音乐交流平台进行有效的推广,已经成为一种普遍的做法。为了保持竞争优势,应当抓住新兴的商机,打造出一个具有个性化、高质量、功能强大的音乐社区,这是至关重要的。
1.2 研究的目标
随着科技的飞速进步,互联网已经深刻影响着人类的日常生活与社会。它既改善了人类的学习,也为人类提供了更多的休闲娱乐选择。例如,通过使用网络,人类可以随时随地欣赏来自全球的精彩音乐,从而获得更加丰富的精神体验。随着科技的发展,网络音乐已经成为一个极具吸引力的娱乐形式,它不仅提供了简单、高效的服务,而且为人们的日常生活提供了一个轻松愉悦的环境。因此,经过对这一领域的深入探究,我创建了音乐交流平台。
1.3 研究意义
本次设计旨在打造一个实用性强的音乐娱乐网站,旨在让更多的人能够在闲暇时就及时享受到音乐带来的喜悦,满足音乐爱好者对音乐的追求,并且能够及时获取最新音乐资讯,因此,我们需要从多个方面来考虑,包括网站内容、用户群、规模、目标等,以便更好地满足用户的需求,并且能够更加有效地传播音乐文化,让更多人能够从中获得更多的乐趣。为了满足音乐爱好者的需求,我们应该设计一个专门的音乐交流平台,以促进音乐行业的发展。
1.4 论文组成结构
经过全本人长时间对音乐交流平台市场的调研,通过多重分析再结合国内外最新的研究成果,我们采用了先进的系统开发和设计技术,最终成功地推出了音乐交流平台。
1. 根据用户的身份,系统可以为其设定不同的登录权限,从而提供多样化的操作界面,以满足用户的需求。
2. 连接数据库是系统的核心技术,它对于整个系统的运行至关重要。
3. 为了确保数据的完整性与可靠性,我们需要确保所有的信息都是经过严格的验证,以便于任何人都可以访问、使用,同时也要求每个用户都要及时完成数据的备份,以确保信息的完整与可靠。
4. 设计界面是非常重要的,它能够让用户感觉到亲切。
5. 分析音乐交流平台信息化的现状。
6. 研究市面上类似系统的现状及问题点。
7. 本研究旨在深入探讨系统平台的架构、构建、数据库管理、安全性和功能实现等方面的内容。
8. 研究如何利用多种IT工具来提升平台的性能,并确保其可靠性和安全性。
9. 进行系统的详细功能设计并完成测试。
2.1 koa框架
Node.js是一个异步的世界,官方API支持的都是callback形式的异步编程模型,这会带来许多问题,例如:1、callback嵌套问题;2、异步函数中可能同步调用callback返回数据,带来不一致性。为了解决以上问题Koa出现了。
koa是由Express原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架。使用koa编写web应用,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手。开发思路和express差不多,最大的特点就是可以避免异步嵌套。
阿里内部就在使用Koa框架,并在Koa基础上面做了一些扩展和封装。并且基于koa开发了一个开源框架egg。
2.2 Vue.js 主要功能:
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
2.4 B/S体系工作原理:
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个领导可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
3系统分析
3.1 可行性分析
在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对音乐交流平台的可行性分析,我们可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。
3.1.1 技术可行性
所谓技术可行性,是指能否在有限的时间内实现预定的功能。在开发和设计中是否有未解决的问题。完成的项目能否很好地应用,如果有任何不足之处,后期的维护是否会有较大的困难。经过对该系统的评估,确定现有的技术可以达到目标。通过使用node.js的koa技术来创建动态的页面,采取低耦合的架构,搭载灵活的数据库,以及强劲的服务器,我们能够显著地改善系统的性能。这表明,我们不仅要追求理论上的目标,还要在实践中不断探索。
3.1.2 经济可行性
音乐交流平台采用node.js的koa技术和MySQL数据库,这样可以有效地降低软硬件的开发与维护费用,同时又能够让用户更加轻松地访问音乐,从而提高服务质量。此外,该网站的推出,可以有效地降低运营者的劳动强度,为企业带来更多的经济效益。虽然音乐交流平台的构建并非特别困难,但由于它的投入相比较少,而且能够带来更高的效率,因此,我们认为这个系统的建立具有很强的可持续性,而且能够带来更高的经济效益,而且比起日常的维护与管理更具有价值。
3.1.3 操作可行性
音乐交流平台的前台页面简洁易懂,无论是系统管理员还是普通用户,只要电脑连接到网络,就可以轻松访问网站,而且不需要任何操作指导,只要输入正确的URL地址,就可以轻松完成所有的操作。由于无需任何复杂的环境配置,这个系统非常简单,易于操作,因此它是一个非常实用的工具。
3.2 需求分析
为了满足用户的需求,音乐交流平台将系统划分为两个部分:管理员和用户,每个部分都有独特的功能,以便更加便捷地管理信息。此外,系统还具有简单易操作的特点,可以更加精确、全面地实现用户的需求。以下是关于该功能的详细描述:
管理员模块:首页、系统用户(管理员、普通用户)、音乐分类管理、歌手信息管理、个性音乐管理、热歌排行管理、最新音乐管理、音乐制作管理、歌单信息管理、意见反馈管理、系统管理、公告消息管理、资管理(音乐资讯、资讯分类)、交流管理(交流论坛、论坛分类)、个人信息、修改密码。
用户模块:首页、交流论坛、公告消息、音乐资讯、歌手信息、个性音乐、最新音乐、音乐制作、意见反馈、我的账户、个人中心(歌单信息、意见反馈、收藏)。
用户用例图如下所示。
![](https://i-blog.csdnimg.cn/direct/9c0dc180924c444a8329954ef6fa8248.png)
图3-1 用户用例图
管理员用例图如下所示。
![](https://i-blog.csdnimg.cn/direct/4e24e9f6d7304dcbbd7e6722518c3945.png)
图3-2 管理员用例图
根据用例图,对一些重要的用例进行描述。
登录用例描述如下表所示。
表3-1 登录用例描述
![](https://i-blog.csdnimg.cn/direct/c74aacad7d694c1f9419bc8f49a47831.png)
个人信息管理用例描述如下表所示。
表3-2 个人信息管理用例描述
![](https://i-blog.csdnimg.cn/direct/8098589898f844018175a264983a4080.png)
音乐搜索用例描述如下表所示。
表3-3音乐搜索用例描述
![](https://i-blog.csdnimg.cn/direct/c960f89908cb4e3597396d844420f516.png)
音乐用例描述如下表所示。
表3-4音乐用例描述
![](https://i-blog.csdnimg.cn/direct/dd04bdc40835485d89d69d07d3fd024b.png)
3.3 系统操作流程
3.3.1信息添加流程
音乐交流平台可以实现快速、准确地收集和处理各种信息,而且在使用过程中,只有在按照指定的界面和指定的参考文献,才能够正确地获取和处理信息,而若信息未能满足预期,就会被退出第一步,并且在第二步中,还会继续检查信息的准确性,以确保最终的结果能够满足预期的目标。
![](https://i-blog.csdnimg.cn/direct/ca6d73c43f604141a7c4e4558f0e3064.png)
图3-5 信息添加流程图
3.3.2信息删除流程
无论是何种用户角色,只要进入了不正常的系统操作界面,就可以使用不同的信息内容来进行操作。当用户尝试删除系统中的数据时,必须先ACK这些数据是否已经被删除,如果没有,就应该按照图3-6的指示进行操作,以免影响系统的正常运行。
![](https://i-blog.csdnimg.cn/direct/050a8aff34f14835bc299fe947bd6257.png)
图3-6信息删除流程图
3.4本章小结
本章主要通过对书海购管理系统的可行性分析、功能需求分析、系统用例分析,确定整个书海购管理系统要实现的功能。同时也为书海购管理系统的代码实现和测试提供了标准。
4系统设计
4.1 系统架构设计
当前,B/S架构的数据访问模式已经大大改善:用户只需要打开网站,就能够获取系统的信息,而且,系统会根据用户的需要,自动响应并解决所有的问题。此外,用户还能够查阅服务器的处理结果,从而更好地了解数据的流转情况。红桥社区的智能管理系统采用三层结构,即视觉-模拟-决策层。其中,视觉层负责接收来自用户的信息并将其呈现给用户;而模拟层则负责完成与用户有关的任务,包括组织信息、进行流程优化、提升用户体验。决策层则负责协商决策,并确保两层结果的一致性。。
系统架构图如下图所示。
图4-1 系统架构图
4.2 系统功能结构
一旦您访问了这款应用,您需要完成一项重大的任务:通过认证,获得相应的权限。一旦您完成了认证,您将可以访问到一些关于您的服务,包括:系统用户、音乐类型管理、个性音乐管理、系统管理、系统公告管理、资源管理等。这个界面非常清晰明了,通过指引您就能轻松地完成各种任务。
系统的功能结构图如下所示。
图4-2 系统功能结构图
4.3 数据库设计
一个优秀的系统必须具备完善的后台数据库,就像建筑物一样,它不是一蹴而就的,而是需要经过精心设计,以确保其稳固可靠。只有将数据库设计得完善,并且考虑到各个方面,才能保证系统的可靠性,避免出现任何问题。
4.3.1 概念模型设计
下面是整个音乐交流平台中主要的数据库表总E-R实体关系图。
图4-3 系统E-R图
4.4.2 逻辑结构设计
在这一步中,我们将概念转换为实际的数据。由于数据库中包含了大量的信息,我们只展示了一些表格。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | daily_recommendations_id | int | 10 | 0 | N | Y | 每日推荐ID | |
2 | song_title | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | music_classification | varchar | 64 | 0 | Y | N | 音乐分类 | |
4 | music_singer | varchar | 64 | 0 | Y | N | 个性音乐 | |
5 | song_source | varchar | 64 | 0 | Y | N | 歌曲来源 | |
6 | song_type | varchar | 64 | 0 | Y | N | 歌曲类型 | |
7 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
8 | music_audio | varchar | 255 | 0 | Y | N | 音乐音频 | |
9 | song_poster | varchar | 255 | 0 | Y | N | 歌曲海报 | |
10 | music_lyrics | longtext | 2147483647 | 0 | Y | N | 音乐歌词 | |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | feedback_id | int | 10 | 0 | N | Y | 意见反馈ID | |
2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | feedback_time | datetime | 19 | 0 | Y | N | 反馈时间 | |
5 | feedback_content | text | 65535 | 0 | Y | N | 反馈内容 | |
6 | feedback_reply | text | 65535 | 0 | Y | N | 反馈回复 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | forum_id | mediumint | 8 | 0 | N | Y | 论坛id | |
2 | display | smallint | 5 | 0 | N | N | 100 | 排序 |
3 | user_id | mediumint | 8 | 0 | N | N | 0 | 用户ID |
4 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
5 | praise_len | int | 10 | 0 | Y | N | 0 | 点赞数 |
6 | hits | int | 10 | 0 | N | N | 0 | 访问数 |
7 | title | varchar | 125 | 0 | N | N | 标题 | |
8 | keywords | varchar | 125 | 0 | Y | N | 关键词 | |
9 | description | varchar | 255 | 0 | Y | N | 描述 | |
10 | url | varchar | 255 | 0 | Y | N | 来源地址 | |
11 | tag | varchar | 255 | 0 | Y | N | 标签 | |
12 | img | text | 65535 | 0 | Y | N | 封面图 | |
13 | content | longtext | 2147483647 | 0 | Y | N | 正文 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
16 | avatar | varchar | 255 | 0 | Y | N | 发帖人头像: | |
17 | type | varchar | 64 | 0 | N | N | 0 | 论坛分类:[0,1000]用来搜索指定类型的论坛帖 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
3 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
4 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
5 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
6 | icon | varchar | 255 | 0 | Y | N | 分类图标: | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hot_song_ranking_id | int | 10 | 0 | N | Y | 热歌排行ID | |
2 | song_title | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | music_classification | varchar | 64 | 0 | Y | N | 音乐分类 | |
4 | music_singer | varchar | 64 | 0 | Y | N | 个性音乐 | |
5 | song_source | varchar | 64 | 0 | Y | N | 歌曲来源 | |
6 | song_type | varchar | 64 | 0 | Y | N | 歌曲类型 | |
7 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
8 | music_audio | varchar | 255 | 0 | Y | N | 音乐音频 | |
9 | song_poster | varchar | 255 | 0 | Y | N | 歌曲海报 | |
10 | music_lyrics | longtext | 2147483647 | 0 | Y | N | 音乐歌词 | |
11 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
12 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
13 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | latest_music_id | int | 10 | 0 | N | Y | 最新音乐ID | |
2 | song_title | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | music_classification | varchar | 64 | 0 | Y | N | 音乐分类 | |
4 | producer | varchar | 64 | 0 | Y | N | 制作人 | |
5 | music_singer | varchar | 64 | 0 | Y | N | 个性音乐 | |
6 | song_source | varchar | 64 | 0 | Y | N | 歌曲来源 | |
7 | song_type | varchar | 64 | 0 | Y | N | 歌曲类型 | |
8 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
9 | song_language | varchar | 64 | 0 | Y | N | 歌曲语种 | |
10 | music_audio | varchar | 255 | 0 | Y | N | 音乐音频 | |
11 | song_poster | varchar | 255 | 0 | Y | N | 歌曲海报 | |
12 | music_lyrics | longtext | 2147483647 | 0 | Y | N | 音乐歌词 | |
13 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | music_classification_id | int | 10 | 0 | N | Y | 音乐分类ID | |
2 | music_classification | varchar | 64 | 0 | Y | N | 音乐分类 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | music_production_id | int | 10 | 0 | N | Y | 音乐制作ID | |
2 | production_name | varchar | 64 | 0 | Y | N | 制作名称 | |
3 | production_type | varchar | 64 | 0 | Y | N | 制作类型 | |
4 | create_links | varchar | 255 | 0 | Y | N | 制作链接 | |
5 | create_labels | varchar | 64 | 0 | Y | N | 制作标签 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | introduction_to_production | text | 65535 | 0 | Y | N | 制作简介 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | personalized_music_id | int | 10 | 0 | N | Y | 个性音乐ID | |
2 | song_title | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | music_classification | varchar | 64 | 0 | Y | N | 音乐分类 | |
4 | producer | varchar | 64 | 0 | Y | N | 制作人 | |
5 | music_singer | varchar | 64 | 0 | Y | N | 个性音乐 | |
6 | song_source | varchar | 64 | 0 | Y | N | 歌曲来源 | |
7 | song_type | varchar | 64 | 0 | Y | N | 歌曲类型 | |
8 | song_language | varchar | 64 | 0 | Y | N | 歌曲语种 | |
9 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
10 | music_audio | varchar | 255 | 0 | Y | N | 音乐音频 | |
11 | number_of_songs | varchar | 64 | 0 | Y | N | 歌曲数量 | |
12 | song_poster | varchar | 255 | 0 | Y | N | 歌曲海报 | |
13 | music_lyrics | longtext | 2147483647 | 0 | Y | N | 音乐歌词 | |
14 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
15 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
16 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | users_birthday | date | 10 | 0 | Y | N | 用户生日 | |
6 | user_region | varchar | 64 | 0 | Y | N | 用户地区 | |
7 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
8 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | singer_information_id | int | 10 | 0 | N | Y | 歌手信息ID | |
2 | singer_name | varchar | 64 | 0 | Y | N | 歌手姓名 | |
3 | singer_gender | varchar | 64 | 0 | Y | N | 歌手性别 | |
4 | singer_ethnicity | varchar | 64 | 0 | Y | N | 歌手民族 | |
5 | birthplace | varchar | 64 | 0 | Y | N | 出生地区 | |
6 | date_of_birth | date | 10 | 0 | Y | N | 出生日期 | |
7 | singer_height | varchar | 64 | 0 | Y | N | 歌手身高 | |
8 | singer_weight | varchar | 64 | 0 | Y | N | 歌手体重 | |
9 | singer_image | varchar | 255 | 0 | Y | N | 歌手图片 | |
10 | singer_introduction | longtext | 2147483647 | 0 | Y | N | 歌手简介 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | singles_information_id | int | 10 | 0 | N | Y | 歌单信息ID | |
2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
3 | song_title | varchar | 64 | 0 | Y | N | 歌曲名称 | |
4 | music_classification | varchar | 64 | 0 | Y | N | 音乐分类 | |
5 | music_singer | varchar | 64 | 0 | Y | N | 个性音乐 | |
6 | song_source | varchar | 64 | 0 | Y | N | 歌曲来源 | |
7 | music_audio | varchar | 255 | 0 | Y | N | 音乐音频 | |
8 | song_poster | varchar | 255 | 0 | Y | N | 歌曲海报 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5系统实现
5.1 登录模块的实现
在登录界面中输入用户名+密码,然后选择相应的角色,点击“登录”按钮,系统会在用户数据库表中匹配食堂
用户的帐户,如果用户名+密码正确,则会登录到系统中每个用户的主管理界面,否则会提示相应的信息,如果是忘记了密码
,请返回登录界面。
用户登录流程图如下所示。
图5-1 用户登录流程
想要进入系统用户输入准确的姓名和密码,系统才会自动启动,并且会对用户的身份进行检查,若发现身份信息不符合要求,则会自动返回主界面,以便用户可以安全的登录使用。
系统登录界面如下图所示。
图5-2 系统登录界面
登录关键代码如下:
var Controller = require("../core/controller.js");
class Login extends Controller {
constructor(config) {
super(
Object.assign({
tpl: "./login/",
service: "user",
},
config
)
);
}
}
Login.prototype.api = async function(ctx) {
var body = ctx.request.body;
var obj = await $.services["user"].get_obj({
username: body.username
},{like:false});
if (obj) {
var group = await $.services["user_group"].get_obj({
name:obj.user_group
})
if (group){
if (group.name!=="管理员"){
var sql = "select examine_state from "+ group.source_table +" WHERE user_id = " + obj.user_id;
var userExamine = await $.mysql.run(sql);
if (userExamine && userExamine.length > 0 && userExamine[0].examine_state!=="已通过"){
return {
error: {
code: 70000,
message: "该用户审核未通过"
},
};
}
}
if (obj.state!==1){
return {
error: {
code: 70000,
message: "用户非可用状态,不能登录"
},
};
}
var password = md5(body.password);
if (password === obj.password) {
ctx.session.user = obj;
var date = Date.parse(new Date());
var token = md5(obj.user_id + "_" + date);
await $.services["access_token"].add({
token,
info: JSON.stringify(obj),
user_id:obj.user_id
});
obj.token = token;
return {
result: {obj}
};
} else {
return {
error: {
code: 70000,
message: "密码错误"
},
};
}
}else {
return {
error: {
code: 70000,
message: "用户组不存在"
},
};
}
} else {
return {
error: {
code: 70000,
message: "账户不存在"
}
};
}
};
5.2 用户子系统模块的实现
5.2.1 用户首页模块
通过输入http://localhost:8080/index.jsp 地址,用户可以轻松访问音乐交流平台的首页,该首页由top、left、down和center四个部分组成,用户可以通过@ include来进一步了解该网站的内容。
首页载入流程图如下所示。
图5-3 首页载入流程
首页载入流程:系统首先连接数据库,调整显示界面参数,从中提取出数据表,使用html格式创建显示模板,根据添加时间顺序排列数据,并以模板指定的位置显示出来,然后重新调整显示界面,最后断开数据库的连接。
首页如下图所示。
图5-4 首页界面
5.2.2 用户资料修改模块
当您完成/注册操作,您就能够更新您的个人资料。您需要确保您的inputname值能够和您所属的实体类型的参数完全对应。当您更新您的个人资料时,您的账号密码应当保持完整,不能出现任何错误。您需要确保您的账号密码是唯一的,才能继续使用。
5.2.3 资讯数据管理模块
管理员可以使用node.js的koa技术来查询资讯数据,这样他们就可以根据自己的需求,快速地更新和维护这些信息。在访问过程中,用户可以根据自己的偏好,自由地选择要修改或删除的信息,而且,如果用户选中的信息超出了预定的范围,系统将会弹出一个窗口,提醒用户只能选择一条数据,而如果用户没有选中,系统将会弹出一个窗口,要求用户重新选择一条新的信息。当用户选择进行更改时,系统会根据用户的id进行查询,并将结果返回到更新页面。用户可以在更新页面中更新刚刚选择的信息。用户点击确认后,from表单会将更新的数据提交到系统,并保存到数据库中。这意味着,如果提交的数据在数据库中,用户可以进行更新,否则将被保存。
音乐资讯展示界面如下图所示。
图5-5 音乐资讯界面
音乐资讯关键代码如下:
module.exports = {
db: "mysql",
web: {
port: 5000,
host: "0.0.0.0"
},
mysql: {
port: 3306,
host: "127.0.0.1",
user: "root",
password: "root",
database: "project93355",
log: false,
timezone:"08:00"
}
}
5.2.4 个性音乐模块
管理员管理音乐,用户点击想要观看的音乐进入个性音乐界面,浏览器自动播放该音乐,个性音乐通过调用Vue的<video>分类,将个性音乐文件路径参数传入,完成个性音乐,实现音乐的播放。
个性音乐流程图如下图所示。
图5-6 个性音乐流程图
个性音乐界面如下图所示。
图5-7 个性音乐界面
5.3 管理员子系统模块的实现
5.3.1 管理员主页模块
当您注册并使用该账号时,您将会进入一个新的网站。该网站的首部分为top、left、center三个部分,其中@ include部分提供了一个详细的概述。该部分将会提供您的个人资料,例如您的账号、当前时间、当前使用的浏览器版本、服务器的端口数、您的授权、您的ip地址、您的操作系统类型、您的编程语言、您的编程人员、您的编程老师以及您的编程时间。left区域被设计成一个完整的系统菜单,它由1级、2级两个层次组成,通过jquery将1级的功能扩充到2级。
管理员功能界面如下图所示。
图5-8 管理员功能界面
5.3.2 系统用户模块
通过使用sql语句,用户可以访问yhzhgl中的用户信息,并且可以通过PageManager.getPages (url, 4, sql, request)获取一个ArrayList对象,以便更好地管理和分析用户表。通过for循环,我们可以从ArrayList中提取出所有数据,然后将其转换为键值对,从而在Python页面上进行解析。
系统用户界面如下图所示。
图5-9 系统用户界面
系统用户关键代码如下:
Service.prototype.get_list = async function(query, config) {
var sql = $.mysql.toGetSql(query, Object.assign({}, this.config, config || {}));
return await this.run(sql);
};
Service.prototype.get_list = async function(query, config) {
var sql = $.mysql.toGetSql(query, Object.assign({}, this.config, config || {}));
return await this.run(sql);
};
5.3.3 音乐资讯模块
在添加、删除或修改音乐时,系统会根据音乐的状态来决定是否允许使用。如果允许,系统会提供相应的链接,以便用户访问。如果不允许,系统将会在后台查询音乐的状态,并决定是否允许使用。当您点击更改链接按钮时,您将会进入一个更改信息的页面。在完成数据填写之后,您将会将其提交到后台,并对数据库中的记录进行更新。
当添加音乐时,系统将会弹出一个页面,用户可以根据自己填写的音乐编号来查询编号是否已经存在。一旦填写完成,系统将会将其提交至后台,并调用相应的服务,将其插入到数据库中。
音乐资讯流程图如下图所示。
图5-10音乐资讯流程图
音乐资讯的界面如所示。
图5-11音乐资讯界面
5.3.4 个性音乐模块
对于个性音乐的管理,可能涉及到多种方式,如添加、移除、更换和检索。举个例子,如果要更新一首曲子,可能会从视觉上向系统发出请求,然后系统会根据这些请求来进行处理。如果需要更多,可能会从系统的顶部进行处理,然后再从下一个系统中进行检索。
个性音乐的流程如所示。
图5-12个性音乐流程
个性音乐列表界面如所示。
图5-13 个性音乐列表界面
5.3.5 轮播图模块
在使用这个应用程序之前,您必须确保您的文章已经被录入了相应的管理功能。如果您想更新文章的内容,您只有在文章的状态被确认为允许更新的条件下,您才有权利更新文章。如果您想更新文章,您只有在您点击更新文章的链接之前,文章的状态将被检测并确认。当您点击更换链接的按钮,您将进入一个更换信息的页面,在完成更换之前,您需要将所有的数据都输入至系统,以便进行更加精确的统计和分析。
当您添加轮播图时,系统将会弹出一个页面,用户可以根据自己填写的轮播图标题来查询轮播图是否已经存在。一旦完成了数据填写,系统将会调用相应的服务,将其插入到数据库中。
轮播图流程图如下图所示。
图5-14 轮播图流程图
轮播图的界面如所示。
图5-15轮播图界面
6系统测试
6.1 测试目的
在这款产品正式投入使用之前,试用是至关重要的一步。即使某些部分的开发没有出现任何问题,将多个模块组合在一起仍然可能会出现矛盾。就像每个人都有自己的特点,但如果混杂在一起,就会显得凌乱不堪,因此必须确保彼此之间能够达成默契的配合。在测试中,应该仔细检查其中的每一项内容,以确保它们符合预期的标准。如果发现有一些偏离,应该及时进行调整,以确保最终的结果能够达到预期的目标。
6.2 测试用例
6.2.1 登录测试
登录测试用例如下表所示。
表6-1 登录测试用例
6.2.2 音乐资讯管理测试
音乐资讯测试用例如下表所示。
6.2.3 音乐资讯测试
音乐测试用例如下表所示。
表6-4 添加音乐测试用例
6.3 测试结果
经过测试,得到测试结果如下表所示。
7总结与展望
在开发音乐交流平台之前,首先通过网上查询现有的音乐交流平台功能、线下通过在校问卷调查的方式,了解用户对音乐网站方面的具体需求,对系统的开发背景以及音乐网站的研究现状进行研究,设计了音乐交流平台具体实现的功能;确定好功能后,第二步就是开发工具的选择,在设计音乐交流平台的时候,采用了现下比较流程的node.js的koa技术框架,数据的存储方面采用的是开源的MYSQL,接下来就是对系统需求的分析,在文中主要通过对音乐交流平台进行可行性、性能、功能、用例四个方面进行分析,确定了音乐交流平台的具体功能,功能确定后就是对系统的设计以及,包括前后台、数据库等方面,最终完成系统的开发,对系统进行测试总结。
在开发音乐交流平台的过程中我成长了很多,学习到了很多书本上没有的知识,目前系统虽然已经完成,但是还有许多地方需要改进,比如界面布局方面,代码的编写方面,都可以进一步完善,由于自己专业知识的浅薄,系统做的并不是十分完美,以后我会不断进行学习,对系统进行完善,希望有机会能够投入到学校的使用当中,给同学们提供便利。
参考文献
[1]王文娜. 用户需求视域下网易云音乐的改进和提升策略 [J]. 传媒, 2024, (01): 68-70.
[2]徐丽梅. 搭建高端平台 推动全球音乐教育交流互鉴[N]. 音乐周报, 2023-10-25 (B07). DOI:10.38253/n.cnki.nylzb.2023.000343.
[3]Huaming T . Comparative Study of Popular Songs between China and the United States Based on Data from Domestic and International Music Platforms [J]. Frontiers in Art Research, 2023, 5 (13):
[4]孙哲. 智能时代音乐平台市场营销策略优化研究 [J]. 营销界, 2023, (16): 5-7.
[5]司思. 在线音乐平台版权运营现状、困境及对策研究 [J]. 出版发行研究, 2023, (07): 59-67+30. DOI:10.19393/j.cnki.cn11-1537/g2.2023.07.023.
[6]魏蕊,吕明秋,刘海泽等. 中国数字音乐平台元数据方案的优化策略研究 [J]. 图书情报工作, 2023, 67 (13): 133-141. DOI:10.13266/j.issn.0252-3116.2023.13.014.
[7]曾阳. 基于改进的用户价值模型对在线音乐平台企业价值评估[D]. 西南财经大学, 2023.
[8]路斐斐. 建设国际音乐交流平台,让世界“听”见中国新声[N]. 文艺报, 2023-03-13 (004). DOI:10.28817/n.cnki.nweyi.2023.000488.
[9]Splice and the platformization of hip hop production: Navigating the online music platform for royalty-free samples [J]. Global Hip Hop Studies, 2023, 2 (2): 219-236.
[10]徐丽梅. 打造创新融合的学术交流平台[N]. 音乐周报, 2022-12-07 (A04). DOI:10.38253/n.cnki.nylzb.2022.000296.
[11]HELPFUL has partnered with Mastercard to enable creator and music platforms to reach their full potential by offering automated, instant, cross-border payouts [J]. M2 Presswire, 2022,
[12]Shawn Michael Latest Single 'Shawdy' are Streaming on all Music Platforms. [J]. M2 Presswire, 2022,
[13]宋东翔,马伽洛伦,袁铭举等. 基于协同过滤和NodeJS的电影推荐系统研究 [J]. 信息与电脑(理论版), 2022, 34 (12): 143-145.
[14]Sharma A D ,Jain A ,Bahuguna A , et al. A Simple Comparison Between Java Python and Nodejs in Web Development [J]. Journal of Research in Science and Engineering, 2021, 3 (8):
[15]徐培珺. 用音乐大赛筑建音乐教育交流的平台 专访美国MAP国际音乐大赛艺术总监林荫 [J]. 音乐爱好者, 2021, (07): 26-30.
[16]孟猛. “解民族音乐发展之惑,育民族音乐产业之才”——北京文化艺术基金“民族音乐产业创新人才交流平台”项目综述 [J]. 黄河之声, 2021, (06): 130-132. DOI:10.19340/j.cnki.hhzs.2021.06.041.
[17]陈荣鑫. 基于NodeJS+Express框架的学院会议室预定系统设计与开发 [J]. 信息与电脑(理论版), 2021, 33 (02): 95-97.
[18]遇宇. 基于Nodejs的定制化流程引擎设计与实现 [J]. 电脑编程技巧与维护, 2020, (11): 39-40+65. DOI:10.16184/j.cnki.comprg.2020.11.014.
[19]兰天,张荣庆,梁乾. Excel协同汇总的Nodejs算法解决方案 [J]. 数码世界, 2020, (02): 39.
眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!
我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。
感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员张老师、班长白海鹏,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!
请关注点赞+私信博主,免费领取项目源码