陳小云 陳宇
(南京理工大學(xué)紫金學(xué)院 江蘇省南京市 210046)
禮物作為人們傳達心意的載體,在人際交往中起著非常重要的作用。人們在社會交往中,難免會遇到需要贈送禮品的時候,如何簡單高效地選定一份合適的禮品就顯得尤為關(guān)鍵。去傳統(tǒng)的線下實體店選購,不僅商品種類有限制,而且耗時耗力。伴隨著計算機以及網(wǎng)上商務(wù)的迅速發(fā)展,網(wǎng)上購物逐漸普及,人們越來越喜歡在網(wǎng)上購買禮物。在線的電子商城有更多的選擇,也相對更加方便。但是也正因為選擇太多,往往人們花費了大量的時間挑得眼花繚亂,也未必能挑選到滿意的禮物。禮品推薦平臺致力于滿足人們挑選禮物時方方面面的需求,實現(xiàn)精準推薦,提高效率,節(jié)約時間。
基于微信小程序的禮物推薦系統(tǒng)有兩類角色,分別是管理員和普通用戶。管理員主要是對平臺數(shù)據(jù)進行管理,包括禮物類別及適用場景管理、禮物管理、用戶管理等,普通用戶即是平臺功能的主要使用者,可以方便快捷地挑選禮物。
微信小程序是一種基于微信的應(yīng)用方式。用戶只需要打開微信就能夠使用,并不需要花費時間下載。上線之后,微信小程序開始逐漸替代掉手機的應(yīng)用軟件。本平臺前端開發(fā)使用微信開發(fā)者工具,后端開發(fā)采用HbuilderX。
在組件使用的過程中,要在Json文件中對自定義的組件進行聲明。另外,也需要將組件的模板寫入WXML文件。最后在WXSS文件中放入slot樣式組件,表示插槽。類似Vue中的slot。最后,需要用Component()來注冊,同時提供組件的屬性定義、內(nèi)部數(shù)據(jù)和自定義的方法。
微信小程序的API相當于是微信提供的一些函數(shù)。它調(diào)用微信小程序的底層接口,從而進行一些微信小程序特有的操作。比如一鍵登錄、獲取用戶信息等。在本系統(tǒng)中,主要用到了wx.login(獲取用戶登錄授權(quán))、wx.getUserProfile(獲取用戶信息)、wx.navigateTo(頁面跳轉(zhuǎn))、wx.request(后端請求)等API。微信小程序官方對于這些API的封裝,可以使開發(fā)人員的編碼數(shù)量降低,也可以提升效率,同時起到規(guī)范代碼的作用。
本系統(tǒng)使用開源的關(guān)系型數(shù)據(jù)庫MySQL來存儲禮品數(shù)據(jù)。MySQL可以支持多種開發(fā)系統(tǒng)的運行,同時也支持各種編程語言。采用MySQL數(shù)據(jù)庫,可以讓本平臺在設(shè)計與實現(xiàn)的時候更加方便和快捷,對系統(tǒng)的穩(wěn)定性也有很大的幫助。
禮品推薦平臺旨在幫助用戶解決送什么禮品的問題,致力于讓用戶快速高效地選到合乎心意的禮品。系統(tǒng)有兩類用戶,一類是普通用戶,一類是管理員。
普通用戶對平臺的需求主要包括:用戶登錄,瀏覽和挑選禮品,將選中的禮品添加至購物車,填寫收件人地址信息,下訂單等。
(1)用戶通過微信授權(quán)即可登錄禮品推薦小程序平臺。
(2)用戶可以根據(jù)平臺首頁的分類及導(dǎo)航瀏覽禮品,結(jié)合自己的需求進行挑選。
(3)用戶將選中的禮品添加至購物車,并可以調(diào)整購物車中的禮品數(shù)量。
(4)用戶可以管理收件人地址信息,可以是用戶自己的地址,也可以是禮品接收者的地址。
(5)用戶可以選中購物車中的部分或全部禮品進行結(jié)算,新增訂單,并能跟蹤查詢訂單狀態(tài)。
對于一個禮品推薦平臺,有管理員來管理用戶信息以及設(shè)置禮品信息是非常重要的。
(1)管理員可以對禮品的分類進行管理,這對平臺能否實現(xiàn)友好的分類和導(dǎo)航是十分重要的。
(2)管理員可以管理禮品的信息,包含禮品的上下架等。
(3)管理員可以實現(xiàn)對訂單的管理,比如訂單狀態(tài)的更改。
(4)為保證特殊情況的可處理,對用戶信息和地址信息的管理也是不可或缺的。
根據(jù)前面的需求分析,遵照模塊化的劃分思想對整個系統(tǒng)的功能模塊進行劃分。本系統(tǒng)的功能可具體劃分為七個模塊:登錄模塊、購物車模塊、訂單模塊、分享模塊、禮物詳情模塊、管理員模塊、地址模塊。圖1為系統(tǒng)功能模塊圖。在各個模塊之中,再根據(jù)具體的需求可以細分為多個不同功能的子模塊。

