APP下载

基于Node.js的网上图书销售系统设计

2021-03-04余任杰,王风硕

电脑知识与技术 2021年34期

余任杰,王风硕

摘要:在高速发展的信息时代,出现了许许多多的编程语言,在C、C++之后,出现了JavaScript这门语言,该文就实现了采用JavaScript编写的网上图书销售系统,该系统采用了Node.js搭建服务器,采用了MySQL技术来管理数据库,并且运用Vue框架在前端搭建界面,实现了注册、登录等诸多功能。

关键词:数据库;Node.js;Vue.js

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

文章编号:1009-3044(2021)34-0083-02

1 引言

自从人类迈入21世纪以来,科技领域发生了翻天覆地的变化,特别是在互联网这块来说,无疑是产生了一次重大的变革。随着互联网的发展,人们对于衣食住行的消费方式也有了重大的改变,不仅仅局限于线下,在线上就能实现需求,足不出户享受到便利。不得不说一大分支——网络销售,像近些年的淘宝、天猫和京东就是非常火的一个销售平台。

而本项目做的就是基于网络销售的线上图书系统。它主要运用了JavaScript技术、Node.js技术和MySQL数据库,来设计一个线上的图书销售系统。相比于传统书店,网上书店是一种质量高且方便快捷的购书方式,网上书店相较于实体书店运用了更多信息化的科技手段,可以更加合理地对图书进行管理[1]。

2 需求分析

2.1 功能需求分析

在本图书销售系统中,首先需要把其分为两大部分,前半部分是用户,后半部分是管理员。其功能板块划分可以分为登录注册功能、图书管理功能、订单管理功能、个人信息管理功能、后台管理功能,如图1所示。

用户首先需要进行注册,如果不注册的话就不能进行下单,只能进行浏览,同时在浏览过程中可以进行筛选图书类别,但是也仅仅只能局限于此。如果用户通过注册后實现登录,那么就可以同时进行下单和填写用户信息。如果需要修改的话就可以到个人信息中心进行修改。

2.2 非功能需求

在非功能需求方面,重中之重的无外乎就是页面的美观和用户的体验设计方面, 如果css美化效果不好,用户的体验感也会下降,在美化界面上就要做到简洁、美观。其次在操作方面,也要能够做到不繁杂,能够更快地提高其响应速度,使其更加的人性化。同时可以考虑系统的高并发的原因,首先对于硬件来说,考虑其内存的配置和CPU的工作效率,另一方面对于软件来说,代码的优化程度是一方面,是考虑同步还是异步,还是如何设计代码的算法,另一方面数据库的设计,是其结构的划分,还是设计索引和触发器等等。

3 开发涉及语言

3.1 JavaScript语言

JavaScript语言作为一门轻量级的解释语言,其运行仅依赖浏览器。主要用来为网页页面添加各种动态功能,并为用户提供更流畅的交互体验。除此之外,在本项目中JavaScript还作为连接前后端系统的纽带。用户通过前端页面的人机交互操作,异步的调用后端系统的API接口,实现数据的增删改查操作。

3.2 Node.js

Node.js看着像一门新型的编程语言,但是其实它就是JavaScript语言,只不过它不是充当脚本写在页面上,而是作为服务器连接着客户端和服务端。它可以接收用户发来的请求并做出响应,也可以操作数据库进行记录。使用其最大的优点是前后端用同一种语言编程,更加的方便。Node.js主要是将Google V8引擎封装起来,作为服务器运行平台,用来执行JavasScript编写的后端脚本程序。Node.js是跨平台的,能运行在Windows、macOS和Linux等平台上。Node.js除了自己的标准类库之外,还可使用大量的第三方模块系统来实现代码的分享和重用。

3.3 Vue.js

Vue.js和Node.js一样,都是用的JavaScript语言。Vue.js采用了响应式编程结构,所谓响应式编程,即为保持状态和视图的同步[2],采用了MVVM框架,即view和model的结合。Vue.js主要通过虚拟DOM技术来减少对DOM的直接操作[3],能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作中。并且通过尽可能简单的 API来实现数据绑定,支持单向和双向数据绑定。在本项目中,使用基于Vue.js的脚手架搭建整体框架,并将涉及到相关模块页面组织到对应的代码文件夹之下[4]。

4 数据库设计

数据库是储存页面上的所有信息的地方,其根本在于大量数据的存储,一个系统想要做的大,那就必不可少的要用到数据库来储存信息,不仅仅要储存海量的图书信息,还需要储存用户信息,包括用户名、密码和需要用到的地址信息。那么就不能不进行表的创建,大致可以分为三个表:图书信息表(book)、用户信息表(user)和订单信息表(order),如表1所示,图书信息表可以分为图书名字、图书价格、图书作者、图书出版社、图书出版时间等。用户信息表可以分为用户名、密码、电话号码等。订单信息表主要存储用户的订单信息。MySQL作为最流行的关系型数据库管理系统,运行相对方便快捷[5] ,也比较稳定,因此采用MySQL作为本项目的数据库管理系统。

