国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Node.js的網(wǎng)上圖書銷售系統(tǒng)設(shè)計(jì)

2021-03-04 11:36:52余任杰,王風(fēng)碩
電腦知識(shí)與技術(shù) 2021年34期
關(guān)鍵詞:數(shù)據(jù)庫(kù)

余任杰,王風(fēng)碩

摘要:在高速發(fā)展的信息時(shí)代,出現(xiàn)了許許多多的編程語(yǔ)言,在C、C++之后,出現(xiàn)了JavaScript這門語(yǔ)言,該文就實(shí)現(xiàn)了采用JavaScript編寫的網(wǎng)上圖書銷售系統(tǒng),該系統(tǒng)采用了Node.js搭建服務(wù)器,采用了MySQL技術(shù)來(lái)管理數(shù)據(jù)庫(kù),并且運(yùn)用Vue框架在前端搭建界面,實(shí)現(xiàn)了注冊(cè)、登錄等諸多功能。

關(guān)鍵詞:數(shù)據(jù)庫(kù);Node.js;Vue.js

中圖分類號(hào):TP311? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2021)34-0083-02

1 引言

自從人類邁入21世紀(jì)以來(lái),科技領(lǐng)域發(fā)生了翻天覆地的變化,特別是在互聯(lián)網(wǎng)這塊來(lái)說(shuō),無(wú)疑是產(chǎn)生了一次重大的變革。隨著互聯(lián)網(wǎng)的發(fā)展,人們對(duì)于衣食住行的消費(fèi)方式也有了重大的改變,不僅僅局限于線下,在線上就能實(shí)現(xiàn)需求,足不出戶享受到便利。不得不說(shuō)一大分支——網(wǎng)絡(luò)銷售,像近些年的淘寶、天貓和京東就是非?;鸬囊粋€(gè)銷售平臺(tái)。

而本項(xiàng)目做的就是基于網(wǎng)絡(luò)銷售的線上圖書系統(tǒng)。它主要運(yùn)用了JavaScript技術(shù)、Node.js技術(shù)和MySQL數(shù)據(jù)庫(kù),來(lái)設(shè)計(jì)一個(gè)線上的圖書銷售系統(tǒng)。相比于傳統(tǒng)書店,網(wǎng)上書店是一種質(zhì)量高且方便快捷的購(gòu)書方式,網(wǎng)上書店相較于實(shí)體書店運(yùn)用了更多信息化的科技手段,可以更加合理地對(duì)圖書進(jìn)行管理[1]。

2 需求分析

2.1 功能需求分析

在本圖書銷售系統(tǒng)中,首先需要把其分為兩大部分,前半部分是用戶,后半部分是管理員。其功能板塊劃分可以分為登錄注冊(cè)功能、圖書管理功能、訂單管理功能、個(gè)人信息管理功能、后臺(tái)管理功能,如圖1所示。

用戶首先需要進(jìn)行注冊(cè),如果不注冊(cè)的話就不能進(jìn)行下單,只能進(jìn)行瀏覽,同時(shí)在瀏覽過(guò)程中可以進(jìn)行篩選圖書類別,但是也僅僅只能局限于此。如果用戶通過(guò)注冊(cè)后實(shí)現(xiàn)登錄,那么就可以同時(shí)進(jìn)行下單和填寫用戶信息。如果需要修改的話就可以到個(gè)人信息中心進(jìn)行修改。

2.2 非功能需求

在非功能需求方面,重中之重的無(wú)外乎就是頁(yè)面的美觀和用戶的體驗(yàn)設(shè)計(jì)方面, 如果css美化效果不好,用戶的體驗(yàn)感也會(huì)下降,在美化界面上就要做到簡(jiǎn)潔、美觀。其次在操作方面,也要能夠做到不繁雜,能夠更快地提高其響應(yīng)速度,使其更加的人性化。同時(shí)可以考慮系統(tǒng)的高并發(fā)的原因,首先對(duì)于硬件來(lái)說(shuō),考慮其內(nèi)存的配置和CPU的工作效率,另一方面對(duì)于軟件來(lái)說(shuō),代碼的優(yōu)化程度是一方面,是考慮同步還是異步,還是如何設(shè)計(jì)代碼的算法,另一方面數(shù)據(jù)庫(kù)的設(shè)計(jì),是其結(jié)構(gòu)的劃分,還是設(shè)計(jì)索引和觸發(fā)器等等。

