“艺之窗”艺术展览平台的设计与实现---附源码97098

摘 要

随着信息技术的迅猛发展和互联网的广泛应用,艺术展览已逐渐从传统的实体空间向数字化平台拓展。数字化艺术展览平台不仅为艺术家提供了一个展示才华的广阔舞台,也为艺术爱好者带来了前所未有的观赏体验。在这样的背景下,设计并实现了“艺之窗”艺术展览平台,旨在打造一个集艺术展示、交流互动、宣传推广于一体的综合性艺术平台。

“艺之窗”艺术展览平台以用户为中心,注重用户体验和界面设计,力求为用户带来直观、便捷的操作体验。平台支持艺术家上传作品、创建展览,与观众进行实时互动;观众则可以通过平台浏览作品、参与讨论、发表评论,与艺术家及其他观众分享自己的见解和感受。

“艺之窗”艺术展览平台使用基于Node.js的Express框架,使用Express我们可以方便、快速的创建Web网站的服务器或API接口的服务器。数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介,配合前台HTML+CSS技术完成系统的开发。

关键词:艺术展览平台,Express框架;Node.js;MySQL数据库

Abstract

With the rapid development of information technology and the wide application of the Internet, art exhibitions have gradually expanded from the traditional physical space to the digital platform. The digital art exhibition platform not only provides artists with a broad stage to showcase their talents, but also brings unprecedented viewing experiences to art enthusiasts. In this context, the "Window of Art" art exhibition platform has been designed and implemented, aiming to create a comprehensive art platform that integrates art display, communication and interaction, and promotion.

The "Window of Art" art exhibition platform is user centered, focusing on user experience and interface design, striving to bring users an intuitive and convenient operating experience. The platform supports artists to upload works, create exhibitions, and interact with the audience in real-time; Viewers can browse their works, participate in discussions, leave comments, and share their insights and feelings with artists and other viewers through the platform.

The "Window of Art" art exhibition platform uses the Node.js based Express framework. With Express, we can easily and quickly create servers for web websites or API interfaces. In terms of data, Microsoft's MySQL relational database is mainly used as the data storage medium, and the system development is completed in conjunction with front-end HTML+CSS technology.

Keywords: Art exhibition platform, Express framework; Node.js; MySQL database

目   录

1绪论

1.1 研究背景和意义

1.2 国内外研究现状

1.4 论文组成结构

2开发工具及相关技术介绍

2.1 Express框架介绍

2.2 B/S体系结构

2.3 MySQL数据库

2.4 Node.js主要功能

3系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 需求分析

3.3 非功能性分析

3.4 系统用例分析

3.5 系统流程分析

3.5.1系统开发流程

3.5.2 用户登录流程

3.5.3 系统操作流程

3.5.4 添加信息流程

3.5.5 修改信息流程

3.5.6 删除信息流程

4系统设计

4.1 系统架构设计

4.2 系统功能结构

4.3 数据库设计

4.3.1 概念模型设计

4.3.2 逻辑结构设计

5系统实现

5.1 普通用户功能模块的实现

5.1.1 前台首页界面

5.1.2 用户注册界面

5.1.3 用户登录界面

5.1.4新闻资讯界面

5.1.5艺术作品界面

5.2 后台功能模块的实现

5.2.1后台登录界面

5.2.2系统用户界面

5.2.3作品分类管理界面

5.2.4系统管理界面

5.2.5资源管理界面

6.1 测试目的

6.2 测试用例

6.3 测试结果

7总结与展望

参考文献

致谢

1绪论

1.1 研究背景和意义

在数字化时代,艺术展览的形式和媒介正在发生深刻变革。传统的实体艺术展览受限于空间、时间和地域,而互联网技术的发展为艺术展览提供了新的可能性。在这样的背景下,“艺之窗”艺术展览平台应运而生,旨在利用现代信息技术,打破传统艺术展览的局限性,为艺术家和观众搭建一个无界限、高效互动的艺术展示与交流平台。

“艺之窗”不仅为艺术家提供了一个展示自己才华的窗口,也为观众带来了全新的艺术观赏体验。通过这一平台,艺术家可以更加便捷地推广自己的作品,与观众建立更紧密的联系;观众则可以随时随地欣赏艺术作品,参与讨论,分享自己的见解。同时,平台也为艺术机构、画廊等提供了展示和推广艺术作品的渠道,促进了艺术产业的繁荣与发展。

