C#開發(fā)微信門戶及應(yīng)用(15)-微信菜單增加掃一掃、發(fā)圖片、發(fā)地理位置功能
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
前面介紹了很多篇關(guān)于使用C#開發(fā)微信門戶及應(yīng)用的文章,基本上把當時微信能做的接口都封裝差不多了,微信框架也積累了不少模塊和用戶,最近發(fā)現(xiàn)微信公眾平臺增加了不少內(nèi)容,特別是在自定義菜單里面增加了掃一掃、發(fā)圖片、發(fā)地理位置功能,這幾個功能模塊很重要,想想以前想在微信公眾號里面增加一個掃描二維碼的功能,都做不了,現(xiàn)在可以了,還可以拍照上傳等功能,本文主要介紹基于我前面的框架系列文章,進一步介紹如何集成和使用這些新增功能。 1、微信幾個功能的官方介紹1). 掃碼推送事件用戶點擊按鈕后,微信客戶端將調(diào)起掃一掃工具,完成掃碼操作后顯示掃描結(jié)果(如果是URL,將進入URL),且會將掃碼的結(jié)果傳給開發(fā)者,開發(fā)者可以下發(fā)消息。 2). 掃碼推送事件,且彈出“消息接收中”提示框用戶點擊按鈕后,微信客戶端將調(diào)起掃一掃工具,完成掃碼操作后,將掃碼的結(jié)果傳給開發(fā)者,同時收起掃一掃工具,然后彈出“消息接收中”提示框,隨后可能會收到開發(fā)者下發(fā)的消息。 3). 彈出系統(tǒng)拍照發(fā)圖用戶點擊按鈕后,微信客戶端將調(diào)起系統(tǒng)相機,完成拍照操作后,將拍攝的相片發(fā)送給開發(fā)者,并推送事件給開發(fā)者,同時收起系統(tǒng)相機,隨后可能會收到開發(fā)者下發(fā)的消息。 4). 彈出拍照或者相冊發(fā)圖用戶點擊按鈕后,微信客戶端將彈出選擇器供用戶選擇“拍照”或者“從手機相冊選擇”。用戶選擇后即走其他兩種流程。 5). 彈出微信相冊發(fā)圖器用戶點擊按鈕后,微信客戶端將調(diào)起微信相冊,完成選擇操作后,將選擇的相片發(fā)送給開發(fā)者的服務(wù)器,并推送事件給開發(fā)者,同時收起相冊,隨后可能會收到開發(fā)者下發(fā)的消息。 6). 彈出地理位置選擇器用戶點擊按鈕后,微信客戶端將調(diào)起地理位置選擇工具,完成選擇操作后,將選擇的地理位置發(fā)送給開發(fā)者的服務(wù)器,同時收起位置選擇工具,隨后可能會收到開發(fā)者下發(fā)的消息。
2、微信新菜單功能的測試公眾號微信不僅增加了這些功能模塊的支持,還考慮到我們開發(fā)人員的方便,增加了一個叫做“menutest"的公眾號,方便我們測試。我們在公眾號搜索“menutest",然后關(guān)注它即可進行測試幾個新增功能了。 “menutest"的公眾號名稱是”自定義菜單拓展測試“,我關(guān)注它并進行了測試,二維碼、圖片、地理位置都很OK,本身能夠響應(yīng)這些事件,并且圖片、地理位置自身還能出現(xiàn)一個對應(yīng)的事件,如下所示。 圖片發(fā)送可以分為拍照、拍照和相冊、微信相冊三類,感覺后面兩個有點類似,但有這些功能都很不錯的。
3、改進菜單對象和提交菜單前面說了,微信提供這些功能,可以在菜單里面進行集成,也就是菜單的類型由原來CLICK/VIEW兩種,變?yōu)楝F(xiàn)在8種類型,增加2個掃碼操作、3種圖片操作、1種地理位置操作。 因此把菜單的枚舉類型擴展一下,如下所示。 /// <summary> 然后在Winform里面調(diào)用創(chuàng)建菜單操作代碼如下所示: private void btnCreateMenu_Click(object sender, EventArgs e) 當然,一般情況下我們都是在Web后臺系統(tǒng)進行的,維護菜單都是在自己微信平臺上進行菜單管理,然后一次性提交到微信服務(wù)器即可。 而在Web后臺,只需要把數(shù)據(jù)庫的數(shù)據(jù)變化為Json數(shù)據(jù)提交即可,操作和上面的類似。 /// <summary> 4、微信掃一掃功能集成前面講了,有了最新的功能,我們就可以實現(xiàn)掃一掃功能,從而可以掃描條形碼,二維碼的功能。有了條形碼、二維碼的快速和識別,我們就能開發(fā)一些如條碼查詢、商品處理等功能了。 這里我們介紹如何在我的微信開發(fā)框架里面整合這個掃一掃的功能處理操作。 前面已經(jīng)增加了一些新功能的測試菜單,我們要做的就是響應(yīng)這些事件處理,然后對他們進行應(yīng)答處理就可以了。 下面是根據(jù)事件進行的一些API跳轉(zhuǎn)處理,我們同時定義了幾個相關(guān)的實體類用來處理他們的信息,如RequestEventScancodePush、RequestEventScancodeWaitmsg、RequestEventPicSysphoto等等。 RequestEventScancodeWaitmsg實體類的代碼如下所示,其他的類似處理。 /// <summary> 而根據(jù)實體類強類型的處理接口流轉(zhuǎn)操作如下所示。 case RequestEvent.scancode_push: 處理掃描結(jié)果并返回的最終代碼如下所示。 /// <summary> 最后我們測試掃描一個條形碼,可以看到返回的結(jié)果界面操作如下所示。
5、新菜單功能測試發(fā)現(xiàn)的問題前面介紹了一些新菜單功能模塊的集成,我個人對這種掃一掃菜單功能非常贊賞,這也是微信逐步整合更多硬件資源和接口處理的趨向,不過在集成使用的時候,發(fā)現(xiàn)公眾號偶爾出現(xiàn)閃退的情況,還有就是這些新功能雖然后臺能夠?qū)崿F(xiàn)數(shù)據(jù)的處理和接收,但是有一些不能返回應(yīng)答消息,很郁悶。也許隨著版本研發(fā)的加快,這些功能很快得到完善和解決。 另外微信開放平臺也投入使用了,好些認證也是300元一年,不過暫時沒有其應(yīng)用的場景,我只是用到了它來獲取微信賬號的unionid的功能,其他功能慢慢了解吧。 還有就是微信的企業(yè)號也已經(jīng)出來了,而且我也已經(jīng)申請認證通過,它的開發(fā)用戶的API也有不少,有空繼續(xù)研究并整合到微信開發(fā)框架里面吧。
如果對這個《C#開發(fā)微信門戶及應(yīng)用》系列感興趣,可以關(guān)注我的其他文章,系列隨筆如下所示: C#開發(fā)微信門戶及應(yīng)用(20)-微信企業(yè)號的菜單管理 C#開發(fā)微信門戶及應(yīng)用(19)-微信企業(yè)號的消息發(fā)送(文本、圖片、文件、語音、視頻、圖文消息等) C#開發(fā)微信門戶及應(yīng)用(18)-微信企業(yè)號的通訊錄管理開發(fā)之成員管理 C#開發(fā)微信門戶及應(yīng)用(17)-微信企業(yè)號的通訊錄管理開發(fā)之部門管理 C#開發(fā)微信門戶及應(yīng)用(16)-微信企業(yè)號的配置和使用 C#開發(fā)微信門戶及應(yīng)用(15)-微信菜單增加掃一掃、發(fā)圖片、發(fā)地理位置功能 C#開發(fā)微信門戶及應(yīng)用(14)-在微信菜單中采用重定向獲取用戶數(shù)據(jù) C#開發(fā)微信門戶及應(yīng)用(13)-使用地理位置擴展相關(guān)應(yīng)用 C#開發(fā)微信門戶及應(yīng)用(12)-使用語音處理 C#開發(fā)微信門戶及應(yīng)用(11)--微信菜單的多種表現(xiàn)方式介紹 C#開發(fā)微信門戶及應(yīng)用(10)--在管理系統(tǒng)中同步微信用戶分組信息 C#開發(fā)微信門戶及應(yīng)用(9)-微信門戶菜單管理及提交到微信服務(wù)器 C#開發(fā)微信門戶及應(yīng)用(8)-微信門戶應(yīng)用管理系統(tǒng)功能介紹 C#開發(fā)微信門戶及應(yīng)用(7)-微信多客服功能及開發(fā)集成 C#開發(fā)微信門戶及應(yīng)用(6)--微信門戶菜單的管理操作 C#開發(fā)微信門戶及應(yīng)用(5)--用戶分組信息管理 C#開發(fā)微信門戶及應(yīng)用(4)--關(guān)注用戶列表及詳細信息管理 C#開發(fā)微信門戶及應(yīng)用(3)--文本消息和圖文消息的應(yīng)答 C#開發(fā)微信門戶及應(yīng)用(2)--微信消息的處理和應(yīng)答 C#開發(fā)微信門戶及應(yīng)用(1)--開始使用微信接口
主要研究技術(shù):代碼生成工具、Visio二次開發(fā)、客戶關(guān)系管理軟件、送水管理軟件等共享軟件開發(fā) 專注于Winform開發(fā)框架、Web開發(fā)框架、WCF開發(fā)框架的研究及應(yīng)用。 轉(zhuǎn)載請注明出處: 撰寫人:伍華聰 http://www.iqidi.com 該文章在 2014/12/2 1:00:45 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |