符 天,吳 云,許嵩明
(海南軟件職業(yè)技術(shù)學(xué)院 海南 571400)
基于微信的在線生活服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)
符 天,吳 云,許嵩明
(海南軟件職業(yè)技術(shù)學(xué)院 海南 571400)
隨著互聯(lián)網(wǎng)的快速發(fā)展,在線生活服務(wù)迅速通過(guò)移動(dòng)終端走進(jìn)消費(fèi)者的生活,通過(guò)微信公眾號(hào)平臺(tái)與原有的網(wǎng)絡(luò)生活服務(wù)平臺(tái)對(duì)接,企業(yè)、商家可利用方便快捷的微信終端為消費(fèi)者提供在線生活服務(wù)的接入,已成為許多企業(yè)、商家店鋪在線服務(wù)在移動(dòng)終端應(yīng)用的發(fā)展趨勢(shì)。本文注重分析微信數(shù)據(jù)處理業(yè)務(wù)流、利用微信公共接口設(shè)計(jì)并實(shí)現(xiàn)與在線生活服務(wù)實(shí)現(xiàn)數(shù)據(jù)對(duì)接。
互聯(lián)網(wǎng);XML;微信;消息推送;引擎服務(wù)
近年來(lái),隨著電子商務(wù)的快速發(fā)展,促使越來(lái)越多的消費(fèi)者通過(guò)移動(dòng)終端進(jìn)行在線消費(fèi)。許多企業(yè)、商家已將在線服務(wù)平臺(tái)遷移到移動(dòng)終端,并將在線服務(wù)應(yīng)用作為企業(yè)、商家服務(wù)質(zhì)量的建設(shè)衡量的指標(biāo)。至騰訊推出微信公眾號(hào)后,企業(yè)、商家等通過(guò)微信公眾號(hào)提供優(yōu)質(zhì)的在線服務(wù)而得到廣泛的應(yīng)用。消費(fèi)者可以通過(guò)關(guān)注相應(yīng)企業(yè)、商家的微信公眾號(hào),然后通過(guò)微信公眾號(hào)來(lái)享受在線預(yù)約、在線消費(fèi)、在線排隊(duì)、在線咨詢等服務(wù),消費(fèi)者也根據(jù)個(gè)人喜好選擇個(gè)人消費(fèi)或者團(tuán)購(gòu)消費(fèi);因此利用微信公眾號(hào)作為移動(dòng)發(fā)布平臺(tái)不僅方便快捷而且能為企業(yè)、商家提供一個(gè)方便、快捷的推廣渠道,其次是微信公眾號(hào)提供開(kāi)放的開(kāi)發(fā)接口,極大地降低了與現(xiàn)有的應(yīng)用系統(tǒng)對(duì)接的成本;再次是運(yùn)用微信公眾號(hào)完成在線服務(wù)較目前其它移動(dòng)APP方式不僅維護(hù)成本低而且實(shí)效性強(qiáng)。
MEAN是一個(gè)Javascript平臺(tái)的現(xiàn)代Web開(kāi)發(fā)框架總稱,如圖1所示,它是MongoDB + Express +AngularJS + NodeJS四個(gè)框架的第一個(gè)字母組合。本文在線生活服務(wù)系統(tǒng)將運(yùn)用MEAN技術(shù)框架,前端用戶界面采用Angular開(kāi)發(fā)框架,后端管理部分采用Node開(kāi)發(fā)框架,數(shù)據(jù)庫(kù)采用MongoDB。首先,用戶端Angular通過(guò)ajax調(diào)用后端NodeJs的API向后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢,并將查詢結(jié)果返回給Node,NodeJs再輸出給前端Angular。
由于基于微信公眾平臺(tái)開(kāi)發(fā)的系統(tǒng)提供可通過(guò)微信客戶端與用戶之間的交互、自定義菜單等功能。因此利用微信公眾平臺(tái)通過(guò)微信服務(wù)引擎便可與企業(yè)在線應(yīng)用服務(wù)實(shí)現(xiàn)業(yè)務(wù)對(duì)接。首先移動(dòng)終端向微信公眾號(hào)發(fā)送請(qǐng)求消息,微信消息服務(wù)器將請(qǐng)求消息封裝成XML報(bào)文推送給企業(yè)或商家的業(yè)務(wù)應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)解析XML內(nèi)容,并提取操作請(qǐng)求進(jìn)行判斷,然后進(jìn)行相關(guān)數(shù)據(jù)操作,再根據(jù)讀取數(shù)據(jù)類型選擇回復(fù)消息類型,然后進(jìn)行消息封裝,回復(fù)。基于移動(dòng)平臺(tái)的應(yīng)用架構(gòu)設(shè)計(jì)如下圖2所示。
圖1 MEAN架構(gòu)
圖2 應(yīng)用架構(gòu)設(shè)計(jì)
其中,微信通信服務(wù)接口主要負(fù)責(zé)微信消息服務(wù),如XML解析、任務(wù)調(diào)度、會(huì)話控制等。微信推送POST的XML數(shù)據(jù)格式如下代碼所示:
在線服務(wù)系統(tǒng)接口主要響應(yīng)微信轉(zhuǎn)發(fā)過(guò)來(lái)的消息,并根據(jù)POST請(qǐng)求的內(nèi)容響應(yīng)特定的XML數(shù)據(jù)包,并將結(jié)果的XML數(shù)據(jù)包返回給微信服務(wù),web應(yīng)用服務(wù)響應(yīng)的XML數(shù)據(jù)格式有文本、語(yǔ)音、圖
用戶通過(guò)微信客戶端向?qū)?yīng)的微信公眾號(hào)發(fā)送相應(yīng)的命令,微信平臺(tái)首先檢驗(yàn)相應(yīng)的命令,如該命令是消息格式且命令合法,微信平臺(tái)則將該消息轉(zhuǎn)發(fā)給在線業(yè)務(wù)服務(wù)處理,業(yè)務(wù)服務(wù)收到消息請(qǐng)求后,業(yè)務(wù)系統(tǒng)將檢查消息是否由微信平臺(tái)發(fā)出,如是則對(duì)請(qǐng)求消息進(jìn)行關(guān)鍵字提取并進(jìn)行解析,WEB服務(wù)響應(yīng)并調(diào)用相關(guān)函數(shù)完成數(shù)據(jù)操作后,根據(jù)消息類型進(jìn)行相應(yīng)的回復(fù),最終與微信公眾號(hào)通信接口完成雙向數(shù)據(jù)交互,整個(gè)業(yè)務(wù)數(shù)據(jù)交互過(guò)程如下圖3所示。如微信平臺(tái)在規(guī)定的響應(yīng)時(shí)間內(nèi)未接收到正確的消息格式,將進(jìn)行重新發(fā)送,重新發(fā)送三次失敗后,微信平臺(tái)將放棄此次消息的處理,反饋請(qǐng)求失敗的響應(yīng)信息。
在線生活服務(wù)平臺(tái)包括用戶管理、商品管理、消息管理、在線預(yù)約、在線消費(fèi)服務(wù)以及文章管理等。下面主要介紹消息服務(wù)、在線消費(fèi)服務(wù)、在線預(yù)約這三個(gè)功能模塊。
圖3 業(yè)務(wù)數(shù)據(jù)交互流程
4.1 消息服務(wù)
當(dāng)在線消費(fèi)服務(wù)平臺(tái)完成向移動(dòng)端的布局后,消費(fèi)者都可以通過(guò)微信公眾號(hào)接收來(lái)自企業(yè)、商家在線服務(wù)平臺(tái)的相關(guān)產(chǎn)品信息或優(yōu)惠活動(dòng),由于利用微信公眾號(hào)推送的消息相對(duì)比純文本消息內(nèi)容上更加豐富,消息內(nèi)容不僅可包含圖片、音頻、視頻而且形式上更加直觀。目前微信公眾號(hào)推送的消息類型包括:文本消息、語(yǔ)言消息、地理位置、圖文消息、鏈接消息等?;貜?fù)文本消息配置result = util. format(textTpl, object. FromUserName, object. ToU-serName, new Date().getTime(), content);回復(fù)圖文消息配置result =util.format(articleTpl, object. FormUserName, object.ToUserName, newDate().getT-ime(), Pic.length),其他消息的返回形式類似。
4.2 在線消費(fèi)服務(wù)
在線消費(fèi)服務(wù)即指消費(fèi)者享受商家提供的在線服務(wù),消費(fèi)者利用移動(dòng)終端設(shè)備在線選擇需要消費(fèi)的商品。在線消費(fèi)服務(wù)主要在飲食服務(wù)方面運(yùn)用,首先商家在線服務(wù)平臺(tái)的后臺(tái)添加相應(yīng)的消費(fèi)商品,并對(duì)上線商品如味道、口感、產(chǎn)地、價(jià)格等進(jìn)行詳細(xì)描述。消費(fèi)者通過(guò)商家的微信公眾號(hào)提供消費(fèi)功能對(duì)商家提供的商品進(jìn)行選擇后,并自主選擇本次需要消費(fèi)的商品。消費(fèi)者明確需要消費(fèi)的商品后,提交訂單申請(qǐng),微信對(duì)消息提取關(guān)鍵詞,商家的服務(wù)端便會(huì)收到消費(fèi)者的消費(fèi)請(qǐng)求,商家與消費(fèi)者予以確認(rèn),確認(rèn)后消費(fèi)者便會(huì)收到本次消費(fèi)的清單消息,商家為消費(fèi)者提供訂單商品,在線消費(fèi)基本流程如圖4所示,關(guān)鍵函數(shù)代碼如下所示。
4.3 在線預(yù)約
在線預(yù)約功能主要實(shí)現(xiàn)消費(fèi)者在線對(duì)線上商品或商家提供的配套服務(wù)資源進(jìn)行預(yù)約,例如線上訂位、娛樂(lè)包間、專車(chē)接送等。對(duì)于成功進(jìn)行預(yù)約的消費(fèi)者,系統(tǒng)會(huì)發(fā)送所預(yù)約的詳細(xì)信息,并在消費(fèi)者消費(fèi)時(shí)間到來(lái)之前給消費(fèi)者發(fā)送提示消息,從而為消費(fèi)者統(tǒng)籌地組織好相關(guān)活動(dòng),節(jié)省寶貴的時(shí)間避免不必要繁瑣細(xì)節(jié)。而商家只需根據(jù)消費(fèi)者需求統(tǒng)籌安排相關(guān)服務(wù)資源即可,預(yù)約函數(shù)配置createordered (req, res, next),通過(guò)對(duì)商品數(shù)組paramArray[‘numid’, ‘min’,‘num’, ‘contacts’, ‘contact number’,‘remark’, ‘date’, ‘time’, ‘type’]進(jìn)行配置可以添加響應(yīng)的預(yù)約,取消預(yù)約函數(shù)配置cancelordered(req, res,next)。在線預(yù)約運(yùn)行效果如圖5所示。
隨著移動(dòng)終端應(yīng)用的不斷發(fā)展,移動(dòng)信息服務(wù)一定會(huì)有更廣闊的發(fā)展前景。本文利用MEAN技術(shù)框架設(shè)計(jì)在線生活服務(wù)系統(tǒng)總體架構(gòu),設(shè)計(jì)并初步實(shí)現(xiàn)運(yùn)用微信公眾號(hào)作為信息載體隨時(shí)隨地快速實(shí)現(xiàn)在線生活服務(wù)的定制及訪問(wèn),系統(tǒng)實(shí)現(xiàn)通過(guò)界面底部的菜單快速打開(kāi)需要的服務(wù),也可使用文字命令調(diào)用,完成信息交互、商品查詢、消費(fèi)與預(yù)約等功能,該系統(tǒng)不僅極大地拉近消費(fèi)者與商家的距離,而且也給消費(fèi)者提供了較好的消費(fèi)體驗(yàn)。
圖4 在線消費(fèi)基本流程
圖5 預(yù)約訂座
[1] 倪志宏. 基于微信公眾平臺(tái)的掌上高校網(wǎng)絡(luò)信息服務(wù)系統(tǒng)研究[J]. 合作經(jīng)濟(jì)與科技, 2013(14): 127-128.
[2] 鮑金. 四川師范大學(xué)成都學(xué)院校園移動(dòng)信息服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 電子科技大學(xué), 2011.
[3] 甘榮石. 基于微信平臺(tái)的移動(dòng)銀行應(yīng)用架構(gòu)研究[D]. 廣州: 華南理工大學(xué), 2013.
[4] 如何使用騰訊微信公眾平臺(tái)示例代碼(調(diào)用公眾平臺(tái)消息接口)一新浪博客[EB/OL]http://blog.sina.tom.cn/s/blog_ 40d47c890101auej.html.
[5] 劉俐. 本地化生活服務(wù)電子商務(wù)平臺(tái)構(gòu)建[D]. 武漢: 華中科技大學(xué), 2012.
[6] 肖金克, 劉曉陽(yáng), 陳鑫, 李洋, 李靜. 基于微信公眾平臺(tái)的高校移動(dòng)信息服務(wù)設(shè)計(jì)與實(shí)現(xiàn)[J]. 《軟件導(dǎo)刊》, 2016, 15(8): 83-85. [7] 何圣華, 白汶靈. 基于微信公眾號(hào)平臺(tái)的高校移動(dòng)信息化管理系統(tǒng)[J]. 《電子技術(shù)與軟件工程》, 2015(19): 80-82.
[8] 沈美盈. 移動(dòng)互聯(lián)網(wǎng)背景下基于微信平臺(tái)的服務(wù)設(shè)計(jì)研究[D]. 杭州: 浙江大學(xué)學(xué)位論文, 2014: 18-20.
[9] 申晉祥, 鮑美英. 基于Android的移動(dòng)在線教育平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2016, 37(3): 30-33.
[10] 于浩佳, 陳波. 基于微信公眾平臺(tái)的醫(yī)院預(yù)約掛號(hào)服務(wù)系統(tǒng)實(shí)現(xiàn)[J]. 軟件, 2015, 36(10): 94-99.
Design and Implementation of Online Life Service Based on WeChat
TIAN Fu, YUN Wu, SONG Ming-xu
(Hainan College of Software Technology Hainan 571400)
with the rapid development of the Internet, online life service quickly through the mobile terminal into the lives of consumers, by docking WeChat public platform and network life service platform of existing enterprises, businesses can provide access, in line service for consumers using WeChat terminal convenient, has become a lot of enterprises, businesses and stores in the online service the development trend of mobile terminal applications. This paper focuses on the analysis of WeChat data processing business flow, the use of WeChat common interface design and implementation and online life service data docking.
Internet; XML; WeChat; Message push; Engine service
TP311
A
10.3969/j.issn.1003-6970.2017.01.022
符天,男,碩士,研究方向:云計(jì)算、信息安全、軟件開(kāi)發(fā);第二作者:吳云,女,碩士,研究方向:網(wǎng)絡(luò)技術(shù);第三作者:許嵩明,男,碩士,研究方向:系統(tǒng)架構(gòu)。
本文著錄格式:符 天,吳 云,許嵩明. 基于微信的在線生活服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件,2017,38(1):108-110