因此,“艺之窗”艺术展览平台的研究与实现不仅具有重要的现实意义,也体现了对艺术与科技融合发展的探索和创新。通过这一平台,我们期望能够推动艺术展览的数字化进程,促进艺术的传播与交流,为艺术事业的发展注入新的活力。

1.2 国内外研究现状

在艺术展览领域,国内外的研究与应用呈现出蓬勃发展的态势。随着信息技术的进步和互联网的普及,数字化艺术展览平台逐渐成为了艺术界的新宠。

国内研究现状:

在国内,随着数字技术的快速发展和文化产业的繁荣,越来越多的艺术家和机构开始尝试将传统艺术展览与数字化技术相结合。一些国内的艺术展览平台通过引入虚拟现实(VR)、增强现实(AR)等先进技术,为观众提供了沉浸式的艺术观赏体验。同时,国内的研究者也在积极探索艺术与科技融合的新模式,通过数据挖掘、人工智能等技术手段提升艺术展览的智能化水平。此外,政府和文化机构也加大了对数字化艺术展览平台的支持力度,推动了相关技术的研发和应用。

国外研究现状:

在国外,尤其是欧美地区,数字化艺术展览平台的发展相对成熟。许多知名的艺术机构和博物馆都建立了自己的在线展览平台,通过互联网技术将艺术作品呈现给全球观众。这些平台不仅提供了高清的艺术品展示,还通过社交媒体、在线讲座等方式与观众进行互动。同时,国外的艺术家和研究者也在不断探索新的展示方式和交互手段,如使用增强现实技术为观众创造独特的观展体验。此外,国外的数字化艺术展览平台还注重与实体展览的结合,通过线上线下相结合的方式吸引更多观众参与。

综合来看,国内外的数字化艺术展览平台都在快速发展,并呈现出各自的特点和优势。随着技术的不断创新和应用场景的拓展,“艺之窗”艺术展览平台的设计与实现将面临着更多的机遇和挑战。我们需要在借鉴国内外成功经验的基础上,结合自身的特点和需求,打造出一个具有创新性和实用性的艺术展览平台。

1.4 论文组成结构

本文共分为六章,章节内容安排如下:

第一章:引言。主要介绍了课题研究的背景,国内目前相关研究现状以及本文的研究内容与主要工作。

第二章:相关技术介绍。主要对本系统使用的相关技术和开发工具进行介绍。

第三章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。

第四章:系统概要设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第五章:系统实现。主要介绍了系统框架搭建、系统界面的实现。

第六章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试

第七章:总结与展望。


2开发工具及相关技术介绍

2.1 Express框架介绍

Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。Express不对node.js已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健、友好的API变得快速又简单[1]。

使用 Express 可以快速地搭建一个完整功能的网站。

Express 框架核心特性:

可以设置中间件来响应 HTTP 请求。

定义了路由表用于执行不同的 HTTP 请求动作。

可以通过向模板传递参数来动态渲染 HTML 页面[2]。

2.2 B/S体系结构

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互[3]。

2.3 MySQL数据库

MySQL数据库已经成为网络上的一种强大的工具,它能够支持多个用户,并且能够根据客户端和服务端的需求进行调整,从而满足不同的需求。在这里,服务端和客户端只是一种软件上的概念,而我们所使用的计算机硬件则没有必要完全相互匹配[4]。

MySQL作为一个受到广泛认可的开放式DBMS,其卓越的性能和易于操作的特性,以及其在多种操作环境中的灵活性,让其成为了众多AP中的首选。此外,MySQL还具有良好的跨平台性,让软件开发人员对其有着极高的评价。与传统的关联式数据库系统形式大相径庭,MySQL拥有一套完善的数据库管理策略,以确保用户的安全、稳健、安全。MySQL具备良好的容错、安全、快速、稳健的特点,使得mysql成为一款极其实用的数据库管理工具[5]。

MySQL拥有一种独特的权限分配机制,可以根据用户的身份和业务逻辑,为用户提供更多的选择,从而大大提高了MySQL的安全性和完整性,远超过其他关系型数据库。

MySQL具有强大的功能,能够处理各种数据类型,包括动态、静态、多种语言,从而使用户能够轻松访问多种数据。

