陳小云 陳宇
(南京理工大學(xué)紫金學(xué)院 江蘇省南京市 210046)
禮物作為人們傳達(dá)心意的載體,在人際交往中起著非常重要的作用。人們?cè)谏鐣?huì)交往中,難免會(huì)遇到需要贈(zèng)送禮品的時(shí)候,如何簡(jiǎn)單高效地選定一份合適的禮品就顯得尤為關(guān)鍵。去傳統(tǒng)的線下實(shí)體店選購(gòu),不僅商品種類有限制,而且耗時(shí)耗力。伴隨著計(jì)算機(jī)以及網(wǎng)上商務(wù)的迅速發(fā)展,網(wǎng)上購(gòu)物逐漸普及,人們?cè)絹?lái)越喜歡在網(wǎng)上購(gòu)買禮物。在線的電子商城有更多的選擇,也相對(duì)更加方便。但是也正因?yàn)檫x擇太多,往往人們花費(fèi)了大量的時(shí)間挑得眼花繚亂,也未必能挑選到滿意的禮物。禮品推薦平臺(tái)致力于滿足人們挑選禮物時(shí)方方面面的需求,實(shí)現(xiàn)精準(zhǔn)推薦,提高效率,節(jié)約時(shí)間。
基于微信小程序的禮物推薦系統(tǒng)有兩類角色,分別是管理員和普通用戶。管理員主要是對(duì)平臺(tái)數(shù)據(jù)進(jìn)行管理,包括禮物類別及適用場(chǎng)景管理、禮物管理、用戶管理等,普通用戶即是平臺(tái)功能的主要使用者,可以方便快捷地挑選禮物。
微信小程序是一種基于微信的應(yīng)用方式。用戶只需要打開(kāi)微信就能夠使用,并不需要花費(fèi)時(shí)間下載。上線之后,微信小程序開(kāi)始逐漸替代掉手機(jī)的應(yīng)用軟件。本平臺(tái)前端開(kāi)發(fā)使用微信開(kāi)發(fā)者工具,后端開(kāi)發(fā)采用HbuilderX。
在組件使用的過(guò)程中,要在Json文件中對(duì)自定義的組件進(jìn)行聲明。另外,也需要將組件的模板寫入WXML文件。最后在WXSS文件中放入slot樣式組件,表示插槽。類似Vue中的slot。最后,需要用Component()來(lái)注冊(cè),同時(shí)提供組件的屬性定義、內(nèi)部數(shù)據(jù)和自定義的方法。
微信小程序的API相當(dāng)于是微信提供的一些函數(shù)。它調(diào)用微信小程序的底層接口,從而進(jìn)行一些微信小程序特有的操作。比如一鍵登錄、獲取用戶信息等。在本系統(tǒng)中,主要用到了wx.login(獲取用戶登錄授權(quán))、wx.getUserProfile(獲取用戶信息)、wx.navigateTo(頁(yè)面跳轉(zhuǎn))、wx.request(后端請(qǐng)求)等API。微信小程序官方對(duì)于這些API的封裝,可以使開(kāi)發(fā)人員的編碼數(shù)量降低,也可以提升效率,同時(shí)起到規(guī)范代碼的作用。
本系統(tǒng)使用開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)MySQL來(lái)存儲(chǔ)禮品數(shù)據(jù)。MySQL可以支持多種開(kāi)發(fā)系統(tǒng)的運(yùn)行,同時(shí)也支持各種編程語(yǔ)言。采用MySQL數(shù)據(jù)庫(kù),可以讓本平臺(tái)在設(shè)計(jì)與實(shí)現(xiàn)的時(shí)候更加方便和快捷,對(duì)系統(tǒng)的穩(wěn)定性也有很大的幫助。
禮品推薦平臺(tái)旨在幫助用戶解決送什么禮品的問(wèn)題,致力于讓用戶快速高效地選到合乎心意的禮品。系統(tǒng)有兩類用戶,一類是普通用戶,一類是管理員。
普通用戶對(duì)平臺(tái)的需求主要包括:用戶登錄,瀏覽和挑選禮品,將選中的禮品添加至購(gòu)物車,填寫收件人地址信息,下訂單等。
(1)用戶通過(guò)微信授權(quán)即可登錄禮品推薦小程序平臺(tái)。
(2)用戶可以根據(jù)平臺(tái)首頁(yè)的分類及導(dǎo)航瀏覽禮品,結(jié)合自己的需求進(jìn)行挑選。
(3)用戶將選中的禮品添加至購(gòu)物車,并可以調(diào)整購(gòu)物車中的禮品數(shù)量。
(4)用戶可以管理收件人地址信息,可以是用戶自己的地址,也可以是禮品接收者的地址。
(5)用戶可以選中購(gòu)物車中的部分或全部禮品進(jìn)行結(jié)算,新增訂單,并能跟蹤查詢訂單狀態(tài)。
對(duì)于一個(gè)禮品推薦平臺(tái),有管理員來(lái)管理用戶信息以及設(shè)置禮品信息是非常重要的。
(1)管理員可以對(duì)禮品的分類進(jìn)行管理,這對(duì)平臺(tái)能否實(shí)現(xiàn)友好的分類和導(dǎo)航是十分重要的。
(2)管理員可以管理禮品的信息,包含禮品的上下架等。
(3)管理員可以實(shí)現(xiàn)對(duì)訂單的管理,比如訂單狀態(tài)的更改。
(4)為保證特殊情況的可處理,對(duì)用戶信息和地址信息的管理也是不可或缺的。
根據(jù)前面的需求分析,遵照模塊化的劃分思想對(duì)整個(gè)系統(tǒng)的功能模塊進(jìn)行劃分。本系統(tǒng)的功能可具體劃分為七個(gè)模塊:登錄模塊、購(gòu)物車模塊、訂單模塊、分享模塊、禮物詳情模塊、管理員模塊、地址模塊。圖1為系統(tǒng)功能模塊圖。在各個(gè)模塊之中,再根據(jù)具體的需求可以細(xì)分為多個(gè)不同功能的子模塊。
圖1:系統(tǒng)功能模塊圖
禮品推薦平臺(tái)使用MySQL數(shù)據(jù)庫(kù),MySQL數(shù)據(jù)庫(kù)是在一些中小型網(wǎng)站中應(yīng)用最為廣泛的數(shù)據(jù)庫(kù)。按照上文的功能模塊規(guī)劃,設(shè)計(jì)本平臺(tái)的數(shù)據(jù)庫(kù)主要由這幾個(gè)表組成:用戶信息表、禮品類型表、禮品表、訂單表、收件地址表、銷售統(tǒng)計(jì)表等。以數(shù)據(jù)庫(kù)中商品表為例,該表設(shè)置eid字段為主鍵,以便其在數(shù)據(jù)庫(kù)中避免多次重復(fù)地存儲(chǔ)。該表存儲(chǔ)了禮品的商品編號(hào)、價(jià)格、類別、名稱以及添加時(shí)間和介紹等。具體如表1所示,其余表不在這里一一贅述。
表1:禮品表
在創(chuàng)建小程序項(xiàng)目之前,需要先在官方網(wǎng)站注冊(cè)每個(gè)用戶獨(dú)有的小程序APPID。創(chuàng)建完之后,就可以在項(xiàng)目創(chuàng)建時(shí)填入之前注冊(cè)好的APPID,點(diǎn)擊創(chuàng)建就可以完成項(xiàng)目的搭建。創(chuàng)建完小程序項(xiàng)目,就可以進(jìn)行程序的開(kāi)發(fā)與調(diào)試。
用戶點(diǎn)擊小程序進(jìn)入時(shí),會(huì)彈出消息框讓用戶進(jìn)行選擇,是否要授權(quán)小程序。在微信公眾號(hào)中,可以通過(guò)微信的API接口來(lái)獲取當(dāng)前用戶的微信賬戶信息,即直接用微信號(hào)登錄。只有用戶微信授權(quán)登錄之后,才能訪問(wèn)平臺(tái)的內(nèi)部資源,這很好地保證了平臺(tái)的安全性。
登錄功能的主要流程為:通過(guò)wx.getStorageSync接口檢查本地緩存中是否有wxid等數(shù)據(jù),以此來(lái)檢查是否登錄,如果沒(méi)有登錄則跳轉(zhuǎn)到登錄頁(yè)面;再用wx.getUserProfile獲取用戶的基本信息,并保存到本地;最后調(diào)用后端user.php,將用戶的頭像、昵稱保存到數(shù)據(jù)庫(kù)中。
當(dāng)用戶進(jìn)入小程序后,映入眼簾的是禮品平臺(tái)的首頁(yè)。小程序的底部會(huì)有一個(gè)tabbar導(dǎo)航欄。分為首頁(yè)、購(gòu)物車和我的。在tabbar結(jié)構(gòu)里還增添了小圖標(biāo),這樣使底部的導(dǎo)航欄看起來(lái)清晰明了。
禮品的分類導(dǎo)航是否好用很大程度上決定了該平臺(tái)的易用性。在這個(gè)界面,將每一個(gè)禮品種類存放到一個(gè)大的框架中。點(diǎn)擊其中的每一個(gè)圖標(biāo)可以進(jìn)入禮品的一個(gè)子類。是否能夠讓用戶高效地挑選到心儀的禮品,分類是否合適就顯得尤為重要。為了提高用戶挑選的靈活性,這里既提供按禮品本身的商品類型進(jìn)行分類導(dǎo)航,比如:美妝、煙酒茶、圖書、文創(chuàng)等;也提供依據(jù)禮品的適用場(chǎng)景及熱點(diǎn)主題導(dǎo)航,比如:節(jié)日、生日、感謝、小心意、禮盒等。用戶可以在各個(gè)類別中瀏覽商品詳情挑選禮品。
在分類頁(yè)面,用戶可以瀏覽禮品。當(dāng)用戶看到感興趣的禮品時(shí),可以點(diǎn)擊跳轉(zhuǎn)到禮品的詳情頁(yè)面查看。在詳情頁(yè)面會(huì)展示禮品的價(jià)格、商品詳情等。用戶可以在該頁(yè)面點(diǎn)擊立即購(gòu)買按鈕將禮品加入購(gòu)物車。
在購(gòu)物車頁(yè)面,可以看到用戶選購(gòu)的禮品及數(shù)量,數(shù)量可以更改。選擇好要付款的禮品后,會(huì)彈出讓用戶選擇收貨地址,選擇確定地址后,然后點(diǎn)擊支付按鈕進(jìn)行付款。
用戶在購(gòu)物車,付完錢之后,就可以在訂單列表就會(huì)出現(xiàn)剛才的禮品訂單信息。如果用戶對(duì)已經(jīng)生成的訂單不滿意,或者想重新選購(gòu)其他的禮品時(shí),可以在訂單頁(yè)面點(diǎn)擊取消訂單這個(gè)按鈕進(jìn)行訂單的取消,然后重新選購(gòu)。需要注意的是,如果訂單的狀態(tài)是已發(fā)貨則無(wú)法取消。
在后臺(tái)管理界面中,管理員可以查看和管理所有的用戶信息、禮品信息、禮品分類和場(chǎng)景主題信息、訂單信息等。比如:在訂單管理頁(yè)面,可以看到訂單列表??梢圆榭从唵螁翁?hào)、買家信息、訂單狀態(tài)等訂單詳情信息。還可以點(diǎn)擊“發(fā)貨”按鈕,改變訂單的狀態(tài),例如將訂單信息從“未發(fā)貨”改成“已發(fā)貨”。
除此之外,還可以查看銷售的統(tǒng)計(jì)數(shù)據(jù)等等。
本課題研究的是基于微信小程序的禮品推薦平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),能夠分門別類、有針對(duì)性地為用戶推薦禮品,有助于用戶高效快捷地挑選到合適的禮品。本系統(tǒng)只是一個(gè)小型的禮品推薦平臺(tái),并沒(méi)有深入地研究和比較各類推薦算法,期待未來(lái)可以在這方面繼續(xù)鉆研和探索。