3 開(kāi)發(fā)涉及語(yǔ)言

3.1 JavaScript語(yǔ)言

JavaScript語(yǔ)言作為一門輕量級(jí)的解釋語(yǔ)言,其運(yùn)行僅依賴瀏覽器。主要用來(lái)為網(wǎng)頁(yè)頁(yè)面添加各種動(dòng)態(tài)功能,并為用戶提供更流暢的交互體驗(yàn)。除此之外,在本項(xiàng)目中JavaScript還作為連接前后端系統(tǒng)的紐帶。用戶通過(guò)前端頁(yè)面的人機(jī)交互操作,異步的調(diào)用后端系統(tǒng)的API接口,實(shí)現(xiàn)數(shù)據(jù)的增刪改查操作。

3.2 Node.js

Node.js看著像一門新型的編程語(yǔ)言,但是其實(shí)它就是JavaScript語(yǔ)言,只不過(guò)它不是充當(dāng)腳本寫在頁(yè)面上,而是作為服務(wù)器連接著客戶端和服務(wù)端。它可以接收用戶發(fā)來(lái)的請(qǐng)求并做出響應(yīng),也可以操作數(shù)據(jù)庫(kù)進(jìn)行記錄。使用其最大的優(yōu)點(diǎn)是前后端用同一種語(yǔ)言編程,更加的方便。Node.js主要是將Google V8引擎封裝起來(lái),作為服務(wù)器運(yùn)行平臺(tái),用來(lái)執(zhí)行JavasScript編寫的后端腳本程序。Node.js是跨平臺(tái)的,能運(yùn)行在Windows、macOS和Linux等平臺(tái)上。Node.js除了自己的標(biāo)準(zhǔn)類庫(kù)之外,還可使用大量的第三方模塊系統(tǒng)來(lái)實(shí)現(xiàn)代碼的分享和重用。

3.3 Vue.js

Vue.js和Node.js一樣,都是用的JavaScript語(yǔ)言。Vue.js采用了響應(yīng)式編程結(jié)構(gòu),所謂響應(yīng)式編程,即為保持狀態(tài)和視圖的同步[2],采用了MVVM框架,即view和model的結(jié)合。Vue.js主要通過(guò)虛擬DOM技術(shù)來(lái)減少對(duì)DOM的直接操作[3],能夠智能地計(jì)算出重新渲染組件的最小代價(jià)并應(yīng)用到 DOM 操作中。并且通過(guò)盡可能簡(jiǎn)單的 API來(lái)實(shí)現(xiàn)數(shù)據(jù)綁定,支持單向和雙向數(shù)據(jù)綁定。在本項(xiàng)目中,使用基于Vue.js的腳手架搭建整體框架,并將涉及到相關(guān)模塊頁(yè)面組織到對(duì)應(yīng)的代碼文件夾之下[4]。

4 數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)是儲(chǔ)存頁(yè)面上的所有信息的地方,其根本在于大量數(shù)據(jù)的存儲(chǔ),一個(gè)系統(tǒng)想要做的大,那就必不可少的要用到數(shù)據(jù)庫(kù)來(lái)儲(chǔ)存信息,不僅僅要儲(chǔ)存海量的圖書信息,還需要儲(chǔ)存用戶信息,包括用戶名、密碼和需要用到的地址信息。那么就不能不進(jìn)行表的創(chuàng)建,大致可以分為三個(gè)表:圖書信息表(book)、用戶信息表(user)和訂單信息表(order),如表1所示,圖書信息表可以分為圖書名字、圖書價(jià)格、圖書作者、圖書出版社、圖書出版時(shí)間等。用戶信息表可以分為用戶名、密碼、電話號(hào)碼等。訂單信息表主要存儲(chǔ)用戶的訂單信息。MySQL作為最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),運(yùn)行相對(duì)方便快捷[5] ,也比較穩(wěn)定,因此采用MySQL作為本項(xiàng)目的數(shù)據(jù)庫(kù)管理系統(tǒng)。

