舒捷,舒展
(1.九江電視臺,2.九江職業(yè)大學(xué),江西九江 332000)
微信是由騰訊公司推出的一款免費的手機(jī)即時通訊應(yīng)用程序,自2011年初推出以來,用戶數(shù)已超3億。微信不僅表現(xiàn)形式多樣,支持語音短信、視頻、圖片等多媒體類型,還具備地理位置定位,多人群聊等功能,支持android,symbian,BlackBerry,IOS,Windows Mobile等多種智能系統(tǒng),擁有龐大的潛在用戶群,同時朋友圈功能也具有極強(qiáng)的社交媒體性[1]。
微信公眾平臺是騰訊公司在微信基礎(chǔ)功能上新增的一個面向個人和企業(yè)的信息推廣及服務(wù)平臺。個人和企業(yè)都可以申請微信公眾號,實現(xiàn)和特定群體通過文字、圖片、語音進(jìn)行全方位的溝通與互動[2]。微信公眾平臺通過開放API接口,使得任何機(jī)構(gòu)都可以針對此接口開發(fā)建立自己的第三方服務(wù)平臺,實現(xiàn)機(jī)構(gòu)業(yè)務(wù)的開展和推廣,微信公眾平臺漸漸成為企業(yè)營銷渠道和客戶關(guān)系管理的新工具[3]。
現(xiàn)有的電視節(jié)目查詢及點播系統(tǒng),大多為基于網(wǎng)頁的B/S結(jié)構(gòu)和基于手機(jī)APP的B/S結(jié)構(gòu),單從滿足基本的查詢需求方面考慮,是完全能夠勝任的。但隨著微信用戶的增長,微信公眾平臺業(yè)務(wù)的擴(kuò)展,大多數(shù)的用戶會尋求更為便利、集成化的服務(wù)。微信公眾平臺只需訂閱相應(yīng)的服務(wù)帳號,不需要記住任何網(wǎng)址,也不需要再去下載額外的軟件,同時,通過簡單的輸入查詢就能夠得到相應(yīng)的信息,從使用上來說,恰恰是符合了現(xiàn)代化便利性生活的需求。
本文將介紹如何構(gòu)筑基于微信公眾平臺的電視節(jié)目查詢及點播系統(tǒng),實現(xiàn)微信用戶對日常生活瀏覽電視節(jié)目的需求,并基于此系統(tǒng)探討后續(xù)可擴(kuò)展模塊的研發(fā)與應(yīng)用。
微信公眾平臺的基本功能為群發(fā)推送、自動回復(fù)及一對一對話。微信公眾平臺的后臺管理有編輯模式和開發(fā)模式,兩種模式互斥存在[4]。編輯模式只提供簡單的編輯界面,對設(shè)置的部分關(guān)鍵字進(jìn)行自動回復(fù),功能有限;開發(fā)模式則提供開發(fā)接口,通過開發(fā)人員上傳自定義的代碼包來實現(xiàn)更加個性化的服務(wù)。相較而言,開發(fā)模式無論是在功能實現(xiàn)方面,還是應(yīng)用靈活性方面,甚至是后續(xù)功能拓展方面都較編輯模式更為適合本系統(tǒng)的設(shè)計與開發(fā),故本系統(tǒng)采用微信公眾平臺的開發(fā)模式進(jìn)行系統(tǒng)設(shè)置與開發(fā)。
圖1 基于微信公眾平臺的票務(wù)系統(tǒng)設(shè)計原理圖
本系統(tǒng)將基于微信公眾平臺提供的API接口,對微信用戶推送到查詢信息進(jìn)行提取,通過接口程序的轉(zhuǎn)換,向后臺數(shù)據(jù)庫發(fā)出查詢請求,隨后,在獲取數(shù)據(jù)庫返回的查詢結(jié)果后,使用接口程序?qū)Y(jié)果進(jìn)行轉(zhuǎn)換,并通過微信公眾平臺將查詢結(jié)果返回給微信用戶,完成一次一對一的對話過程,如圖1所示。在圖上也可以很清晰看出,本系統(tǒng)完全可以和基于網(wǎng)頁的C/S系統(tǒng)及基于手機(jī)APP應(yīng)用的B/S系統(tǒng)并行使用,互不干擾,并不影響原有的各種服務(wù)。
本系統(tǒng)以面向用戶日常生活瀏覽電視節(jié)目需求為主,實現(xiàn)對現(xiàn)有各個電視臺的電視節(jié)目播放時間的查詢及點播需求,返回滿足用戶查詢條件的數(shù)據(jù)。
根據(jù)系統(tǒng)需求,結(jié)合微信公眾平臺,本系統(tǒng)主要分為以下幾個模塊:
1)開發(fā)模式啟動與測試模塊:在微信公眾平臺上開啟開發(fā)模式,并對開發(fā)模式下的信息傳遞進(jìn)行簡單的測試;
2)消息接收模塊:接收由用戶發(fā)送過來的信息,并對信息數(shù)據(jù)進(jìn)行提取;
3)數(shù)據(jù)庫查詢模塊:使用信息接收模塊提取的數(shù)據(jù),向數(shù)據(jù)庫發(fā)起查詢操作,并獲取數(shù)據(jù)庫的查詢結(jié)果;
4)消息回復(fù)模塊:從數(shù)據(jù)庫查詢模塊獲取查詢結(jié)果,并將其返回給用戶;
圖2 基于微信公眾平臺的票務(wù)系統(tǒng)設(shè)計流程圖
1)開發(fā)模式啟動與測試模塊
微信公眾平臺開發(fā)模式采用接口URL和Token(開發(fā)者簽名)來實現(xiàn)網(wǎng)址接入。公眾平臺用戶提交信息后,微信服務(wù)器將發(fā)送GET請求到填寫的URL上,并帶上signarture(微信加密簽名)、timestamp(時間戳)、nonce(隨機(jī)數(shù))、echostr(隨機(jī)字符串)四個參數(shù)。開發(fā)者通過將Token,timestamp,nonce三個參數(shù)進(jìn)行字典排序、shal加密后與signarture進(jìn)行對比,標(biāo)識該請求來源于微信,并確認(rèn)此次GET請求來自微信服務(wù)器,隨后原樣返回echostr參數(shù)內(nèi)容,使接入生效,完成網(wǎng)址接入設(shè)置[5]。在本系統(tǒng)中Token根據(jù)項目功能設(shè)置為WeChat Ticket.
完成接口配置后,所有發(fā)送至本微信公眾號的消息都將從微信公眾平臺服務(wù)器轉(zhuǎn)發(fā)至接口URL,并由系統(tǒng)的后續(xù)模塊完成信息的解析與回復(fù)。
2)消息接收模塊
在每次本系統(tǒng)接收微信公眾平臺服務(wù)器轉(zhuǎn)發(fā)的用戶信息的時候,微信都會先帶上上述校驗信息,本系統(tǒng)通過對簽名的校驗來判斷此條消息的真實性。在確定此消息真實有效后,本系統(tǒng)調(diào)用消息接收模塊,對由微信轉(zhuǎn)發(fā)過來的POST消息的XML數(shù)據(jù)包進(jìn)行數(shù)據(jù)提取。微信支持的開發(fā)模式下用戶能發(fā)送的消息類型有:文本消息、圖片消息、語音消息、視頻消息、地理位置消息和鏈接消息共六種。
以文本消息為例,其參數(shù)字段如下表:
表1 微信公眾平臺開發(fā)模式文本消息XML代碼字段信息
至于其他類型消息,根據(jù)其MsgType字段值的不同,將會有不同的參數(shù)字段替換掉Content字段,在此就不冗述了。
鑒于本系統(tǒng)主要任務(wù)為實現(xiàn)對文本消息查詢請求的回復(fù),故現(xiàn)只討論文本信息的處理過程。通過對微信轉(zhuǎn)發(fā)到POST消息的XML數(shù)據(jù)包中MsgType類型進(jìn)行判斷,提取出Text類型消息的Context字段,并對字段按照一定的規(guī)則進(jìn)行數(shù)據(jù)提取。這個規(guī)則一般是依據(jù)第一次用戶關(guān)注本微信公眾平臺帳號時,由本系統(tǒng)推送出的幫助信息樣本。
例:請輸入要查詢的節(jié)目名稱——九江新聞
3)數(shù)據(jù)庫查詢模塊
如圖1所示,本系統(tǒng)直接調(diào)用已有的基于網(wǎng)頁/手機(jī)APP的查詢模塊,無需再重新建立數(shù)據(jù)庫查詢模塊,不僅提高了代碼效率,優(yōu)化了模塊設(shè)置,同時也使得整個系統(tǒng)對數(shù)據(jù)庫的操作標(biāo)準(zhǔn)化,提高了整體系統(tǒng)的安全性。
4)消息回復(fù)模塊
圖3 系統(tǒng)運(yùn)行測試
當(dāng)數(shù)據(jù)庫查詢模塊完成查詢操作后,會把查詢結(jié)果傳遞給消息回復(fù)模塊。消息回復(fù)模塊將依次把broadcadate(日期),broadcasttime(播放時間),rebroadcast(是否重播),(視頻鏈接地址)字段進(jìn)行整合,形成新的Content字段,并結(jié)合先前接收到的POST的XML數(shù)據(jù)包中的信息,生成一個Get包返回給微信公眾平臺服務(wù)器。隨后微信公眾平臺服務(wù)器根據(jù)Get包中的ToUserName,MsgType,Content,將返回的消息按照文本類型發(fā)送給指定的用戶,即響應(yīng)用戶的查詢請求。
至此,整個系統(tǒng)完成一次用戶發(fā)送查詢,系統(tǒng)后臺響應(yīng)查詢并返回查詢結(jié)果的操作。
電視節(jié)目查詢及點播是日常生活電視瀏覽的常用的服務(wù)需求,通過建立本系統(tǒng)能夠滿足微信用戶的需要,為人們出行提供更為便利的幫助。同時,微信公眾平臺仍在不斷完善和發(fā)展中,根據(jù)其發(fā)展趨勢,可以推測,后續(xù)的發(fā)展應(yīng)該會整合流媒體播放、用戶自定義列表等功能。根據(jù)其發(fā)展方向,本系統(tǒng)后續(xù)可進(jìn)行在線點播、自主節(jié)目單設(shè)定等功能模塊的設(shè)計與開發(fā)。
〔1〕張蓓,竇天芳等 .開發(fā)模式下圖書館微信公眾平臺服務(wù)的設(shè)計與實現(xiàn) [J].現(xiàn)代圖示情報技術(shù),2014,(01).
〔2〕孔云,廖寅等 .基于微信公眾帳號的圖書館移動信息服務(wù)研究 [J].情報雜志,2013,(09).
〔3〕王保成,鄧玉 .微信公眾平臺在國內(nèi)圖書館服務(wù)中的應(yīng)用實踐研究 [J].圖書情報工作,2013,(20).
〔4〕黃浩 .基于OTT即時通訊工具的供電智能互動服務(wù)系統(tǒng)研究 [J].信息通信,2013,(10).