999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微信公眾平臺(tái)的應(yīng)用系統(tǒng)開發(fā)模式研究

2016-10-18 17:08:33萬春旭
科技視界 2016年22期
關(guān)鍵詞:微信

萬春旭

【摘 要】本文在介紹微信公眾平臺(tái)的類型與功能的基礎(chǔ)上,同時(shí)給出了微信公眾平臺(tái)的申請(qǐng)與認(rèn)證方法,重點(diǎn)論述了公眾平臺(tái)的開發(fā)模式與關(guān)鍵技術(shù),包括消息響應(yīng)模式、安全認(rèn)證機(jī)制、消息封裝與解析及自定義菜單的實(shí)現(xiàn)方法等主要內(nèi)容。

【關(guān)鍵詞】微信;公眾平臺(tái);應(yīng)用系統(tǒng)

微信,簡稱weChat。是時(shí)下最受關(guān)注的移動(dòng)互聯(lián)網(wǎng)產(chǎn)品。經(jīng)過幾年的發(fā)展,微信的注冊(cè)用戶數(shù)已超過6億,成為移動(dòng)互聯(lián)網(wǎng)最重要的入口之一。

微信公眾平臺(tái)(以下簡稱“公眾平臺(tái)”),曾命名為“官號(hào)平臺(tái)”和“媒體平臺(tái)”,最終定位為“公眾平臺(tái)”。公眾平臺(tái)又可以分為三種類型:服務(wù)號(hào)、訂閱號(hào)和企業(yè)號(hào)。訂閱號(hào),主要是為用戶提供信息推送業(yè)務(wù)。服務(wù)號(hào)旨在為用戶提供功能性服務(wù),它可以自定義菜單并進(jìn)行應(yīng)用功能開發(fā)。企業(yè)號(hào)旨在幫助企業(yè)、政府機(jī)關(guān)、學(xué)校、醫(yī)院等事業(yè)單位和非政府組織建立與員工、上下游合作伙伴及內(nèi)部IT系統(tǒng)間的連接,并能有效地簡化管理流程、提高信息的溝通和協(xié)同效率、提升對(duì)一線員工的服務(wù)及管理能力。

基于公眾平臺(tái)的應(yīng)用系統(tǒng)開發(fā),這幾年得到了大家的追捧,發(fā)展迅猛。與傳統(tǒng)的移動(dòng)端APP比較,公眾平開發(fā)有以下幾個(gè)方面的優(yōu)勢:

(1)公眾平臺(tái)應(yīng)用與APP能實(shí)現(xiàn)的功能基本相同;

(2)公眾平臺(tái)開發(fā)與平臺(tái)無關(guān),不用針對(duì)android與ios分別開發(fā);

(3)公眾平臺(tái)推廣簡單,用戶粘性大。只要提供二維碼,用戶掃描關(guān)注就能完成操作;

(4)公眾平臺(tái)的開發(fā)與維護(hù)成本低。

基于上面這些優(yōu)點(diǎn),目前公眾平臺(tái)開發(fā)成為軟件業(yè)的一項(xiàng)發(fā)展最快的業(yè)務(wù)。

1 微信公眾平臺(tái)開發(fā)

微信公眾平臺(tái)開發(fā)是指,把企業(yè)推廣和管理業(yè)務(wù)從傳統(tǒng)的媒體和互聯(lián)網(wǎng)移植到微信公眾平臺(tái)中,節(jié)省推廣成本、增加用戶粘性、方便客戶操作。比較成功的應(yīng)用案例有招商銀行、南方航空、華為運(yùn)動(dòng)健康、廣州公安等。

1.1 微信公眾平臺(tái)開發(fā)準(zhǔn)備

企業(yè)要在開始著手公眾平臺(tái)開發(fā)以前,必須做好以下幾個(gè)方面的準(zhǔn)備工作。

1.1.1 申請(qǐng)企業(yè)獨(dú)有的服務(wù)號(hào)或企業(yè)號(hào)