MySQL具有多种功能[6],它能够支持多种平台的开发,并且支持多种编程语言[7],使得用户能够轻松访问和使用MySQL数据库。

2.4 Node.js主要功能

V8引擎本身使用了一些最新的编译技术。这使得用Javascript这类脚本语言编写出来的代码运行速度获得了极大提升,又节省了开发成本。对性能的苛求是Node的一个关键因素[8]。 Javascript是一个事件驱动语言,Node利用了这个优点,编写出可扩展性高的服务器。Node采用了一个称为“事件循环(event loop)”的架构,使得编写可扩展性高的服务器变得既容易又安全。提高服务器性能的技巧有多种多样。Node选择了一种既能提高性能,又能减低开发复杂度的架构。这是一个非常重要的特性。并发编程通常很复杂且布满地雷。Node绕过了这些,但仍提供很好的性能。

Node采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。尤其是对于熟悉onmouseover、onclick等DOM事件的用户,更有一种似曾相识的感觉[9]。

虽然让Javascript运行于服务器端不是Node的独特之处,但却是其一强大功能。不得不承认,浏览器环境限制了我们选择编程语言的自由。任何服务器与日益复杂的浏览器客户端应用程序间共享代码的愿望只能通过Javascript来实现[10]。虽然还存在其他一些支持Javascript在服务器端 运行的平台,但因为上述特性,Node发展迅猛,成为事实上的平台。

在Node启动的很短时间内,社区就已经贡献了大量的扩展库(模块)。其中很多是连接数据库或是其他软件的驱动,但还有很多是凭他们的实力制作出来的非常有用的软件。

最后,不得不提到的是Node社区。虽然Node项目还非常年轻,但很少看到对一个项目如此狂热的社区。不管是新手,还是专家,大家都围绕着项目,使用并贡献自己的能力,致力于打造一个探索、支持、分享、听取建议的乐土。

3系统分析

3.1 可行性分析

在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对“艺之窗”艺术展览平台的可行性分析,我们可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。

3.1.1 技术可行性

所谓技术可行性,是指能否在有限的时间内实现预期设定的功能。在开发和设计中是否有未解决的问题。完成的项目能否很好地应用,如果有任何不足之处,后期的维护是否会有较大的困难。经过对该系统的评估,确定现有的技术可以达到目标。通过使用Express技术来创建动态的页面,采取低耦合的架构,搭载灵活的数据库,以及强劲的服务器,我们能够显著地改善系统的性能。这表明,我们不仅要追求理论上的目标,还要在实践中不断探索。

3.1.2 经济可行性

“艺之窗”艺术展览平台采用Express和Node.js技术,这样可以有效地降低软硬件的开发与维护费用,同时又能够让用户更加轻松地访问资源,从而提高服务质量。此外,该平台的推出,可以有效地降低运营者的劳动强度,为企业带来更多的经济效益。虽然“艺之窗”艺术展览平台的构建并非特别困难,但由于它的投入相比较少,而且能够带来更高的效率,因此,我们认为这个系统的建立具有很强的可持续性,而且能够带来更高的经济效益,而且比起日常的维护与管理更具有价值。

3.1.3 操作可行性

“艺之窗”艺术展览平台的前台页面简洁易懂,无论是系统管理员还是普通用户,只要电脑连接到网络,就可以轻松访问网站,而且不需要任何操作指导,只要输入正确的URL地址,就可以轻松完成所有的操作。由于无需任何复杂的环境配置,这个系统非常简单,易于操作,因此它是一个非常实用的工具。

3.2 需求分析

为了满足用户的需求,“艺之窗”艺术展览平台将划分为两个部分:管理员和普通用户,每个部分都有独特的功能,以便更加便捷地管理信息。此外,系统还具有简单易操作的特点,可以更加精确、全面地实现用户的需求。

普通用户功能模块:

注册登录:允许用户注册账号并提供必要信息,以及通过账号密码登录系统,确保用户身份的合法性和安全性。

首页:展示平台概况、最新通知公告、新闻资讯等内容,方便用户浏览和获取信息。

通知公告:提供重要的系统通知和公告信息,包括艺术展览、活动安排等,确保用户了解最新动态。

新闻资讯:提供艺术相关的新闻资讯内容,包括展览报道、艺术界动态等,帮助用户了解艺术行业信息。

