APP下载

基于Vue+Node.js的智能小区数据管理系统设计与实现

2023-07-10张猛何姗姗

电脑知识与技术 2023年14期
关键词:数据可视化

张猛 何姗姗

关键词:智能小区;Vue.js;Node.js;数据可视化;ECharts

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)14-0046-04

0 引言

随着人们生活水平的提高,智能小区[1]作为一种新型的住宅社区得到了快速的发展。智能小区利用互联网来实现社区管理和居民生活的智能化、高效化。对智能小区和数据可视化[2]管理进行了概述和分析,提出了设计智能小区数据可视化管理系统的必要性。本文提出了智能小区数据管理系统的方案,实现了在前后端交互创新模式,提出将信息管理系统和数据可视化相结合,利用Vue.js[3]和ECharts[4]数据库生成可视化图表库,在系统中直观、生动地显示出小区中各类信息,再利用Vue+Node.js[5]对信息数据进行后台管理。

1 Vue 相关概述

1.1 Vue.js 框架技术

Vue.js一个用于构建数据驱动的Web界面的库。Vue.js的目标是凭借更简单的API中实现相应的数据绑定和组合的视图组件。Vue.js本身不是一个全能框架——它更关注于视图层。所以它与其他框架相较更容易学习,也更容易和其他库或已有的相关项目进行整合。

1)响应数据绑定

Vue.js的核心是响应型数据绑定系统,能够容易地维持数据和DOM的同步。使用jQuery[6]手动操作DOM时,代码通常是命令式的、容易出错的。Vue.js包含数据驱动视图的概念。这意味着使用特殊语法将DOM“绑定”到普通HTML模板的底层数据。创建绑定后,DOM将保持与数据同步。因此,应用程序中的大多数逻辑都直接修改数据,而不会与DOM更新混淆。DOM时,代码通常是命令式的、容易出错的。Vue.js包含数据驱动视图的概念。这意味着使用特殊语法将DOM“绑定”到普通HTML模板的底层数据。创建绑定后,DOM将保持与数据同步。因此,应用程序中的大多数逻辑都直接修改数据,而不会与DOM更新混淆。

2)组建系统

组件系统是Vue.js另外的一个重要的概念,因为它提供了一种抽象,所以可以使用单独的可重用组件创建大型应用程序。所以考虑到这一点,几乎任何类型的应用程序的界面都可以抽象成一个组件树。

确切地说,使用Vue.js 创建的典型大型应用都将会形成一个组件树。

1.2 Node.js

Node.js[7]是一个跨平台的JavaScript运行时环境,也是一个开源的工具。它被广泛地用于各种不同类型的项目中,因为它提供了许多有用的功能。

Node.js在浏览器外使用V8 JavaScript引擎运行,因此具有出色的性能。Node.js应用程序在单个进程中运行,无须为每个请求创建新线程。在其标准库中,Node.js提供了一组异步的I/O原语,以避免JavaS?cript代码被阻塞。通常,Node.js库都是采用非阻塞编程范式编写的,使阻塞行为成为异常而非常态。当Node.js执行I/O操作时,它会在响应返回时恢复操作,使得Node.js能够使用单个服务器处理成千上万个并发连接,而无须引入管理线程并发的负担。

使用框架可以提高开发效率,其中常用的框架包括Express.js[8]。Node.js程序可以在多个服务器操作系统上运行并支持使用CoffeeScript、TypeScript 语言等其他编译成JavaScript 的語言进行编程。Coffee?Script旨在简化JavaScript语法,将其代码转换为合法的JavaScript代码。而TypeScript[9]则是微软开发的一种强化了数据类型的JavaScript变体。

Node.js采用事件驱动的编程模型,开发者可以不使用线程就能够开发出能够承载高并发的服务器。相比其他服务器端语言,Node.js的性能更为出色。它将JavaScript的易学易用性和Unix网络编程的强大功能结合在一起,成为一个事件驱动的平台。

1.3 Echarts 数据可视化

ECharts是一款使用JavaScript编写的数据可视化图表库,可制定数据可视化图表。它能适配目前大多数的浏览器,ECharts 底层采用轻量级矢量图形库ZRender,能够实现快速高效的图表渲染和交互。ECharts提供了很多种类的图表来满足不同的数据可视化需求。且其具有强大的渲染引擎,支持Canvas和SVG两种渲染方式,用户可以根据需要选择最适合自己的渲染方式。ECharts3开始独立提出坐标系的概念,图表可以跨坐标系存在。ECharts同时也能支持移动端的开发,并且支持了移动端进行放缩和平移操作,PC端也能支持鼠标的放缩和平移。

数据可视化技术。数据可视化是借用图形化手段,用图表的手段向人们传送信息,让原本枯燥的数据变得直观,并且有效地传达思想观念,将相对稀疏又复杂的数据集进行深入挖掘。