公共號(hào)申請(qǐng)分兩個(gè)階段完成。第一階段:到微信公眾號(hào)官網(wǎng)注冊(cè)賬號(hào)。注冊(cè)時(shí)需要提供一個(gè)在用的電子郵箱、注冊(cè)人身份證號(hào)、注冊(cè)人手拿身份證的照片。注冊(cè)信息需要經(jīng)過騰訊公司審核,一般需要1~2天。這樣注冊(cè)的號(hào)只是個(gè)訂閱號(hào),只有信息推送功能,無法進(jìn)行后臺(tái)開發(fā)。第二階段:賬號(hào)認(rèn)證,通過認(rèn)證的公眾號(hào)才是服務(wù)號(hào)或企業(yè)號(hào)。服務(wù)號(hào)和企業(yè)號(hào)才能進(jìn)行深入的后臺(tái)功能開發(fā)。賬號(hào)認(rèn)證需要提供企業(yè)營業(yè)執(zhí)照、機(jī)構(gòu)代碼和企業(yè)的銀行賬號(hào)等信息,一次認(rèn)證的費(fèi)用為300元,有效期1年,一個(gè)企業(yè)(單位)最多可以認(rèn)證5個(gè)公眾號(hào)。在進(jìn)行公眾號(hào)功能開發(fā)時(shí),可以提前對(duì)5個(gè)號(hào)的功能做好規(guī)劃。公眾號(hào)不針對(duì)個(gè)人開發(fā)。

1.1.2 租用與開發(fā)技術(shù)相符合的服務(wù)器

基于公共平臺(tái)的應(yīng)用系統(tǒng)需要不斷地與微信服務(wù)器通訊,系統(tǒng)必須部署在接入Internet的網(wǎng)服務(wù)器上。選擇服務(wù)器種類時(shí),需要與系統(tǒng)的開發(fā)技術(shù)相配套,主要參考開發(fā)語言、數(shù)據(jù)庫類型、將來的用戶規(guī)模、系統(tǒng)維護(hù)方式等多方面。

1.2 微信公眾平臺(tái)開發(fā)模式

微信公眾平臺(tái)開發(fā)的主要依據(jù)是騰訊公司提供的“公眾平臺(tái)開發(fā)者文檔”,這個(gè)文檔隨著微信版本的提升,內(nèi)容也不斷在更新完善。公眾平臺(tái)開發(fā)與傳統(tǒng)的軟件開發(fā)在模式上有很大的區(qū)別,公眾平臺(tái)開發(fā)類似與基于網(wǎng)絡(luò)的編程,下面是公眾平臺(tái)開發(fā)模式的介紹。

1.2.1 消息的接收與響應(yīng)模式

消息的接收與響應(yīng)是用戶與公共平臺(tái)之間最常用的一種交互方式。參與消息交互的實(shí)體主要有3個(gè):用戶、微信服務(wù)器和公眾賬號(hào)服務(wù)器,這三者之間的消息交互流程如圖1所示。

1)接收消息

當(dāng)微信用戶向公眾號(hào)發(fā)消息時(shí),微信服務(wù)器將POST消息的XML數(shù)據(jù)包發(fā)送到開發(fā)者填寫的URL上。

2)發(fā)送消息

對(duì)于每一個(gè)POST請(qǐng)求,開發(fā)者在響應(yīng)包中返回特定XML結(jié)構(gòu),并對(duì)該消息進(jìn)行響應(yīng)(支持回復(fù)文本、圖片、圖文、語音、視頻、音樂)。

圖1 公眾平臺(tái)的消息交互流程

1.2.2 消息結(jié)構(gòu)的封裝與處理

微信服務(wù)器與公眾賬號(hào)服務(wù)器交互的消息可分為3類:請(qǐng)求消息、事件和響應(yīng)消息。微信服務(wù)器對(duì)每種消息數(shù)據(jù)采用XML格式封裝。微信API文檔給出了每一種消息的詳細(xì)XML結(jié)構(gòu)。下面給出的是文本消息的XML格式。這個(gè)XML文檔中封裝了消息的發(fā)送者、消息的接收者、消息創(chuàng)建時(shí)間、消息類型、消息內(nèi)容、消息ID等信息。

各種編程語言都有現(xiàn)成的框架來完成XML格式文件的封裝與解析。Java語言中最常用的XML處理開源框架有Dom4j和XStream,下面這段代碼為XStream解析XML的核心代碼。其他功能的具體實(shí)現(xiàn)方法可查找相關(guān)資料。