5 系统功能设计

5.1登录注册管理

1)登录管理

用户首先需要注册一个新的账号来实现对书籍的管理,同时在下一次的登录过程中,会与用户第一次录入的信息在数据库中进行比对,然后通过后端的返回值来验证该用户登录情况。

2)注册管理

这个没有登录管理复杂,只需要用户进行注册,并填写一些自己的相关信息,然后初始化自己的密码,最后由系统提交到数据库中,以待下次能够与登录信息进行匹配,然后返回一个值。

5.2图书管理

1)浏览图书管理

用户进入本系统中后,分为两种状态,一种是游客状态,另一种是用户状态。处在游客状态的用户只能够浏览本系统的图书,只能够看到图书的基本信息,如果遇到需要的书籍不能够购买,而处于另一种状态的用户就可以进行购买书籍,并且能够进入个人信息中心查看自己的信息,或者去修改自己的信息。在详情页面左边板块有浏览的历史记录,还有作者的生平简介,这样可以使用户能够充分了解这本书。在底部还有这本书相类似的推荐,能够根据用户的喜爱来进行阅读推荐。

2)图书筛选管理

用户进入到主页后,可以看到系统推荐的书目,也就是浏览量最多的书籍或者是最新推出的书籍。在主页下面还有各个书籍的分类,不过也仅仅只是书籍分类,要想看书籍的详细信息,就需要进入到书籍的分类页面或者是书籍的详情页面。当进入到书籍的分类页面后,用户可以根据上面的分类框进行不同的分类筛选,例如通过价格的筛选、书籍类别的筛选、出版社的筛选或者书籍评分的筛选。要是用户只想看某一本书或者作者,也可以通过菜单栏的一键搜索功能来进行搜索书籍的信息,更甚至还可以通过书籍的评分或者价格进行一键升序或降序。另外,在书籍的分类页面右边板块是一个个推荐书目,主要是当前最火的书籍的推荐。

5.3订单管理

1)浏览订单管理

要浏览订单,必须首先满足用户是登录状态,然后用户要进入到书籍的详情页面进行下单,这样就会在订单管理中心有了一个订单,用戶只需要进入到订单管理中心就可以浏览。

2)删除订单管理

用户浏览订单以后,如果需要就可以点击购买,如果不需要就可以删除订单,并且从订单管理中心删除掉,下一次浏览就不会再出现删除过的订单。

5.4个人信息管理

1)浏览个人信息管理

用户浏览个人信息是在用户注册登录以后才能够浏览的,用户需要查看自己的个人信息就需要进入到个人信息管理中心查看。

2)修改个人信息管理

用户修改个人信息管理是建立在浏览个人信息管理上的,当用户进入到个人信息管理中心查看后,如果用户想修改密码或者修改自己的个人信息就可以直接修改,并且能够在数据库中更新修改后的数据,以免出现用户信息不符的情况。

5.5后台管理

1)修改图书管理

这个功能与上面所有的功能不同的是,用户是不能够修改后台数据,这个功能是相对于管理员进行开放的,对于管理员来说,如果图书信息在实时更新,那么就需要去修改书籍的信息,例如价格,出版社等。

2)添加图书管理

在修改图书的基础上,如果需要增添新的书籍,那么就需要在数据库里进行更新,并且能够在前端页面上显示出来,管理员需要注意书籍的准确性。以免出现用户与后台的冲突。

6 测试结论

经过UAT测试,该系统能够满足所有业务功能。但是作为一个商业应用来说,还需要在数据库安全方面做一些加固,防止业务数据的泄露和丢失。比如进行ID信息的混淆、密码强度的增加、数据的定时备份等,这样可以使得该系统能够更加的完善。

7 结束语

本系统采用了Vue.js、Node.js、JavaScript语言结合MySQL数据库创建了一个网上图书销售系统,相比较以前的传统销售模式来看,减少了用户图书购买时间,能够让用户足不出户就能够获得书籍。在书籍搜索方面,采用多维度搜索策略,对于书籍的检索也能够更方便快捷,使购买书籍的整个过程更加的简洁高效。另外,图书管理员也不再需要每天去清点书籍,只需要通过本系统图书管理功能进行盘点即可,大大提高了工作效率。

参考文献:

[1] 王华威.基于Node.js的网上书店设计与实现[J].中国新技术新产品,2020(22):43-46.

[2] 陈陆扬.Vue.js前端开发:快速入门与专业应用[M].北京:人民邮电出版社,2017.

[3] 胡开华,张玉静,陈明禄,等.基于Vue.js的Web应用开发教学案例设计与实现[J].信息与电脑(理论版),2021,33(18):91-94.

[4] 王思辰,李林.基于Vue.js的电商管理平台的设计与实现[J].现代信息科技,2021,5(14):13-15+20.

[5] 朱宝善,陈光浦,李鹏程,等.基于B/S模式和MySQL的人力资源管理系统设计[J].现代电子技术,2021,44(14):65-69.

【通联编辑:梁书】