艺术作品:展示各种艺术作品,包括绘画、雕塑、摄影等,提供艺术欣赏和购买渠道。

艺术家信息:展示艺术家的个人信息和作品集,方便用户了解艺术家背景和风格。

艺术活动:提供艺术相关的活动信息,包括展览、拍卖、座谈会等,方便用户参与艺术活动。

讲座纪实:提供艺术讲座的纪实内容,包括讲座回顾、讲座视频等,方便用户学习和回顾。

社交分享:允许用户在平台上进行艺术作品、新闻资讯、活动等内容的社交分享,增加用户互动和平台曝光度。

我的账户:允许用户管理自己的账户信息,包括个人资料、头像和密码等。

个人首页:展示用户个人信息和相关记录。

社交分享:查看和管理用户自己分享的内容,与其他用户互动。

收藏: 允许用户收藏感兴趣的艺术作品、艺术家信息或新闻资讯,方便下次快速查看和分享。

后台管理员功能:

登录:提供安全的管理员登录功能,确保只有授权的管理员可以访问系统。

后台首页:展示系统概况、最新数据和快捷入口,方便管理员监控系统运行状态。

系统用户:管理系统用户,包括添加新用户、编辑用户信息、删除用户等操作,以确保系统安全性。

艺术作品管理: 管理平台上展示的艺术作品,包括添加、编辑、下架作品等操作,确保作品展示的质量和多样性。

作品分类管理:管理艺术作品的分类信息,包括添加、编辑、删除分类等操作,方便用户浏览和搜索。

艺术家信息管理:管理艺术家的个人信息和作品集,包括添加、编辑、删除艺术家信息等操作,确保艺术家信息的完整和准确性。

艺术活动管理:管理艺术相关的活动信息,包括展览、拍卖、座谈会等,包括添加、编辑、删除活动等操作。

讲座纪实管理:管理艺术讲座的纪实内容,包括添加、编辑、删除纪实内容等操作,方便用户学习和回顾。

社交分享管理:管理用户在平台上进行的社交分享活动,包括帖子管理、评论管理等,促进用户间的交流和互动。

系统管理:管理系统首页轮播图,包括添加、编辑、删除轮播图图片和相关链接,提升网站视觉效果。

通知公告管理:发布系统相关通知和公告,包括网站更新、活动通知等信息,确保用户了解最新动态。

资源管理(新闻资讯): 管理艺术相关的新闻资讯内容,包括添加、编辑、删除资讯等操作,确保信息的及时更新和完整性。

资源管理(资讯分类): 管理资讯的分类信息,包括添加、编辑、删除分类等操作,方便用户查找和浏览。

3.3 非功能性分析

“艺之窗”艺术展览平台的非功能性需求比如“艺之窗”艺术展览平台的安全性怎么样可靠性怎么样性能怎么样可拓展性怎么样等。具体可以表示在如下3-1表格中:

3-1“艺之窗”艺术展览平台非功能需求表

安全性

主要指“艺之窗”艺术展览平台数据库的安装数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指“艺之窗”艺术展览平台能够安装用户的指示进行操作经过测试可靠性90%以上。

性能

性能是影响“艺之窗”艺术展览平台占据市场的必要条件所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着“艺之窗”艺术展览平台页面展示内容进行操作就可以了。

可维护性

“艺之窗”艺术展览平台开发的可维护性是非常重要的经过测试可维护性没有问题

3.4 系统用例分析

根据上一节功能分析,可以得出系统的用例。

普通用户角色用例如图3-1所示。

图3-1 普通用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

3.5 系统流程分析

3.5.1系统开发流程

“艺之窗”艺术展览平台开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图3-3所示。

3-3系统开发流程图

3.5.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图3-4所示。

3-4 登录流程图

3.5.3 系统操作流程

用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图3-5所示。

3-5 系统操作流程图

3.5.4 添加信息流程

管理员可以对艺术家信息、作品信息等进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图3-6所示。

3-6 添加信息流程图

3.5.5 修改信息流程

管理员可以对艺术家信息、作品信息等进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图3-7所示。

3-7 修改信息流程图

3.5.6 删除信息流程

管理员可以对艺术家信息、作品信息等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图3-8所示。

3-8 删除信息流程图

4系统设计

4.1 系统架构设计