Map map = new HashMap();//用于存放XML文檔解析結(jié)果

InputStream is = request.getInputStream();//從請(qǐng)求中取得字節(jié)流格式的XML文件

SAXReader reader = new SAXReader;//生成一個(gè)用于SAXReader對(duì)像,該對(duì)象用于解析XML文檔

Document document = reader.read(is);//把字節(jié)流格式的XML文件,解析成標(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 獲取接口訪問憑證

公眾平臺(tái)為開發(fā)者提供了一系列接口,開發(fā)者通過調(diào)用這些接口能夠?qū)崿F(xiàn)創(chuàng)建自定義菜單、獲取用戶信息等功能。在調(diào)用這些接口時(shí)需要傳入接口訪問憑證access_token,開發(fā)者需要通過公眾平臺(tái)提供的獲取憑證接口得到access_token。獲取憑證接口的請(qǐng)求地址為:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET。這里的grant_type是授權(quán)類型,上傳固定值client_credential即可。參數(shù)appid和secret是一個(gè)公眾賬號(hào)的唯一憑證和密鑰。接口調(diào)用成功,返回一個(gè)如下格式JSON格式的結(jié)果:{"access_token":"ACCESS_TOKEN","expires_in":7200},acess_token就是我們需要的接口訪問憑證,它是一個(gè)長度上百位的加密字符串,expires_in是憑證的有效期,單位是秒。

訪問憑證以JSON格式封裝,Java語言可以通過JSON-lib,將JSON字符串轉(zhuǎn)換成Java對(duì)象,這樣就可以方便地從對(duì)象中取到數(shù)據(jù)了。具體實(shí)現(xiàn)代碼如下:

//將返回的JSON字符串轉(zhuǎn)換成JSONObject對(duì)象

JSONObject jsonObject = JSONObject.fromObject(buffer.toString())

String accessToken = jsonObject.getString("access_token");//獲取接口訪問憑證

int expiresIn = jsonObject.getInt("expires_in");//獲取憑證的有效期

3 自定義菜單的實(shí)現(xiàn)

前期工作都準(zhǔn)備完成,取得了訪問憑證后,就可以使用微信的各種接口,實(shí)現(xiàn)系統(tǒng)需要的各項(xiàng)功能,包括自定義菜單、獲取用戶信息、地理位置服務(wù)、語音識(shí)別等。其中,自定義菜單是所有基于微信公共號(hào)應(yīng)用系統(tǒng)都必須實(shí)現(xiàn)的。

通過調(diào)用自定義菜單接口,能夠?qū)崿F(xiàn)菜單的創(chuàng)建、查詢和刪除。其中最重要的是菜單的創(chuàng)建,查詢與刪除用得相對(duì)較少。自定義菜單的菜單項(xiàng)本質(zhì)上是一個(gè)按鈕,按鈕類型有click(點(diǎn)擊事件)和view(訪問網(wǎng)頁)兩種,兩種按鈕的屬性不同。

表1 按鈕類型屬性說明

下面為JSON格式的菜單結(jié)構(gòu):

{"button":[{"type":"click","name":"點(diǎn)名","key":"count"},{"type":

"view","name":"名單","url":"http://58.30.21.64/sms/detail.jsp"}……}

用JSON格式封裝好菜單結(jié)構(gòu)后,需要發(fā)起HTTPS POST請(qǐng)求將菜單結(jié)構(gòu)提交到https://api.weixin.qq.com/cgi-bin/menu/ceate?access_token=TOKEN。菜單創(chuàng)建的主要代碼如下:

//菜單創(chuàng)建接口地址

String menuUrl = https://api.weixin.qq.com/cgi-bin/menu/ceate?access_token=TOKEN

URL url = new URL(menuUrl)

HttpsURLConnection httpUrl = (HttpsURLConnection)url.openConnection

();

//省略信息管理操作部分

……

httpUrl.setRequestMethod("POST"); //設(shè)置請(qǐng)求方式

//向輸出流寫菜單結(jié)構(gòu)

OutputStream out = httpUrl.getOutputStream();

out.write(jsonMenu.getBytes("UTF-8"));

out.close();

自定義菜單創(chuàng)建完成后,由于微信客戶端緩存的原因,需要24小時(shí)后才會(huì)在公眾賬號(hào)上展現(xiàn)出來。

4 結(jié)束語

微信公眾平臺(tái)開發(fā)本質(zhì)上是按照微信服務(wù)器規(guī)定的流程和格式,調(diào)用微信服務(wù)器的各個(gè)高級(jí)接口,從而實(shí)現(xiàn)不同的平臺(tái)功能。隨著微信版本的不斷提升,微信服務(wù)器的高級(jí)接口也在不斷地?cái)U(kuò)展和更新。要開發(fā)公眾平臺(tái)系統(tǒng),首先,要完成本文中所列的開發(fā)準(zhǔn)備工作;其次,掌握XML文檔與JSON文檔的解析方法;最后,通過微信公眾號(hào)后臺(tái)深入研究每一個(gè)接口的使用方法。按照這3個(gè)步驟,開發(fā)基于微信公共平臺(tái)的應(yīng)用系統(tǒng)不是難事。

