国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
一、公眾平臺的通訊過程
二、XML通訊格式
三、一些需要注意和容易被忽視的問題:
四、工欲善其事,必先利其器:Senparc.Weixin.MP.dll
Rumah applet WeChat pembangunan WeChat Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(二):成為開發(fā)者

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(二):成為開發(fā)者

Feb 22, 2017 pm 03:28 PM
Platform awam WeChat

? ? 我覺得做好成為開發(fā)者的準(zhǔn)備比稀里糊涂開通微信后臺的“高級”功能更重要,所以這一節(jié)先放在前面說。

一、公眾平臺的通訊過程

? ? 作為開發(fā)者,我們需要面對的主要有兩個對象:微信服務(wù)器和應(yīng)用程序(網(wǎng)站)服務(wù)器。

? ? 當(dāng)微信用戶向你的公眾平臺發(fā)送一條消息,實際上這條消息首先發(fā)送到微信服務(wù)器,由微信服務(wù)器向網(wǎng)站服務(wù)器發(fā)起另外一個請求,網(wǎng)站服務(wù)器返回這個請求的結(jié)果,再由微信服務(wù)器發(fā)送到微信客戶端。

? ? 整個消息通訊流程如下圖:

? ??Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(二):成為開發(fā)者

? ? 上述5個步驟中,作為開發(fā)者我們主要精力都集中在步驟3上,這個步驟主實際上要有3項任務(wù):

  1. 接收來自2的XML信息

  2. 服務(wù)器內(nèi)部邏輯執(zhí)行

  3. 組織并返回用于4的XML信息

? ? 上述三項任務(wù)我會在后面做詳細(xì)說明,并提供一整套簡單、高效的處理方法。

二、XML通訊格式

? ? 用戶使用微信客戶端發(fā)送的不同類型的消息,網(wǎng)站服務(wù)器會收到不同格式的數(shù)據(jù)(文字、語音、圖片等等),數(shù)據(jù)格式暫時只有XML一種。

? ? 作為學(xué)習(xí),我覺得只要熟練掌握最簡單的文字類型就可以了,其他的格式都是大同小異。且在后面的說明中你會發(fā)現(xiàn),Senparc.Weixin.MP.dll可以幫助我們完全忽略這些繁瑣的格式和定義。

? ? 一個簡單的文字請求XML(RequestMessage)內(nèi)容如下:

<xml>
    <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName>
    <FromUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></FromUserName>
    <CreateTime>1357986928</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[TNT2]]></Content>
    <MsgId>5832509444155992350</MsgId>
</xml>

  對應(yīng)節(jié)點的官方說明如下:

參數(shù)描述
ToUserName開發(fā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgTypetext
Content文本消息內(nèi)容
MsgId消息id,64位整型

一個簡單的文字返回XML(ResponseMessage)內(nèi)容如下:

<xml>
   <ToUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></ToUserName>
   <FromUserName><![CDATA[gh_a96a4a619366]]></FromUserName>
   <CreateTime>12345678</CreateTime>
   <MsgType><![CDATA[text]]></MsgType>
   <Content><![CDATA[content]]></Content>
   <FuncFlag>0</FuncFlag>
</xml>

  對應(yīng)節(jié)點的官方說明如下:

參數(shù) 描述
ToUserName 接收方帳號(收到的OpenID)
FromUserName 開發(fā)者微信號
CreateTime 消息創(chuàng)建時間
MsgType text
Content 回復(fù)的消息內(nèi)容,長度不超過2048字節(jié)
FuncFlag 位0x0001被標(biāo)志時,星標(biāo)剛收到的消息。

?

?

?

?

?

?


三、一些需要注意和容易被忽視的問題:

  1. 每條XML信息都有大小限制,如文本信息,建議Content內(nèi)容不要超過600字。

  2. 上圖中,步驟2開始之后,微信服務(wù)器有一個等待時間:5秒,如果在這個時間內(nèi)沒有進(jìn)行到步驟4,那么這個請求將會被關(guān)閉(包括數(shù)據(jù)傳輸?shù)臅r間)。也就是說如果超過時間,即使網(wǎng)站服務(wù)器返回了數(shù)據(jù),客戶端也無法收到回復(fù)。

  3. 在文本消息中,是允許添加標(biāo)簽來放置連接的,但是有許多朋友測試之后發(fā)現(xiàn)iOS沒問題,Android上鏈接無法點擊,其實原因是(至少目前為止):Android的微信客戶端對標(biāo)簽格式的判定比較嚴(yán)格,請嚴(yán)格按照這個格式書寫:內(nèi)容,href后不要使用單引號,也不要添加其他屬性。

  4. 上面XML節(jié)點中的FromUserName即微信用戶的OpenId,對于同一個公眾賬號,這個OpenId的前6位是一致的,并且在整個公眾平臺的記錄中也是唯一的。也就是說同一個用戶關(guān)注了兩個不同的公眾賬號,他會有兩個不同的OpenId。

  5. CreateTime使用的是Unix時間,因此如果使用C#的話,需要做一個轉(zhuǎn)換。

  6. 盡量保持官方API中XML節(jié)點的順序,以前微信服務(wù)器是使用節(jié)點位置的方式讀取信息的(node[0]),而非節(jié)點名稱,現(xiàn)在這個問題似乎有好轉(zhuǎn),不過還是要小心(¥…………&%&……)。

  7. 由于這種特殊的通訊方式,(至少目前為止)所有請求必須從客戶端先發(fā)起,不要指望光使用API或SDK可以實現(xiàn)由網(wǎng)站服務(wù)器主動推送消息到客戶端(當(dāng)然其他辦法還是有的,比如模擬登陸)。

四、工欲善其事,必先利其器:Senparc.Weixin.MP.dll

? ? 雖然整個通訊過程十分簡單,但是官方API還是對一些字段做了特殊的約定或處理,況且面向過程地處理這么多類型的請求數(shù)據(jù)也是一件十分費力的事情。

? ? 為此我做了一個開源項目:Senparc.Weixin.MP,地址:http://m.miracleart.cn/

? ? Senparc.Weixin.MP的主要目的是幫助C#開發(fā)者簡化整個通訊過程,面向?qū)ο蟮靥幚硐?,把主要精力放到業(yè)務(wù)邏輯上,而非繁瑣的API上。

? ? 使用Senparc.Weixin.MP,并部署到外網(wǎng)與微信服務(wù)器通訊,你需要準(zhǔn)備這些環(huán)境:

  1. VS2012(至少VS2010 SP1);

  2. 如果需要運行MVC的Demo,至少需要.NET 4.0(安裝MVC 4),運行Webforms Demo,至少需要.NET 3.5;

  3. 一個可以使用80端口訪問的域名或IP,虛擬主機(jī)、花生殼映射內(nèi)網(wǎng)、VPS、獨立服務(wù)器都可以。

?

更多Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(二):成為開發(fā)者相關(guān)文章請關(guān)注PHP中文網(wǎng)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276