当前,B/S架构的数据访问模式已经大大改善:用户只需要打开“艺之窗”艺术展览平台,就能够获取系统的信息,而且,系统会根据用户的需要,自动响应并解决所有的问题。此外,用户还能够查阅服务器的处理结果,从而更好地了解数据的流转情况。“艺之窗”艺术展览平台采用三层结构,即视觉-模拟-决策层。其中,视觉层负责接收来自用户的信息并将其呈现给用户;而模拟层则负责完成与用户有关的任务,包括组织信息、进行流程优化、提升用户体验。决策层则负责协商决策,并确保两层结果的一致性。

系统架构图如下图所示。

图4-1 系统架构图

4.2 系统功能结构

Express“艺之窗”艺术展览平台整体上来说由前端普通用户界面和后端管理员界面组成。

虽然三个模块看起来各自独立,但它们所使用的数据库却是一致的。这些模块的功能是经过精心设计,根据先前的需求进行分析,并结合相关资料进行编排而成的。

综上所述,系统功能结构图如下所示。

图4-2 系统功能结构图

4.3 数据库设计

一个优秀的系统必须具备完善的后台数据库,就像建筑物一样,它不是一蹴而就的,而是需要经过精心设计,以确保其稳固可靠。只有将数据库设计得完善,并且考虑到各个方面,才能保证系统的可靠性,避免出现任何问题。

4.3.1 概念模型设计

借助目前的UML建模软件,E-R图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。“艺之窗”艺术展览平台总E-R图如下所示。

图4-3 系统E-R图

4.3.2 逻辑结构设计

通过前面E-R关系图可以看到项目需要创建很多个表。下面罗列一下本在线考试系统当中的几个主要的数据库表:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表artistic_works (艺术作品)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

artistic_works_id

int

10

0

N

Y

艺术作品ID

2

title_of_the_work

varchar

64

0

Y

N

作品名称

3

classification_of_works

varchar

64

0

Y

N

作品分类

4

artist_name

varchar

64

0

Y

N

艺术家姓名

5

release_date

date

10

0

Y

N

发布日期

6

cover_photo

varchar

255

0

Y

N

封面图片

7

introduction_to_works

longtext

2147483647

0

Y

N

作品介绍

8

hits

int

10

0

N

N

0

点击数

9

praise_len

int

10

0

N

N

0

点赞数

10

recommend

int

10

0

N

N

0

