余任杰,王風碩
摘要:在高速發(fā)展的信息時代,出現(xiàn)了許許多多的編程語言,在C、C++之后,出現(xiàn)了JavaScript這門語言,該文就實現(xiàn)了采用JavaScript編寫的網(wǎng)上圖書銷售系統(tǒng),該系統(tǒng)采用了Node.js搭建服務器,采用了MySQL技術來管理數(shù)據(jù)庫,并且運用Vue框架在前端搭建界面,實現(xiàn)了注冊、登錄等諸多功能。
關鍵詞:數(shù)據(jù)庫;Node.js;Vue.js
中圖分類號:TP311? ? ?文獻標識碼:A
文章編號:1009-3044(2021)34-0083-02
1 引言
自從人類邁入21世紀以來,科技領域發(fā)生了翻天覆地的變化,特別是在互聯(lián)網(wǎng)這塊來說,無疑是產(chǎn)生了一次重大的變革。隨著互聯(lián)網(wǎng)的發(fā)展,人們對于衣食住行的消費方式也有了重大的改變,不僅僅局限于線下,在線上就能實現(xiàn)需求,足不出戶享受到便利。不得不說一大分支——網(wǎng)絡銷售,像近些年的淘寶、天貓和京東就是非常火的一個銷售平臺。
而本項目做的就是基于網(wǎng)絡銷售的線上圖書系統(tǒng)。它主要運用了JavaScript技術、Node.js技術和MySQL數(shù)據(jù)庫,來設計一個線上的圖書銷售系統(tǒng)。相比于傳統(tǒng)書店,網(wǎng)上書店是一種質(zhì)量高且方便快捷的購書方式,網(wǎng)上書店相較于實體書店運用了更多信息化的科技手段,可以更加合理地對圖書進行管理[1]。
2 需求分析
2.1 功能需求分析
在本圖書銷售系統(tǒng)中,首先需要把其分為兩大部分,前半部分是用戶,后半部分是管理員。其功能板塊劃分可以分為登錄注冊功能、圖書管理功能、訂單管理功能、個人信息管理功能、后臺管理功能,如圖1所示。
用戶首先需要進行注冊,如果不注冊的話就不能進行下單,只能進行瀏覽,同時在瀏覽過程中可以進行篩選圖書類別,但是也僅僅只能局限于此。如果用戶通過注冊后實現(xiàn)登錄,那么就可以同時進行下單和填寫用戶信息。如果需要修改的話就可以到個人信息中心進行修改。
2.2 非功能需求
在非功能需求方面,重中之重的無外乎就是頁面的美觀和用戶的體驗設計方面, 如果css美化效果不好,用戶的體驗感也會下降,在美化界面上就要做到簡潔、美觀。其次在操作方面,也要能夠做到不繁雜,能夠更快地提高其響應速度,使其更加的人性化。同時可以考慮系統(tǒng)的高并發(fā)的原因,首先對于硬件來說,考慮其內(nèi)存的配置和CPU的工作效率,另一方面對于軟件來說,代碼的優(yōu)化程度是一方面,是考慮同步還是異步,還是如何設計代碼的算法,另一方面數(shù)據(jù)庫的設計,是其結構的劃分,還是設計索引和觸發(fā)器等等。
3 開發(fā)涉及語言
3.1 JavaScript語言
JavaScript語言作為一門輕量級的解釋語言,其運行僅依賴瀏覽器。主要用來為網(wǎng)頁頁面添加各種動態(tài)功能,并為用戶提供更流暢的交互體驗。除此之外,在本項目中JavaScript還作為連接前后端系統(tǒng)的紐帶。用戶通過前端頁面的人機交互操作,異步的調(diào)用后端系統(tǒng)的API接口,實現(xiàn)數(shù)據(jù)的增刪改查操作。
3.2 Node.js
Node.js看著像一門新型的編程語言,但是其實它就是JavaScript語言,只不過它不是充當腳本寫在頁面上,而是作為服務器連接著客戶端和服務端。它可以接收用戶發(fā)來的請求并做出響應,也可以操作數(shù)據(jù)庫進行記錄。使用其最大的優(yōu)點是前后端用同一種語言編程,更加的方便。Node.js主要是將Google V8引擎封裝起來,作為服務器運行平臺,用來執(zhí)行JavasScript編寫的后端腳本程序。Node.js是跨平臺的,能運行在Windows、macOS和Linux等平臺上。Node.js除了自己的標準類庫之外,還可使用大量的第三方模塊系統(tǒng)來實現(xiàn)代碼的分享和重用。
3.3 Vue.js
Vue.js和Node.js一樣,都是用的JavaScript語言。Vue.js采用了響應式編程結構,所謂響應式編程,即為保持狀態(tài)和視圖的同步[2],采用了MVVM框架,即view和model的結合。Vue.js主要通過虛擬DOM技術來減少對DOM的直接操作[3],能夠智能地計算出重新渲染組件的最小代價并應用到 DOM 操作中。并且通過盡可能簡單的 API來實現(xiàn)數(shù)據(jù)綁定,支持單向和雙向數(shù)據(jù)綁定。在本項目中,使用基于Vue.js的腳手架搭建整體框架,并將涉及到相關模塊頁面組織到對應的代碼文件夾之下[4]。
4 數(shù)據(jù)庫設計
數(shù)據(jù)庫是儲存頁面上的所有信息的地方,其根本在于大量數(shù)據(jù)的存儲,一個系統(tǒng)想要做的大,那就必不可少的要用到數(shù)據(jù)庫來儲存信息,不僅僅要儲存海量的圖書信息,還需要儲存用戶信息,包括用戶名、密碼和需要用到的地址信息。那么就不能不進行表的創(chuàng)建,大致可以分為三個表:圖書信息表(book)、用戶信息表(user)和訂單信息表(order),如表1所示,圖書信息表可以分為圖書名字、圖書價格、圖書作者、圖書出版社、圖書出版時間等。用戶信息表可以分為用戶名、密碼、電話號碼等。訂單信息表主要存儲用戶的訂單信息。MySQL作為最流行的關系型數(shù)據(jù)庫管理系統(tǒng),運行相對方便快捷[5] ,也比較穩(wěn)定,因此采用MySQL作為本項目的數(shù)據(jù)庫管理系統(tǒng)。
5 系統(tǒng)功能設計
5.1登錄注冊管理
1)登錄管理
用戶首先需要注冊一個新的賬號來實現(xiàn)對書籍的管理,同時在下一次的登錄過程中,會與用戶第一次錄入的信息在數(shù)據(jù)庫中進行比對,然后通過后端的返回值來驗證該用戶登錄情況。
2)注冊管理
這個沒有登錄管理復雜,只需要用戶進行注冊,并填寫一些自己的相關信息,然后初始化自己的密碼,最后由系統(tǒng)提交到數(shù)據(jù)庫中,以待下次能夠與登錄信息進行匹配,然后返回一個值。
5.2圖書管理
1)瀏覽圖書管理
用戶進入本系統(tǒng)中后,分為兩種狀態(tài),一種是游客狀態(tài),另一種是用戶狀態(tài)。處在游客狀態(tài)的用戶只能夠瀏覽本系統(tǒng)的圖書,只能夠看到圖書的基本信息,如果遇到需要的書籍不能夠購買,而處于另一種狀態(tài)的用戶就可以進行購買書籍,并且能夠進入個人信息中心查看自己的信息,或者去修改自己的信息。在詳情頁面左邊板塊有瀏覽的歷史記錄,還有作者的生平簡介,這樣可以使用戶能夠充分了解這本書。在底部還有這本書相類似的推薦,能夠根據(jù)用戶的喜愛來進行閱讀推薦。
2)圖書篩選管理
用戶進入到主頁后,可以看到系統(tǒng)推薦的書目,也就是瀏覽量最多的書籍或者是最新推出的書籍。在主頁下面還有各個書籍的分類,不過也僅僅只是書籍分類,要想看書籍的詳細信息,就需要進入到書籍的分類頁面或者是書籍的詳情頁面。當進入到書籍的分類頁面后,用戶可以根據(jù)上面的分類框進行不同的分類篩選,例如通過價格的篩選、書籍類別的篩選、出版社的篩選或者書籍評分的篩選。要是用戶只想看某一本書或者作者,也可以通過菜單欄的一鍵搜索功能來進行搜索書籍的信息,更甚至還可以通過書籍的評分或者價格進行一鍵升序或降序。另外,在書籍的分類頁面右邊板塊是一個個推薦書目,主要是當前最火的書籍的推薦。
5.3訂單管理
1)瀏覽訂單管理
要瀏覽訂單,必須首先滿足用戶是登錄狀態(tài),然后用戶要進入到書籍的詳情頁面進行下單,這樣就會在訂單管理中心有了一個訂單,用戶只需要進入到訂單管理中心就可以瀏覽。
2)刪除訂單管理
用戶瀏覽訂單以后,如果需要就可以點擊購買,如果不需要就可以刪除訂單,并且從訂單管理中心刪除掉,下一次瀏覽就不會再出現(xiàn)刪除過的訂單。
5.4個人信息管理
1)瀏覽個人信息管理
用戶瀏覽個人信息是在用戶注冊登錄以后才能夠瀏覽的,用戶需要查看自己的個人信息就需要進入到個人信息管理中心查看。
2)修改個人信息管理
用戶修改個人信息管理是建立在瀏覽個人信息管理上的,當用戶進入到個人信息管理中心查看后,如果用戶想修改密碼或者修改自己的個人信息就可以直接修改,并且能夠在數(shù)據(jù)庫中更新修改后的數(shù)據(jù),以免出現(xiàn)用戶信息不符的情況。
5.5后臺管理
1)修改圖書管理
這個功能與上面所有的功能不同的是,用戶是不能夠修改后臺數(shù)據(jù),這個功能是相對于管理員進行開放的,對于管理員來說,如果圖書信息在實時更新,那么就需要去修改書籍的信息,例如價格,出版社等。
2)添加圖書管理
在修改圖書的基礎上,如果需要增添新的書籍,那么就需要在數(shù)據(jù)庫里進行更新,并且能夠在前端頁面上顯示出來,管理員需要注意書籍的準確性。以免出現(xiàn)用戶與后臺的沖突。
6 測試結論
經(jīng)過UAT測試,該系統(tǒng)能夠滿足所有業(yè)務功能。但是作為一個商業(yè)應用來說,還需要在數(shù)據(jù)庫安全方面做一些加固,防止業(yè)務數(shù)據(jù)的泄露和丟失。比如進行ID信息的混淆、密碼強度的增加、數(shù)據(jù)的定時備份等,這樣可以使得該系統(tǒng)能夠更加的完善。
7 結束語
本系統(tǒng)采用了Vue.js、Node.js、JavaScript語言結合MySQL數(shù)據(jù)庫創(chuàng)建了一個網(wǎng)上圖書銷售系統(tǒng),相比較以前的傳統(tǒng)銷售模式來看,減少了用戶圖書購買時間,能夠讓用戶足不出戶就能夠獲得書籍。在書籍搜索方面,采用多維度搜索策略,對于書籍的檢索也能夠更方便快捷,使購買書籍的整個過程更加的簡潔高效。另外,圖書管理員也不再需要每天去清點書籍,只需要通過本系統(tǒng)圖書管理功能進行盤點即可,大大提高了工作效率。
參考文獻:
[1] 王華威.基于Node.js的網(wǎng)上書店設計與實現(xiàn)[J].中國新技術新產(chǎn)品,2020(22):43-46.
[2] 陳陸揚.Vue.js前端開發(fā):快速入門與專業(yè)應用[M].北京:人民郵電出版社,2017.
[3] 胡開華,張玉靜,陳明祿,等.基于Vue.js的Web應用開發(fā)教學案例設計與實現(xiàn)[J].信息與電腦(理論版),2021,33(18):91-94.
[4] 王思辰,李林.基于Vue.js的電商管理平臺的設計與實現(xiàn)[J].現(xiàn)代信息科技,2021,5(14):13-15+20.
[5] 朱寶善,陳光浦,李鵬程,等.基于B/S模式和MySQL的人力資源管理系統(tǒng)設計[J].現(xiàn)代電子技術,2021,44(14):65-69.
【通聯(lián)編輯:梁書】