在科学可视化这个跨学科的研究领域中,目的是以二维图像或者三维立体图像的方式展示数据,能直观地从数据当中了解和收集信息。信息可视化是基于抽象数据用图表的方式直观展示出来。抽象数据不仅包含常见的数值数据,还包含非数值型数据比如地图、文本数据,信息可视化处理数据具有的是抽象数据结构,通过常见的信息可视化图表类型将抽象的数据转化为直观的可视化信息。可视化信息实现都是旨在从数据到图形空间的映射,如图3。

通过可视化技术实现可视化信息系统,一般来说需要前端相关网页绘图技术:webgl、svg、canvas,其中还涉及数据分析方法:数据清洗、统计学、数据建模等等分析内容,同时还需要具备可视化基础:可视化数据编码、可视化数据分析、可视化技术,以及一些工程类算法:统计算法、基础算法、常用的布局算法。

2 系统设计与实现

本系统通过Vue+Nodejs+ECharts 技术实现前端的数据信息系统,在确定系统需求和功能之后,开始设计数据库,设计数据表,并确定数据表的字段和关系。然后开始开发后端应用程序,需要使用Node.js编写后端应用程序。确定API的设计,例如API的URL和请求/响应格式。连接数据库,并编写数据访问层代码。在开发完后端应用程序之后,需要使用Vue.js编写前端应用程序。确定页面的设计和布局。配置页面路由,使用户可以通过url访问特定的页面。使用axios等库请求后端API获取数据。将后端API返回的数据处理为echarts所需要的格式。根据需要的数据展示方式,选择适合的echarts图表类型,并根据需求进行样式调整。项目技术概览如下:

1)前端:Vue+Vue-cli+axios+Vue-router+boot?strap[10]。

2)后台:Node.js+expressjs。

3)數据库:MySQL[11]。

系统主界面如图1所示。

使用Token[12]登录验证是一种常见的身份验证方法,用于验证用户的身份并允许他们访问受保护的资源。在这种方法中,当用户进行身份验证成功后,服务器会生成一个令牌(Token),并将其返回给客户端。这个令牌可以是一个加密字符串,用于标识用户的身份和访问权限。当用户请求访问需要身份验证的资源时,客户端会将令牌包含在请求头部中发送给服务器。服务器会验证令牌的有效性,如果令牌是有效的,则允许用户访问受保护的资源。在Token登录验证中,服务器不需要在每个请求中验证用户名和密码,这可以减少服务器的负载。此外,令牌可以设置过期时间,以确保用户必须重新进行身份验证,从而提高安全性。常见的Token登录验证技术包括JWT(JSON Web Token)、OAuth2等。这些技术已经得到广泛应用,成为现代Web应用程序的标准身份验证方法之一。

创建此系统则是需要用到Vue-cli[13]脚手架搭建框架,加快开发效率,系统主页面中共有五个router[14]路由模块,分别是控制台页面、住户信息管理页面、楼房结构页面、楼房实拍页面以及小区鸟瞰页面。通过路由redirect使主页面默认渲染控制台页面。

在Vue项目中的router文件夹中配置各个页面路由模块,使url与特定页面实现映射,代码如下:

页面内容表格通过bootstrap 渲染,数据通过Node.js连接MySQL数据库。

先在终端中导入echarts 包,然后将包配置完整后,通过调用echarts3D图表渲染出3D结构的画面,最后在后台设置完整的数据,如图12所示。

百度地图可视化。在此页面设置了3D 百度地图,开发方式如图14所示,首先注册百度地图开发者,然后调用百度地图的API库。

在百度地图开放平台,找到JavaScriptAPI,然后开始申请成为百度开发者,获得使用地图API接口,之后获取自己的服务密钥(AK码),可以将ak设置为空,在使用中只需要将ak码写入代码里即可,api也需要通过script链接引入html中,可以通过代码引入百度地图API[15],引入方法如图15所示,key后面就是自己获取的密钥(ak);利用百度API接口直接绘制。

之后引入相关地图的js文件,以及插入用到地图的JSON地图文件。下图即为插入百度地图的主要代码:

3 结束语

在设计本智能小区管理系统时,充分利用了Vue和Nodejs的优势,实现了一套功能齐全、运行稳定、易于维护的系统。

智能小区信息管理系统的设计是为了提高小区管理的效率和质量,减少人力和物力资源的浪费,提升小区居民的生活质量。通过本系统,系统管理人员可以更加方便地管理小区信息,清晰地分析小区各方面的数据信息,并及时向居民反馈信息。居民也可以通过本系统小区信息、楼房信息、部分住户数据等信息,享受更加便利和高效的服务。

在未来,希望能够进一步完善和扩展本系统,为更多小区的管理和居民的生活带来帮助。同时,也期待着更多的技术和创新的应用,为社区管理和社会发展带来更多的可能性。

猜你喜欢

数据可视化
可视化:新媒体语境下的数据、叙事与设计研究
我国数据新闻的发展困境与策略研究