智能推荐

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表artist_information (艺术家信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

artist_information_id

int

10

0

N

Y

艺术家信息ID

2

artist_name

varchar

64

0

Y

N

艺术家姓名

3

artist_gender

varchar

64

0

Y

N

艺术家性别

4

artists_age

varchar

64

0

Y

N

艺术家年龄

5

video_introduction

varchar

255

0

Y

N

视频介绍

6

artist_photos

varchar

255

0

Y

N

艺术家照片

7

artist_introduction

longtext

2147483647

0

Y

N

艺术家介绍

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表art_activities (艺术活动)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

art_activities_id

int

10

0

N

Y

艺术活动ID

2

activity_name

varchar

64

0

Y

N

活动名称

3

event_date

date

10

0

Y

N

活动日期

4

event_location

varchar

64

0

Y

N

活动地点

5

cover_photo

varchar

255

0

Y

N

封面图片

6

content_details

longtext

2147483647

0

Y

N

内容详情

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

recommend

int

10

0

N

N

0

智能推荐

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表classification_of_works (作品分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

classification_of_works_id

int

10

0

N

Y

作品分类ID

2

classification_of_works

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

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表lecture_record (讲座纪实)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

lecture_record_id

int

10

0

N

Y

讲座纪实ID

2

lecture_name

varchar

64

0

Y

N

讲座名称

3

lecture_date

date

10

0

Y

N

讲座日期

4

artist_name

varchar

64

0

Y

N

艺术家姓名

5

lecture_venue

varchar

64

0

Y

N

讲座地点

6

cover_photo

varchar

255

0

Y

N

封面图片

7

content_details

longtext

2147483647

0

Y

N

内容详情

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

contact_phone_number

varchar

16

0

Y

N

联系电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表social_sharing (社交分享)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

social_sharing_id

int

10

0

N

Y

社交分享ID

2

share_title

varchar

64

0

Y

N

分享标题

3

publish_users

int

10

0

Y

N

0

发布用户

4

release_date

date

10

0

Y

N

发布日期

5

cover_photo

varchar

255

0

Y

N

封面图片

6

content_details

longtext

2147483647

0

Y

N

内容详情

7

praise_len

int

10

0

N

N

0

点赞数

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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.1 前台首页界面

当进入“艺之窗”艺术展览平台的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,其主界面展示如下图5-1所示。

图5-1 前台首页界面图

5.1.2 用户注册界面

“艺之窗”艺术展览平台的普通用户时可以进行注册登录,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图5-2所示。

图5-2注册界面图 

注册关键代码如下所示。

 Register.prototype.index = async function(req,res) {

    var group_list = await $.services["user_group"].get_list({}, Object.assign({}, this.config));

    return await res.render(this.config.tpl + "index.html", {

        group_list

    });

};

Register.prototype.api = async function(req) {

    var user = $.services.user;

    var body = req.body;

    var username = body.username;

    var obj = await user.get_obj({

        username

    });

    if (obj) {

        return {

            error: {

                code: 70000,

                message: "账户名已存在",

            },

        };

    } else {

        var password = md5(body.password);

        var nickname = body.nickname;

        var user_group = body.user_group;

        var email = body.email;

        var email_state= body.hasOwnProperty('email_state') ? body.email_state : 0;

        var phone = body.phone;

        var phone_state= body.hasOwnProperty('phone_state') ? body.phone_state : 0;

        var bl_reg = await user.add({

            username,

            password,

            nickname,

            user_group,

            email,

            email_state,

            phone,

            phone_state

        });

        if (bl_reg) {

            return {

                result: "注册成功"

            };

        } else {

            return {

                error: {

                    code: 70000,

                    message: "注册失败",

                },

            };

        }

    }

};    

5.1.3 用户登录界面

“艺之窗”艺术展览平台中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当普通用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到“艺之窗”艺术展览平台的首页中;否则将会提示相应错误信息,用户登录界面如下图5-3所示。

图5-3用户登录界面图

登录的逻辑代码如下所示。

Login.prototype.api = async function(req) {

    var body = req.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) {

                req.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.1.4新闻资讯界面

当用户点击“新闻资讯”这一菜单按钮,会显示管理员在后台发布的所有的新闻资讯信息,支持通过关键词对资讯进行搜索,选择需要的资讯信息点击可以进入到资讯信息详细的介绍界面,同时可以进行点赞、收藏等操作,新闻资讯界面如下图5-4所示。

图5-4新闻资讯详情界面图

5.1.5艺术作品界面

当用户点击“艺术作品”这一菜单按钮,会显示管理员在后台发布的所有的艺术作品信息,支持通过关键词对艺术作品进行搜索,选择需要的艺术作品点击可以进入到详细的介绍界面,同时可以进行点赞、收藏等操作,艺术作品界面如下图5-5所示。

图5-5艺术作品界面图

5.2 后台功能模块的实现

5.2.1后台登录界面

管理员在后台可以通过账号和密码进行登录,管理员的账号和密码是在数据库中直接设定的。后台登录界面展示如下图5-6所示。

图5-6后台登录界面图

5.2.2系统用户界面

管理员在后台可以对普通用户的信息进行增删改查操作。系统用户管理界面如下图5-7所示。

图5-7系统用户管理界面图

5.2.3作品分类管理界面

管理员点击“作品分类管理”会显示出作品分类列表和作品分类添加这两个子菜单,可以对这两个模块进行增删改查操作。作品分类列表和作品分类添加界面如下图5-8和5-9所示。

图5-8作品分类列表界面图

图5-9作品分类添加界面图

5.2.4系统管理界面

“艺之窗”艺术展览平台中的管理人员在“系统管理”这一菜单下是可以对“艺之窗”艺术展览平台内的系统轮播图进行添加修改的,其管理界面如下图5-10所示。

图5-10系统管理界面图

5.2.5资源管理界面

管理员点击“资源管理”这一菜单可以对系统内的新闻资讯、资讯分类进行管理,新闻资讯、资讯分类界面如下图5-11和5-12所示。

图5-11新闻资讯界面图

图5-12新闻分类界面图
6系统测试

6.1 测试目的

在这款产品正式投入使用之前,试用是至关重要的一步。即使某些部分的开发没有出现任何问题,将多个模块组合在一起仍然可能会出现矛盾。就像每个人都有自己的特点,但如果混杂在一起,就会显得凌乱不堪,因此必须确保彼此之间能够达成默契的配合。在测试中,应该仔细检查其中的每一项内容,以确保它们符合预期的标准。如果发现有一些偏离,应该及时进行调整,以确保最终的结果能够达到预期的目标。

6.2 测试用例

系统测试包括:用户登录功能测试、艺术作品展示功能测试、艺术家信息添加、艺术活动、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

艺术作品查看功能测试:

表5-2 艺术作品查看功能测试表

用例名称

艺术作品查看

目的

测试艺术作品查看功能

前提

用户登录

测试流程

点击艺术作品列表

预期结果

可以查看到所有艺术作品信息

实际结果

实际结果与预期结果一致

管理员添加艺术家信息界面测试:

表5-3 管理员添加艺术家信息界面测试表

用例名称

艺术家信息发布测试用例

目的

测试艺术家信息发布功能

前提

用户正常登录情况下

测试流程

1)用户点击艺术家信息管理,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的艺术家信息信息 

实际结果

实际结果与预期结果一致

艺术活动功能测试:

表5-4艺术活动功能测试表

用例名称

艺术活动测试

目的

测试艺术活动功能

前提

测试流程

1)在艺术家信息模块点击艺术活动。

2)填写艺术家信息点击提交。

