• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于微信公眾平臺架構(gòu)的應(yīng)用系統(tǒng)開發(fā)

      2015-02-06 10:28:01陸衛(wèi)忠趙玉雪朱云祥忻立
      關(guān)鍵詞:賬號消息服務(wù)器

      陸衛(wèi)忠,趙玉雪,朱云祥,忻立

      (1.蘇州科技學(xué)院電子與信息工程學(xué)院,江蘇蘇州215009;2.蘇州科技學(xué)院計算機應(yīng)用技術(shù)研究所,江蘇蘇州215009)

      基于微信公眾平臺架構(gòu)的應(yīng)用系統(tǒng)開發(fā)

      陸衛(wèi)忠1,2,趙玉雪1,朱云祥1,忻立1

      (1.蘇州科技學(xué)院電子與信息工程學(xué)院,江蘇蘇州215009;2.蘇州科技學(xué)院計算機應(yīng)用技術(shù)研究所,江蘇蘇州215009)

      介紹了移動互聯(lián)網(wǎng)及應(yīng)用系統(tǒng)開發(fā)技術(shù)的發(fā)展趨勢,剖析了微信公眾平臺的架構(gòu),從應(yīng)用模塊和接口訪問兩方面詳細說明了基于微信公眾平臺的移動互聯(lián)網(wǎng)應(yīng)用設(shè)計的方法,并用“e活動”作為實例進行了系統(tǒng)的說明。

      微信;微信平臺;架構(gòu);APP

      隨著人們生活水平的提高和科學(xué)技術(shù)的進步,移動互聯(lián)網(wǎng)正以雨后春筍之勢迅速發(fā)展。2013年中國移動互聯(lián)網(wǎng)在延續(xù)了近幾年的增長態(tài)勢的基礎(chǔ)上,進一步在人們生活的方方面面深深地打上“移動互聯(lián)網(wǎng)”的烙印。隨著智能手機成為第一終端、互聯(lián)網(wǎng)中心和個人信息中心,人們把自己的溝通、社交、娛樂、生活、商務(wù)、隱私交給了手機及其各種應(yīng)用[1]。因此,移動應(yīng)用的發(fā)展趨于多樣化和個性化。

      移動互聯(lián)網(wǎng)應(yīng)用的原有開發(fā)模式已經(jīng)落后于應(yīng)用需求,是對開發(fā)人員的一大挑戰(zhàn)。騰訊公司微信公眾平臺的推出,為開發(fā)者提供了新的開發(fā)模式,彌補了傳統(tǒng)APP開發(fā)的不足,個人、企業(yè)可根據(jù)自身需求,定制各自的“門戶應(yīng)用”來提高訪問量,增加知名度。所以,掌握基于微信公眾平臺的應(yīng)用開發(fā)方法勢在必行。

      1 微信公眾平臺的架構(gòu)

      1.1 微信公眾平臺功能

      微信公眾平臺主要有群發(fā)功能和高級功能[2]。群發(fā)功能,即群發(fā)一條消息,該消息會推送給關(guān)注公眾賬號的所有用戶。群發(fā)消息可以根據(jù)需求選擇單文字消息、圖片消息、語音消息、視頻消息和圖文消息。高級功能是公眾平臺提供給開發(fā)者用于二次開發(fā)的接口,分為編輯模式和開發(fā)模式,開發(fā)者只能選擇其中一種開發(fā)模式。

      微信公眾賬號分為服務(wù)號和訂閱號(見表1),兩者都具有群發(fā)功能和高級功能,只是在功能權(quán)限方面有差異。

      服務(wù)號一個月內(nèi)僅可以發(fā)送一條群發(fā)消息,可直接使用自定義菜單。服務(wù)號發(fā)給用戶的消息,會顯示在用戶的聊天列表中。并且,在發(fā)送消息給用戶時,用戶將收到即時的消息提醒。

      訂閱號為用戶提供信息和資訊。訂閱號每天可以發(fā)送一條群發(fā)消息,開發(fā)之后才能使用自定義菜單。訂閱號發(fā)給用戶的消息,將會顯示在用戶的訂閱號文件夾中。在發(fā)送消息給用戶時,用戶不會收到即時消息提醒[2]。微信公眾平臺功能如圖1所示。

      表1 服務(wù)號和訂閱號對比表

      圖1 微信公眾平臺功能圖

      1.2 微信公眾平臺架構(gòu)

      公眾平臺消息接口為開發(fā)者提供了與用戶進行消息交互的能力[3]。對于成功接入公眾平臺開發(fā)接口的公眾賬號,用戶發(fā)消息給公眾號,微信公眾平臺服務(wù)器會使用HTTP請求對接入的網(wǎng)址進行消息推送,第三方服務(wù)器(開發(fā)者使用的服務(wù)器)可通過響應(yīng)包回復(fù)特定結(jié)構(gòu)的消息,從而達到回復(fù)消息的目的。

      使用了高級功能的微信公眾賬號就成為一個配備了一些指令規(guī)則的賬號[3]。在用戶關(guān)注公眾賬號后,發(fā)送特定的指令給公眾賬號即可獲得相應(yīng)的結(jié)果。而這些規(guī)則的邏輯需要開發(fā)者根據(jù)公眾平臺的開發(fā)規(guī)則在后臺實現(xiàn)。用戶、微信服務(wù)器和第三方服務(wù)器三者之間的交互關(guān)系如圖2所示。

      圖2 公眾平臺交互關(guān)系圖

      (1)用戶在微信客戶端向微信平臺發(fā)送消息,該消息會通過網(wǎng)絡(luò)到達微信服務(wù)器;(2)微信服務(wù)器收到該消息后,把消息轉(zhuǎn)發(fā)給第三方服務(wù)器;(3)該服務(wù)器收到請求后,首先解析消息格式,提取消息的內(nèi)容,并經(jīng)預(yù)定義的業(yè)務(wù)邏輯處理,將處理結(jié)果封裝后返回給微信接口;(4)微信平臺把收到的消息轉(zhuǎn)發(fā)給用戶的微信客戶端。

      2 微信公眾平臺的應(yīng)用設(shè)計方法

      微信公眾平臺的高級功能中提供的兩種二次開發(fā)的模式:編輯模式和開發(fā)模式[4]。開發(fā)者根據(jù)需求可以選擇其中一種模式進行二次開發(fā)。

      2.1 二次開發(fā)模式

      2.1.1 編輯模式編輯模式下具有的功能是:①消息推送;②預(yù)設(shè)自動回復(fù),為用戶提供需求信息;③將系統(tǒng)平臺從PC端向WAP延伸[5]。

      編輯模式采用跳轉(zhuǎn)到頁面方式[5],因此,可在系統(tǒng)平臺中進行二次開發(fā),在系統(tǒng)服務(wù)器中制作功能頁面,供“編輯模式”下鏈接調(diào)用,這樣,使開發(fā)平臺應(yīng)用得到了拓展。

      2.1.2 開發(fā)模式開發(fā)模式下具有的功能是:①提供資訊;②預(yù)設(shè)自動回復(fù);③提取系統(tǒng)平臺數(shù)據(jù),實現(xiàn)個性化的服務(wù)[4]。

      開發(fā)模式下,微信平臺可轉(zhuǎn)發(fā)HTTP請求的XML數(shù)據(jù)包到配置的URL上,開發(fā)人員設(shè)計的程序解析該XML數(shù)據(jù)包后對數(shù)據(jù)庫操作,從而將拓展功能引入到平臺中來:①引用網(wǎng)絡(luò)資源,如:天氣查詢、火車票查詢、幽默笑話;②自行設(shè)計數(shù)據(jù)庫,設(shè)計出個性化服務(wù),具有很強的開發(fā)拓展功能。編輯模式和開發(fā)模式的優(yōu)劣比較,見表2。

      表2 編輯模式和開發(fā)模式優(yōu)劣對比表

      2.2 應(yīng)用模塊及接口訪問

      公眾平臺提供的應(yīng)用模塊主要有:接受用戶消息、向用戶回復(fù)消息、事件推送、會話界面自定義菜單等。而開發(fā)的前提是:網(wǎng)址接入,即接口配置信息。下面根據(jù)開發(fā)的流程來詳細介紹應(yīng)用模塊及其接口訪問方式。

      (1)申請微信公眾賬號。輸入網(wǎng)址:https://mp.weixin. qq.com/進行注冊,需要提供一個電子郵箱,個人用戶還需提供身份信息。

      (2)部署第三方服務(wù)器。選擇云服務(wù)器或者在Internet上可訪問的普通服務(wù)器。

      (3)注冊接口,即填寫接口配置信息:登錄自己的公眾賬號的前臺,依次單擊導(dǎo)航上的“高級功能”→右邊的“開發(fā)模式”→“成為開發(fā)者”,可以看到如圖3的界面。

      圖3 接口配置界面

      開發(fā)者需要提供一個URL和一個Token,URL是上一步部署的服務(wù)器的接口,是第三方服務(wù)器和微信服務(wù)器交互的橋梁。例如:當用戶發(fā)消息給微信平臺時,微信服務(wù)器會將該消息轉(zhuǎn)發(fā)給URL所指向的第三方服務(wù)器。Token是微信服務(wù)器和被開發(fā)的公眾賬號服務(wù)器之間的密鑰[6];

      (4)編寫代碼,完成應(yīng)用模塊的業(yè)務(wù)邏輯。

      應(yīng)用模塊一:接收用戶消息。當微信用戶向公眾賬號發(fā)消息時,微信服務(wù)器會將用戶消息用XML封裝后以HTTP請求發(fā)送到配置的URL上??梢越邮盏南⒎譃椋何谋鞠?、圖片消息、地理消息和鏈接消息。例如,文本消息的XML格式是:

      根據(jù)不同類型的消息字段來獲得所需的信息。表3就是主要的消息字段及其描述。

      表3 接收用戶消息字段描述

      應(yīng)用模塊二:向用戶回復(fù)消息。當微信用戶發(fā)來一條消息時,要回復(fù)相應(yīng)的消息。根據(jù)收到的MsgType來確定消息的類型,然后構(gòu)造XML數(shù)據(jù)包以HTTP響應(yīng)回復(fù)給用戶??梢曰貜?fù)的消息分為:文本消息、音樂消息、鏈接消息和圖文消息。例如,回復(fù)鏈接消息的XML數(shù)據(jù)包格式是:

      回復(fù)用戶消息字段描述見表4。

      表4 回復(fù)用戶消息字段描述

      應(yīng)用模塊三:事件推送。當用戶在客戶端觸發(fā)了事件的時候,公眾賬號服務(wù)器也會收到一條消息。這些事件包括用戶訂閱公眾賬號、取消關(guān)注公眾賬號和單擊自定義菜單[7]。此時,公眾賬號服務(wù)器會收到事件推送的XML格式消息,開發(fā)者可根據(jù)需求讀取相關(guān)字段并進行處理即可。公眾賬號服務(wù)器收到的事件推送的消息格式如下:

      事件推送消息字段描述如表5所示。

      表5 事件推送消息字段描述

      應(yīng)用模塊四:會話界面自定義菜單。自定義菜單的創(chuàng)建、獲取和刪除需要獲取憑證,這些操作的執(zhí)行需要主動發(fā)起HTTP請求,借助相應(yīng)的API來實現(xiàn),如創(chuàng)建自定義菜單的接口地址是:

      HTTP請求方法是POST方法,請求的參數(shù)是一個JSON格式的字符串。PHP提供了兩個內(nèi)建的函數(shù)來處理JSON格式的字符串:json_encode把PHP數(shù)組轉(zhuǎn)換成JSON格式的字符串;json_decode把JSON格式的字符串轉(zhuǎn)換成PHP的多維數(shù)組[8],為前后臺交互提供了可能。

      創(chuàng)建菜單請求的POST數(shù)據(jù)的各個參數(shù)的詳細描述見表6。

      在完成各個模塊的業(yè)務(wù)邏輯之后,更新部署的代碼即可。在實際開發(fā)中,可以使用版本控制工具(SVN、CVS等)實時修改、實時更新。

      表6 創(chuàng)建菜單請求中各個參數(shù)的描述

      3 應(yīng)用設(shè)計實例

      “e活動”(活動發(fā)酵劑)是一個開發(fā)實例,用來解決以下問題:商業(yè)營銷活動通常以散發(fā)傳單等方式宣傳,達不到理想的效果;校園文化和商業(yè)活動現(xiàn)場冷清,公眾的參與度不高;公益慈善活動中缺乏實時的社會監(jiān)督;活動結(jié)果無法系統(tǒng)總結(jié)和保存,以用于提高活動質(zhì)量。

      系統(tǒng)開發(fā)的步驟如下:

      (1)申請“e活動”微信公眾賬號。

      (2)部署服務(wù)器。該系統(tǒng)選擇新浪云服務(wù)器。

      (3)注冊后登錄公眾賬號的前臺,開啟“開發(fā)模式”,填寫接口配置信息。

      (4)完成業(yè)務(wù)邏輯。在“e活動”中,用戶在微信上進行的所有操作產(chǎn)生的數(shù)據(jù)均由微信客戶端發(fā)送給微信服務(wù)器后轉(zhuǎn)發(fā)給新浪云平臺,系統(tǒng)在云平臺上對用戶請求做相應(yīng)的處理,并返回處理后的數(shù)據(jù)給微信服務(wù)器,最后微信服務(wù)器把系統(tǒng)的相應(yīng)數(shù)據(jù)發(fā)送至用戶的微信客戶端。同時,系統(tǒng)直接將Discuz論壇架設(shè)在云平臺上,因此,可以與論壇(Discuz)集成,將活動信息同步至論壇之上進行保存,實現(xiàn)活動信息公開化、持久化。系統(tǒng)原理如圖4所示。

      (5)更新代碼,完善功能?!癳活動”開發(fā)過程中,使用SVN進行版本控制,實行更新代碼。本系統(tǒng)的功能包括PC端B/S管理模塊、微信平臺服務(wù)模塊和Discuz論壇模塊,具體功能是這三個功能模塊的擴展,系統(tǒng)功能圖如圖5所示。

      圖4 “e活動”系統(tǒng)原理圖

      圖5 “e活動”系統(tǒng)功能圖

      “e活動”的部分截圖如圖6、7所示。

      圖6 “e活動”系統(tǒng)注冊界面

      圖7 “e活動”的部分截圖

      4 結(jié)語

      目前,微信公眾平臺在企業(yè)移動門戶、新聞資訊、娛樂、社交應(yīng)用、游戲等領(lǐng)域的使用越來越廣泛,微信公眾平臺的應(yīng)用越來越受人們的青睞。文中介紹了微信公眾平臺以及基于微信公眾平臺的應(yīng)用系統(tǒng)框架及實現(xiàn)方法,并以“e活動”為實例詳細介紹了系統(tǒng)開發(fā)的流程,該應(yīng)用系統(tǒng)已在各類校園活動中得到很好的應(yīng)用。

      [1]鄭青瑩.2014億瑪智慧峰會聚焦移動互聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用[EB/OL].[2014-10-31].http://gb.cri.cn/44571/2014/10/31/7872s4748983.htm.

      [2]百度百科.微信[EB/OL].[2013-06-20].http://baike.baidu.com/view/5117297.htm.

      [3]鐘志勇.微信公眾平臺應(yīng)用開發(fā)實戰(zhàn)[M].北京:機械工業(yè)出版社,2013.

      [4]騰訊公司.微信公眾平臺官方[EB/OL].[2012-08-23].https://mp.weixin.qq.corn/.

      [5]潘峰楠.基于微信公眾平臺移動校園構(gòu)建芻議[J].信息系統(tǒng)工程,2013,12(20):49-50.

      [6]易偉.微信公眾平臺搭建與開發(fā)揭秘[M].北京:機械工業(yè)出版社,2013.

      [7]ZhiWei.微信公眾平臺開發(fā)教程消息接收響應(yīng)[EB/OL].[2013-12-03].http://jingyan.baidu.com/article/d5c4b52b32bb0dda560dc5a0.html.

      [8]深海的小魚兒.PHP數(shù)組和Json之間的轉(zhuǎn)換[EB/OL].[2011-05-26].http://www.cnblogs.com/xmphoenix/archive/2011/05/26/2057963.html.

      Development of the application system based on WeChat public platform

      LU Weizhong1,2,ZHAO Yuxue1,ZHU Yunxiang1,XIN Li1
      (1.School of Electronic&Information Engineering,SUST,Suzhou 215009,China;2.Institute of Computer Application Technology,SUST,Suzhou 215009,China)

      This paper analyzed the tendency of mobile internet and application system development,and the architecture of WeChat public platform.We demonstrated in detail the methods of mobile application design based on WeChat public platform from the aspects of application modules and interface accesses.An app named“eactivity”was proposed to account for the course of mobile application development.

      WeChat;WeChat platform;architecture;APP

      TP393

      A

      1672-0687(2015)03-0047-05

      責任編輯:艾淑艷

      2014-06-07

      江蘇省教育廳自然科學(xué)研究項目(08KJD510007);江蘇省大學(xué)生實踐創(chuàng)新訓(xùn)練計劃項目(201310332056X)

      陸衛(wèi)忠(1964-),男,江蘇常熟人,副教授,碩士,研究方向:計算機控制網(wǎng)絡(luò)與嵌入式系統(tǒng),信息系統(tǒng)安全。

      猜你喜歡
      賬號消息服務(wù)器
      彤彤的聊天賬號
      施詐計騙走游戲賬號
      派出所工作(2021年4期)2021-05-17 15:19:10
      一張圖看5G消息
      通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
      得形忘意的服務(wù)器標準
      計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      Google Play游戲取消賬號綁定沒有Google賬號也能玩
      CHIP新電腦(2016年3期)2016-03-10 14:52:50
      消息
      消息
      消息
      垣曲县| 定边县| 北海市| 平江县| 昔阳县| 阿拉善右旗| 佛山市| 普安县| 绥滨县| 望城县| 宣汉县| 丰顺县| 宜宾市| 曲阜市| 南投市| 天长市| 家居| 武穴市| 新干县| 寿阳县| 巴林左旗| 新绛县| 舞钢市| 原平市| 本溪| 翼城县| 陕西省| 同仁县| 体育| 朔州市| 东丰县| 沧州市| 重庆市| 得荣县| 石门县| 怀集县| 准格尔旗| 古田县| 东港市| 中西区| 星子县|