【參考文獻(xiàn)】

[1]柳峰.微信公眾平臺(tái)應(yīng)用開發(fā)方法、技巧與案例[M].機(jī)械工業(yè)出版社,2015: 52-126.

[2]微信公眾平臺(tái)開發(fā)者文檔,http://mp.weixin.qq.com/wiki/home/index.html[OL].

猜你喜歡
微信
微信
微信
微信
微信
微信
微信
微信
微信
微信
微信
主站蜘蛛池模板: 国产精品自拍露脸视频| 欧美精品1区| 精品国产Av电影无码久久久| 亚洲天堂777| 婷婷亚洲视频| 欧美v在线| 亚洲香蕉久久| 精品伊人久久久香线蕉 | 精品午夜国产福利观看| 日韩欧美中文| 国产精品播放| 伊人91视频| 四虎精品黑人视频| 国产无码在线调教| 国产不卡一级毛片视频| 福利姬国产精品一区在线| 成人日韩精品| 国产男女XX00免费观看| 亚洲人成人伊人成综合网无码| 亚洲美女操| 日本午夜在线视频| 激情综合网址| 99r在线精品视频在线播放| 国产JIZzJIzz视频全部免费| 国产欧美精品午夜在线播放| 久久久久亚洲AV成人人电影软件| 免费jjzz在在线播放国产| 园内精品自拍视频在线播放| a毛片免费看| 日本在线国产| 欧美视频在线第一页| 国产精品林美惠子在线观看| 亚洲第一视频网站| 久久福利网| 亚洲,国产,日韩,综合一区| 久久黄色一级视频| 露脸一二三区国语对白| 欧美国产日韩在线播放| 国产无码在线调教| 日韩毛片免费| 制服丝袜 91视频| 久草国产在线观看| 欧美综合区自拍亚洲综合天堂 | 在线99视频| 无码专区在线观看| 亚洲有无码中文网| 日本国产在线| 亚洲av日韩综合一区尤物| 国产在线精品99一区不卡| 亚洲福利一区二区三区| 久久伊伊香蕉综合精品| 无码人中文字幕| 久久无码免费束人妻| 亚洲系列无码专区偷窥无码| 亚瑟天堂久久一区二区影院| 精品伊人久久久大香线蕉欧美 | 婷婷综合缴情亚洲五月伊| 国产va在线观看免费| 日本成人精品视频| 国产成人综合在线观看| 美女扒开下面流白浆在线试听 | 午夜老司机永久免费看片| 激情视频综合网| 999国产精品永久免费视频精品久久 | 亚洲第一精品福利| 国产精品女人呻吟在线观看| 亚洲免费成人网| 91色老久久精品偷偷蜜臀| 久久夜色精品国产嚕嚕亚洲av| 毛片一级在线| 性做久久久久久久免费看| 99色亚洲国产精品11p| 国产亚洲欧美在线专区| 91精品aⅴ无码中文字字幕蜜桃 | 亚洲一级无毛片无码在线免费视频| 日本黄网在线观看| 国产精品吹潮在线观看中文| 91亚洲国产视频| 亚洲系列中文字幕一区二区| 91网站国产| 亚洲综合精品第一页| 免费国产无遮挡又黄又爽|