预期结果

成功提交信息

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.3 测试结果

通过编写教学管理系统的测试用例,已经检测完毕用户登录模块、艺术作品查看模块、艺术家信息添加模块、艺术活动模块、密码修改功能测试,通过这5大模块为教学管理系统的后期推广运营提供了强力的技术支撑。

7总结与展望

在本次系统设计的过程中,我们将深入探讨“艺之窗”艺术展览平台,从研究背景、目标到实施方案,并详细阐述每一章的内容,以及该系统的硬件和软件环境。其中包含了:需求分析+功能需求+用例图,以此表示系统的功能的流程、模块的处理过程。绘制总体各个结构+流程图,并根据功能细致设计的需要,再来设计数据库的表结构,并绘制E-R图,实现程序接口,然后完成调试。最后,本文进行了总结,并提出了下一步的发展方向。

这个系统使用MySQL数据库,采用Express框架和Node.js技术。系统基本实现:系统用户、艺术作品管理、作品分类管理、艺术家信息管理、艺术活动管理、讲座纪实管理、社交分享管理、系统管理(轮播图)、通知公告管理、资源管理(新闻资讯、资讯分类)等功能模块。系统功能流畅、模块清晰,易于更改后期版本的程序细节,实现了效率高与界面友好还有操作方便。

在这次设计中,我通过不断地探索和学习,掌握了Node.js技术和Express框架,并创建了一个“艺之窗”艺术展览平台,这让我对编写系统的必要性和运行环境有了更深入的了解。为了更好地完成这个项目,我花费了大量的时间,不仅丰富了自己的知识面,并且学习并积累了许多宝贵经验。系统刚开始时,我对Express框架这个技术只是稍微有些了解,但是通过这次基于Express框架的“艺之窗”艺术展览平台设计,让我更加深入地去探讨了,Express框架运转的原理,从中学到了如何去配置服务器环境和连接数据库。

系统的这一次发展提升了我自己的能力,也学到了框架如何实现基本功能。同时在编程代码各方面也做了的很多尝试,从关注代码错误到做一些小的修改,都有了很大的提高。同时,在撰写论文时,还查阅了大量的参考资料,对论文的结构和文献资料进行了总结和分析。已作出努力,尽量减少错误和走弯路,从一开始的系统功能概念化到逐一实施,并进行了广泛的研究报告。也许后续操作过程中还有很多实现不完美的功能,但我依然会继续学习,努力在以后的软件开发、编号代码中吸取教训,总结不完美之处,努力的在软件开发越来越强。以上是我在本次设计中的总结,希望在未来取得更好的成绩。


参考文献

[1]李淑玲,朱彤.基于Node.js技术的在线测试系统设计方案[J].科技资讯,2023,21(19):35-38.DOI:10.16661/j.cnki.1672-3791.2303-5042-5997.

[2]胡娟,蒲源.基于Node.js的低代码人脸识别系统的设计与实现[J].电脑知识与技术,2023,19(28):14-17.DOI:10.14004/j.cnki.ckt.2023.1504.

