基于微信公眾平臺的應(yīng)用系統(tǒng)開發(fā)模式研究_第1頁
基于微信公眾平臺的應(yīng)用系統(tǒng)開發(fā)模式研究_第2頁
基于微信公眾平臺的應(yīng)用系統(tǒng)開發(fā)模式研究_第3頁
基于微信公眾平臺的應(yīng)用系統(tǒng)開發(fā)模式研究_第4頁
基于微信公眾平臺的應(yīng)用系統(tǒng)開發(fā)模式研究_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、    基于微信公眾平臺的應(yīng)用系統(tǒng)開發(fā)模式研究    萬春旭【摘 要】本文在介紹微信公眾平臺的類型與功能的基礎(chǔ)上,同時給出了微信公眾平臺的申請與認(rèn)證方法,重點論述了公眾平臺的開發(fā)模式與關(guān)鍵技術(shù),包括消息響應(yīng)模式、安全認(rèn)證機制、消息封裝與解析及自定義菜單的實現(xiàn)方法等主要內(nèi)容?!娟P(guān)鍵詞】微信;公眾平臺;應(yīng)用系統(tǒng)微信,簡稱wechat。是時下最受關(guān)注的移動互聯(lián)網(wǎng)產(chǎn)品。經(jīng)過幾年的發(fā)展,微信的注冊用戶數(shù)已超過6億,成為移動互聯(lián)網(wǎng)最重要的入口之一。微信公眾平臺(以下簡稱“公眾平臺”),曾命名為“官號平臺”和“媒體平臺”,最終定位為“公眾平臺”。公眾平臺又可以分為三種

2、類型:服務(wù)號、訂閱號和企業(yè)號。訂閱號,主要是為用戶提供信息推送業(yè)務(wù)。服務(wù)號旨在為用戶提供功能性服務(wù),它可以自定義菜單并進行應(yīng)用功能開發(fā)。企業(yè)號旨在幫助企業(yè)、政府機關(guān)、學(xué)校、醫(yī)院等事業(yè)單位和非政府組織建立與員工、上下游合作伙伴及內(nèi)部it系統(tǒng)間的連接,并能有效地簡化管理流程、提高信息的溝通和協(xié)同效率、提升對一線員工的服務(wù)及管理能力。基于公眾平臺的應(yīng)用系統(tǒng)開發(fā),這幾年得到了大家的追捧,發(fā)展迅猛。與傳統(tǒng)的移動端app比較,公眾平開發(fā)有以下幾個方面的優(yōu)勢:(1)公眾平臺應(yīng)用與app能實現(xiàn)的功能基本相同;(2)公眾平臺開發(fā)與平臺無關(guān),不用針對android與ios分別開發(fā);(3)公眾平臺推廣簡單,用戶粘性

3、大。只要提供二維碼,用戶掃描關(guān)注就能完成操作;(4)公眾平臺的開發(fā)與維護成本低。基于上面這些優(yōu)點,目前公眾平臺開發(fā)成為軟件業(yè)的一項發(fā)展最快的業(yè)務(wù)。1 微信公眾平臺開發(fā)微信公眾平臺開發(fā)是指,把企業(yè)推廣和管理業(yè)務(wù)從傳統(tǒng)的媒體和互聯(lián)網(wǎng)移植到微信公眾平臺中,節(jié)省推廣成本、增加用戶粘性、方便客戶操作。比較成功的應(yīng)用案例有招商銀行、南方航空、華為運動健康、廣州公安等。1.1 微信公眾平臺開發(fā)準(zhǔn)備企業(yè)要在開始著手公眾平臺開發(fā)以前,必須做好以下幾個方面的準(zhǔn)備工作。1.1.1 申請企業(yè)獨有的服務(wù)號或企業(yè)號公共號申請分兩個階段完成。第一階段:到微信公眾號官網(wǎng)注冊賬號。注冊時需要提供一個在用的電子郵箱、注冊人身份證

4、號、注冊人手拿身份證的照片。注冊信息需要經(jīng)過騰訊公司審核,一般需要12天。這樣注冊的號只是個訂閱號,只有信息推送功能,無法進行后臺開發(fā)。第二階段:賬號認(rèn)證,通過認(rèn)證的公眾號才是服務(wù)號或企業(yè)號。服務(wù)號和企業(yè)號才能進行深入的后臺功能開發(fā)。賬號認(rèn)證需要提供企業(yè)營業(yè)執(zhí)照、機構(gòu)代碼和企業(yè)的銀行賬號等信息,一次認(rèn)證的費用為300元,有效期1年,一個企業(yè)(單位)最多可以認(rèn)證5個公眾號。在進行公眾號功能開發(fā)時,可以提前對5個號的功能做好規(guī)劃。公眾號不針對個人開發(fā)。1.1.2 租用與開發(fā)技術(shù)相符合的服務(wù)器基于公共平臺的應(yīng)用系統(tǒng)需要不斷地與微信服務(wù)器通訊,系統(tǒng)必須部署在接入internet的網(wǎng)服務(wù)器上。選擇服務(wù)器