圖1:系統(tǒng)功能模塊圖
禮品推薦平臺使用MySQL數(shù)據(jù)庫,MySQL數(shù)據(jù)庫是在一些中小型網(wǎng)站中應(yīng)用最為廣泛的數(shù)據(jù)庫。按照上文的功能模塊規(guī)劃,設(shè)計本平臺的數(shù)據(jù)庫主要由這幾個表組成:用戶信息表、禮品類型表、禮品表、訂單表、收件地址表、銷售統(tǒng)計表等。以數(shù)據(jù)庫中商品表為例,該表設(shè)置eid字段為主鍵,以便其在數(shù)據(jù)庫中避免多次重復(fù)地存儲。該表存儲了禮品的商品編號、價格、類別、名稱以及添加時間和介紹等。具體如表1所示,其余表不在這里一一贅述。

表1:禮品表
在創(chuàng)建小程序項目之前,需要先在官方網(wǎng)站注冊每個用戶獨有的小程序APPID。創(chuàng)建完之后,就可以在項目創(chuàng)建時填入之前注冊好的APPID,點擊創(chuàng)建就可以完成項目的搭建。創(chuàng)建完小程序項目,就可以進行程序的開發(fā)與調(diào)試。
用戶點擊小程序進入時,會彈出消息框讓用戶進行選擇,是否要授權(quán)小程序。在微信公眾號中,可以通過微信的API接口來獲取當前用戶的微信賬戶信息,即直接用微信號登錄。只有用戶微信授權(quán)登錄之后,才能訪問平臺的內(nèi)部資源,這很好地保證了平臺的安全性。
登錄功能的主要流程為:通過wx.getStorageSync接口檢查本地緩存中是否有wxid等數(shù)據(jù),以此來檢查是否登錄,如果沒有登錄則跳轉(zhuǎn)到登錄頁面;再用wx.getUserProfile獲取用戶的基本信息,并保存到本地;最后調(diào)用后端user.php,將用戶的頭像、昵稱保存到數(shù)據(jù)庫中。
當用戶進入小程序后,映入眼簾的是禮品平臺的首頁。小程序的底部會有一個tabbar導(dǎo)航欄。分為首頁、購物車和我的。在tabbar結(jié)構(gòu)里還增添了小圖標,這樣使底部的導(dǎo)航欄看起來清晰明了。
禮品的分類導(dǎo)航是否好用很大程度上決定了該平臺的易用性。在這個界面,將每一個禮品種類存放到一個大的框架中。點擊其中的每一個圖標可以進入禮品的一個子類。是否能夠讓用戶高效地挑選到心儀的禮品,分類是否合適就顯得尤為重要。為了提高用戶挑選的靈活性,這里既提供按禮品本身的商品類型進行分類導(dǎo)航,比如:美妝、煙酒茶、圖書、文創(chuàng)等;也提供依據(jù)禮品的適用場景及熱點主題導(dǎo)航,比如:節(jié)日、生日、感謝、小心意、禮盒等。用戶可以在各個類別中瀏覽商品詳情挑選禮品。
在分類頁面,用戶可以瀏覽禮品。當用戶看到感興趣的禮品時,可以點擊跳轉(zhuǎn)到禮品的詳情頁面查看。在詳情頁面會展示禮品的價格、商品詳情等。用戶可以在該頁面點擊立即購買按鈕將禮品加入購物車。
在購物車頁面,可以看到用戶選購的禮品及數(shù)量,數(shù)量可以更改。選擇好要付款的禮品后,會彈出讓用戶選擇收貨地址,選擇確定地址后,然后點擊支付按鈕進行付款。
用戶在購物車,付完錢之后,就可以在訂單列表就會出現(xiàn)剛才的禮品訂單信息。如果用戶對已經(jīng)生成的訂單不滿意,或者想重新選購其他的禮品時,可以在訂單頁面點擊取消訂單這個按鈕進行訂單的取消,然后重新選購。需要注意的是,如果訂單的狀態(tài)是已發(fā)貨則無法取消。
在后臺管理界面中,管理員可以查看和管理所有的用戶信息、禮品信息、禮品分類和場景主題信息、訂單信息等。比如:在訂單管理頁面,可以看到訂單列表??梢圆榭从唵螁翁?、買家信息、訂單狀態(tài)等訂單詳情信息。還可以點擊“發(fā)貨”按鈕,改變訂單的狀態(tài),例如將訂單信息從“未發(fā)貨”改成“已發(fā)貨”。
除此之外,還可以查看銷售的統(tǒng)計數(shù)據(jù)等等。
本課題研究的是基于微信小程序的禮品推薦平臺的設(shè)計與實現(xiàn),能夠分門別類、有針對性地為用戶推薦禮品,有助于用戶高效快捷地挑選到合適的禮品。本系統(tǒng)只是一個小型的禮品推薦平臺,并沒有深入地研究和比較各類推薦算法,期待未來可以在這方面繼續(xù)鉆研和探索。