[3]赵率宏.基于Node.js的ORM框架研究与实现[D].西南科技大学,2023.DOI:10.27415/d.cnki.gxngc.2023.000804.

[4]何奇颖.沉浸式设计在文化艺术类虚拟展览平台中的应用研究——以观妙中国为例[J].西北美术,2022,(04):128-131.DOI:10.13772/j.cnki.61-1042/j.2022.04.006.

[5]Heller M .What is Node.js? The JavaScript runtime explained[J].InfoWorld.com,2022,

[6]Krill P .Deno 1.26 improves Node.js compatibility, npm support[J].InfoWorld.com,2022,

[7]王瑶.浅谈“云展览”展示平台建设——以成都金沙遗址博物馆为例[J].文物天地,2022,(07):110-113.

[8]Stefan P ,Sasko R ,Thomas F .M2FaaS: Transparent and fault tolerant FaaSification of Node.js monolith code blocks[J].Future Generation Computer Systems,2022,13557-71.

[9]Krill P .Node.js 18 updates OpenSSL support, enables fetch API[J].InfoWorld.com,2022,

[10]张靓妹.观众对云展览系统的持续使用意愿研究[D].上海师范大学,2022.DOI:10.27312/d.cnki.gshsu.2022.000842.

[11]Krill P .Node.js trademarks move to OpenJS Foundation[J].InfoWorld.com,2022,

[12]Tyson M .A simple automated build pipeline for Node.js[J].InfoWorld.com,2022,

[13]莫清风.2021沉浸式展览(在线展览展示平台)排行榜[J].互联网周刊,2021,(23):70.

[14]叶莎莎,曹莹,吴静怡.档案展览虚拟仿真教学实践平台建设[J].办公室业务,2021,(23):188-190.

[15]赵婉琳,彭仕霖,杜孟新.基于Node.js的汽车数据中台系统的设计与实现[J].仪器仪表标准化与计量,2021,(05):23-26.

[16]马艳彬.基于Node.js和Vue框架的竞赛类答题平台管理系统的设计[C]//中国新闻技术工作者联合会.中国新闻技术工作者联合会2021年学术年会论文集.新华社技术局;,2021:6.DOI:10.26914/c.cnkihy.2021.047236.

[17]刘江涛,王亮亮,崔夏阳等.基于Node.js和MongoDB的铁路选线案例系统设计与实现[J].铁路计算机应用,2021,30(09):42-46.

[18]颜娟.基于Node.js的英语口语考试平台[J].微型电脑应用,2021,37(08):173-175.

[19]孙兰英.“ART.E”云展览APP界面交互设计研究[D].河南大学,2021.DOI:10.27114/d.cnki.ghnau.2021.001720.

[20]周昊.档案虚拟展览标准规范与平台构建研究[D].郑州航空工业管理学院,2021.DOI:10.27898/d.cnki.gzhgl.2021.000030.

致谢

“致谢”意味着论文的结束,也意味着自己的毕业设计顺利完成,同时也代表了自己的大学生涯即将结束,我即将要离开自己敬爱的老师和亲爱的同学们,在这里我首先要感谢的就是所有的老师,“春满江山绿满园,桃李争春露笑颜,东西南北春常在,唯有师恩留心间”,他们无论在我的学业还是在我的生活上付出了所有,对我谆谆教诲;其次我要感谢我的指导老师,他在我的整个毕业设计当中起着引导作用,每当我有困难的时候,他总会第一时间帮助我,引导我进行解决问题,而不是直接告诉我答案,“授人以鱼不如授人以渔”,指导老师的这种做法让我受益终生,同时我也从指导老师身上学习到了许多的开发技巧以及检验,这对我今后的开发起着十分重要的作用;再次,我需要感谢我的同学、室友,他们不仅仅在毕业设计上给我许多帮助意见,在大学同窗四年,他们给过我的帮助太多了,我对他们有太多的不舍,无法用言语表示,我相信在以后的人生道路上只要想到他们,我心里就会很温暖,这种友情是任何感情替代不了的;最后我还要感谢家人,感谢自己,感谢家人对我的支持,感谢自己在学业上的坚持,我相信我以后的道路会越来越好。

点赞+收藏+关注  →私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值