5、種類時,需要與系統(tǒng)的開發(fā)技術(shù)相配套,主要參考開發(fā)語言、數(shù)據(jù)庫類型、將來的用戶規(guī)模、系統(tǒng)維護方式等多方面。1.2 微信公眾平臺開發(fā)模式微信公眾平臺開發(fā)的主要依據(jù)是騰訊公司提供的“公眾平臺開發(fā)者文檔”,這個文檔隨著微信版本的提升,內(nèi)容也不斷在更新完善。公眾平臺開發(fā)與傳統(tǒng)的軟件開發(fā)在模式上有很大的區(qū)別,公眾平臺開發(fā)類似與基于網(wǎng)絡(luò)的編程,下面是公眾平臺開發(fā)模式的介紹。1.2.1 消息的接收與響應(yīng)模式消息的接收與響應(yīng)是用戶與公共平臺之間最常用的一種交互方式。參與消息交互的實體主要有3個:用戶、微信服務(wù)器和公眾賬號服務(wù)器,這三者之間的消息交互流程如圖1所示。1)接收消息當(dāng)微信用戶向公眾號發(fā)消息時,微信服務(wù)

6、器將post消息的xml數(shù)據(jù)包發(fā)送到開發(fā)者填寫的url上。2)發(fā)送消息對于每一個post請求,開發(fā)者在響應(yīng)包中返回特定xml結(jié)構(gòu),并對該消息進行響應(yīng)(支持回復(fù)文本、圖片、圖文、語音、視頻、音樂)。圖1 公眾平臺的消息交互流程1.2.2 消息結(jié)構(gòu)的封裝與處理微信服務(wù)器與公眾賬號服務(wù)器交互的消息可分為3類:請求消息、事件和響應(yīng)消息。微信服務(wù)器對每種消息數(shù)據(jù)采用xml格式封裝。微信api文檔給出了每一種消息的詳細(xì)xml結(jié)構(gòu)。下面給出的是文本消息的xml格式。這個xml文檔中封裝了消息的發(fā)送者、消息的接收者、消息創(chuàng)建時間、消息類型、消息內(nèi)容、消息id等信息。各種編程語言都有現(xiàn)成的框架來完成xml格式文

7、件的封裝與解析。java語言中最常用的xml處理開源框架有dom4j和xstream,下面這段代碼為xstream解析xml的核心代碼。其他功能的具體實現(xiàn)方法可查找相關(guān)資料。map map = new hashmap();/用于存放xml文檔解析結(jié)果inputstream is = request.getinputstream();/從請求中取得字節(jié)流格式的xml文件saxreader reader = new saxreader;/生成一個用于saxreader對像,該對象用于解析xml文檔document document = reader.read(is);/把字節(jié)流格式的xml文件,解

8、析成標(biāo)準(zhǔn)格式的xml文檔elment root = document.getrootelement();/得到xml根元素list elementlist = root.elements(); for(element e : elementlist )map.put(e.getname(),e.gettext();is.close();is = null;2 獲取接口訪問憑證公眾平臺為開發(fā)者提供了一系列接口,開發(fā)者通過調(diào)用這些接口能夠?qū)崿F(xiàn)創(chuàng)建自定義菜單、獲取用戶信息等功能。在調(diào)用這些接口時需要傳入接口訪問憑證access_token,開發(fā)者需要通過公眾平臺提供的獲取憑證接口得到access_t

9、oken。獲取憑證接口的請求地址為:https:/訪問憑證以json格式封裝,java語言可以通過json-lib,將json字符串轉(zhuǎn)換成java對象,這樣就可以方便地從對象中取到數(shù)據(jù)了。具體實現(xiàn)代碼如下:/將返回的json字符串轉(zhuǎn)換成jsonobject對象jsonobject jsonobject = jsonobject.fromobject(buffer.tostring()string accesstoken = jsonobject.getstring("access_token");/獲取接口訪問憑證int expiresin = jsonobject.get

10、int("expires_in");/獲取憑證的有效期3 自定義菜單的實現(xiàn)前期工作都準(zhǔn)備完成,取得了訪問憑證后,就可以使用微信的各種接口,實現(xiàn)系統(tǒng)需要的各項功能,包括自定義菜單、獲取用戶信息、地理位置服務(wù)、語音識別等。其中,自定義菜單是所有基于微信公共號應(yīng)用系統(tǒng)都必須實現(xiàn)的。通過調(diào)用自定義菜單接口,能夠?qū)崿F(xiàn)菜單的創(chuàng)建、查詢和刪除。其中最重要的是菜單的創(chuàng)建,查詢與刪除用得相對較少。自定義菜單的菜單項本質(zhì)上是一個按鈕,按鈕類型有click(點擊事件)和view(訪問網(wǎng)頁)兩種,兩種按鈕的屬性不同。表1 按鈕類型屬性說明下面為json格式的菜單結(jié)構(gòu):"button&qu

11、ot;:"type":"click","name":"點名","key":"count","type":"view","name":"名單","url":"http:/4/sms/detail.jsp"用json格式封裝好菜單結(jié)構(gòu)后,需要發(fā)起https post請求將菜單結(jié)構(gòu)提交到https:/菜單創(chuàng)建接口地址string menuurl

12、 = https:/url url = new url(menuurl)httpsurlconnection httpurl = (httpsurlconnection)url.openconnection();/省略信息管理操作部分httpurl.setrequestmethod("post"); /設(shè)置請求方式/向輸出流寫菜單結(jié)構(gòu)outputstream out = httpurl.getoutputstream();out.write(jsonmenu.getbytes("utf-8");out.close();自定義菜單創(chuàng)建完成后,由于微信客戶端緩存的原因,需要24小時后才會在公眾賬號上展現(xiàn)出來。4 結(jié)束語微信公眾平臺開發(fā)本質(zhì)上是按照微信服務(wù)器規(guī)定的流程和格式,調(diào)用微信服務(wù)器的各個高級接口,從而實現(xiàn)不同的平臺功能。隨著微信版本的不斷提升,微信服務(wù)器的高級接口也在不斷地擴

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論