5 系統(tǒng)功能設(shè)計(jì)

5.1登錄注冊(cè)管理

1)登錄管理

用戶首先需要注冊(cè)一個(gè)新的賬號(hào)來(lái)實(shí)現(xiàn)對(duì)書籍的管理,同時(shí)在下一次的登錄過(guò)程中,會(huì)與用戶第一次錄入的信息在數(shù)據(jù)庫(kù)中進(jìn)行比對(duì),然后通過(guò)后端的返回值來(lái)驗(yàn)證該用戶登錄情況。

2)注冊(cè)管理

這個(gè)沒(méi)有登錄管理復(fù)雜,只需要用戶進(jìn)行注冊(cè),并填寫一些自己的相關(guān)信息,然后初始化自己的密碼,最后由系統(tǒng)提交到數(shù)據(jù)庫(kù)中,以待下次能夠與登錄信息進(jìn)行匹配,然后返回一個(gè)值。

5.2圖書管理

1)瀏覽圖書管理

用戶進(jìn)入本系統(tǒng)中后,分為兩種狀態(tài),一種是游客狀態(tài),另一種是用戶狀態(tài)。處在游客狀態(tài)的用戶只能夠?yàn)g覽本系統(tǒng)的圖書,只能夠看到圖書的基本信息,如果遇到需要的書籍不能夠購(gòu)買,而處于另一種狀態(tài)的用戶就可以進(jìn)行購(gòu)買書籍,并且能夠進(jìn)入個(gè)人信息中心查看自己的信息,或者去修改自己的信息。在詳情頁(yè)面左邊板塊有瀏覽的歷史記錄,還有作者的生平簡(jiǎn)介,這樣可以使用戶能夠充分了解這本書。在底部還有這本書相類似的推薦,能夠根據(jù)用戶的喜愛(ài)來(lái)進(jìn)行閱讀推薦。

2)圖書篩選管理

用戶進(jìn)入到主頁(yè)后,可以看到系統(tǒng)推薦的書目,也就是瀏覽量最多的書籍或者是最新推出的書籍。在主頁(yè)下面還有各個(gè)書籍的分類,不過(guò)也僅僅只是書籍分類,要想看書籍的詳細(xì)信息,就需要進(jìn)入到書籍的分類頁(yè)面或者是書籍的詳情頁(yè)面。當(dāng)進(jìn)入到書籍的分類頁(yè)面后,用戶可以根據(jù)上面的分類框進(jìn)行不同的分類篩選,例如通過(guò)價(jià)格的篩選、書籍類別的篩選、出版社的篩選或者書籍評(píng)分的篩選。要是用戶只想看某一本書或者作者,也可以通過(guò)菜單欄的一鍵搜索功能來(lái)進(jìn)行搜索書籍的信息,更甚至還可以通過(guò)書籍的評(píng)分或者價(jià)格進(jìn)行一鍵升序或降序。另外,在書籍的分類頁(yè)面右邊板塊是一個(gè)個(gè)推薦書目,主要是當(dāng)前最火的書籍的推薦。

5.3訂單管理

1)瀏覽訂單管理

要瀏覽訂單,必須首先滿足用戶是登錄狀態(tài),然后用戶要進(jìn)入到書籍的詳情頁(yè)面進(jìn)行下單,這樣就會(huì)在訂單管理中心有了一個(gè)訂單,用戶只需要進(jìn)入到訂單管理中心就可以瀏覽。

2)刪除訂單管理

用戶瀏覽訂單以后,如果需要就可以點(diǎn)擊購(gòu)買,如果不需要就可以刪除訂單,并且從訂單管理中心刪除掉,下一次瀏覽就不會(huì)再出現(xiàn)刪除過(guò)的訂單。

5.4個(gè)人信息管理

1)瀏覽個(gè)人信息管理

用戶瀏覽個(gè)人信息是在用戶注冊(cè)登錄以后才能夠?yàn)g覽的,用戶需要查看自己的個(gè)人信息就需要進(jìn)入到個(gè)人信息管理中心查看。

2)修改個(gè)人信息管理

用戶修改個(gè)人信息管理是建立在瀏覽個(gè)人信息管理上的,當(dāng)用戶進(jìn)入到個(gè)人信息管理中心查看后,如果用戶想修改密碼或者修改自己的個(gè)人信息就可以直接修改,并且能夠在數(shù)據(jù)庫(kù)中更新修改后的數(shù)據(jù),以免出現(xiàn)用戶信息不符的情況。

5.5后臺(tái)管理

1)修改圖書管理

這個(gè)功能與上面所有的功能不同的是,用戶是不能夠修改后臺(tái)數(shù)據(jù),這個(gè)功能是相對(duì)于管理員進(jìn)行開(kāi)放的,對(duì)于管理員來(lái)說(shuō),如果圖書信息在實(shí)時(shí)更新,那么就需要去修改書籍的信息,例如價(jià)格,出版社等。

2)添加圖書管理

在修改圖書的基礎(chǔ)上,如果需要增添新的書籍,那么就需要在數(shù)據(jù)庫(kù)里進(jìn)行更新,并且能夠在前端頁(yè)面上顯示出來(lái),管理員需要注意書籍的準(zhǔn)確性。以免出現(xiàn)用戶與后臺(tái)的沖突。

6 測(cè)試結(jié)論

經(jīng)過(guò)UAT測(cè)試,該系統(tǒng)能夠滿足所有業(yè)務(wù)功能。但是作為一個(gè)商業(yè)應(yīng)用來(lái)說(shuō),還需要在數(shù)據(jù)庫(kù)安全方面做一些加固,防止業(yè)務(wù)數(shù)據(jù)的泄露和丟失。比如進(jìn)行ID信息的混淆、密碼強(qiáng)度的增加、數(shù)據(jù)的定時(shí)備份等,這樣可以使得該系統(tǒng)能夠更加的完善。

7 結(jié)束語(yǔ)

本系統(tǒng)采用了Vue.js、Node.js、JavaScript語(yǔ)言結(jié)合MySQL數(shù)據(jù)庫(kù)創(chuàng)建了一個(gè)網(wǎng)上圖書銷售系統(tǒng),相比較以前的傳統(tǒng)銷售模式來(lái)看,減少了用戶圖書購(gòu)買時(shí)間,能夠讓用戶足不出戶就能夠獲得書籍。在書籍搜索方面,采用多維度搜索策略,對(duì)于書籍的檢索也能夠更方便快捷,使購(gòu)買書籍的整個(gè)過(guò)程更加的簡(jiǎn)潔高效。另外,圖書管理員也不再需要每天去清點(diǎn)書籍,只需要通過(guò)本系統(tǒng)圖書管理功能進(jìn)行盤點(diǎn)即可,大大提高了工作效率。

參考文獻(xiàn):

[1] 王華威.基于Node.js的網(wǎng)上書店設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)新技術(shù)新產(chǎn)品,2020(22):43-46.

[2] 陳陸揚(yáng).Vue.js前端開(kāi)發(fā):快速入門與專業(yè)應(yīng)用[M].北京:人民郵電出版社,2017.

[3] 胡開(kāi)華,張玉靜,陳明祿,等.基于Vue.js的Web應(yīng)用開(kāi)發(fā)教學(xué)案例設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦(理論版),2021,33(18):91-94.

[4] 王思辰,李林.基于Vue.js的電商管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代信息科技,2021,5(14):13-15+20.

[5] 朱寶善,陳光浦,李鵬程,等.基于B/S模式和MySQL的人力資源管理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2021,44(14):65-69.

【通聯(lián)編輯:梁書】

猜你喜歡
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
开化县| 蓝田县| 柏乡县| 阿克陶县| 鄂托克旗| 霍州市| 铜川市| 友谊县| 镇巴县| 奇台县| 宣城市| 荆门市| 茶陵县| 富源县| 襄垣县| 梅河口市| 沂南县| 阿巴嘎旗| 滨海县| 扎兰屯市| 贡嘎县| 天长市| 汪清县| 施秉县| 广南县| 神农架林区| 千阳县| 全南县| 绥江县| 河间市| 五莲县| 时尚| 永定县| 西安市| 邯郸县| 峡江县| 资溪县| 南靖县| 怀宁县| 平遥县| 历史|