微信公眾號(hào)交互功能,微信公眾平臺(tái)開(kāi)發(fā)模式的數(shù)

2017-04-07|HiShop
導(dǎo)讀:微信公眾號(hào)交互功能 ,公眾平臺(tái)消息接口為開(kāi)發(fā)者提供了與用戶(hù)進(jìn)行消息交互的能力。對(duì)于成功接入消息接口的公眾賬號(hào),當(dāng)用戶(hù)發(fā)消息給公眾賬號(hào)時(shí),微信公眾平臺(tái)服務(wù)器會(huì)使 用 HT...

  微信公眾號(hào)交互功能,公眾平臺(tái)消息接口為開(kāi)發(fā)者提供了與用戶(hù)進(jìn)行消息交互的能力。對(duì)于成功接入消息接口的公眾賬號(hào),當(dāng)用戶(hù)發(fā)消息給公眾賬號(hào)時(shí),微信公眾平臺(tái)服務(wù)器會(huì)使 用 HTTP 請(qǐng)求對(duì)接入的網(wǎng)址進(jìn)行消息推送,第三方服務(wù)器可通過(guò)響應(yīng)包返回個(gè)性的回復(fù),從而達(dá)到回復(fù)消息的目的。簡(jiǎn)單地說(shuō),就是公眾賬號(hào)可以使用自己的程序來(lái)和用戶(hù)對(duì)話(huà)。

  這個(gè)模式和多年前的手機(jī)訂閱很像。在21世紀(jì)初,互聯(lián)網(wǎng)在泡沫之后迎來(lái)了一種非常厲害的盈利模式——SP/CP 模式,拯救了水深火熱的互聯(lián)網(wǎng)。當(dāng)然,現(xiàn)在這種模式已經(jīng)過(guò)時(shí)了,大家可以在網(wǎng)上了解一下那段互聯(lián)網(wǎng)的歷史。不過(guò)現(xiàn)實(shí)中還是存在真實(shí)的例子,如果你的手機(jī)號(hào)是中國(guó)移動(dòng)的,可以參看 10086 的短信功能;如果你的手機(jī)號(hào)是中國(guó)電信的,可以參看 10000 的短信功能。筆者的手機(jī)號(hào)是中國(guó)電信的,當(dāng)筆者想查詢(xún)自己的套餐使用情況時(shí),即可發(fā)送 702 到 10001,10001 會(huì)立即返回筆者的套餐詳細(xì)使用情況。大家肯定猜到這條短信不是人工發(fā)過(guò)來(lái)的,而是由后臺(tái)程序接到 702 之后查詢(xún)中國(guó)電信自己的用戶(hù)數(shù)據(jù)庫(kù)后發(fā)過(guò)來(lái)的。同樣的,中國(guó)移動(dòng)的用戶(hù)發(fā)送“YE”到 10086 查詢(xún)余額的功能也是一樣的。

  使用了開(kāi)發(fā)模式的微信公眾賬號(hào)就會(huì)成為一個(gè)配備了一些指令規(guī)則的賬號(hào)。在用戶(hù)關(guān)注公眾賬號(hào),發(fā)送對(duì)應(yīng)的指令給公眾賬號(hào)之后可以獲得相應(yīng)的結(jié)果。而這些規(guī)則的邏輯需要公眾賬號(hào)的開(kāi)發(fā)者根據(jù)公眾平臺(tái)的開(kāi)發(fā)規(guī)則在后臺(tái)實(shí)現(xiàn)。用戶(hù)、微信后臺(tái)和我們需要開(kāi)發(fā)的公眾賬號(hào)后臺(tái)的服務(wù)器三者之間的交互關(guān)系如圖1-1所示。

  

微信公眾號(hào)交互功能,微信公眾平臺(tái)開(kāi)發(fā)模式的數(shù)

 

  圖1-1 用戶(hù)、微信后臺(tái)和公眾賬號(hào)服務(wù)器間的交互圖

  圖1-1 所示的具體交互過(guò)程的描述如下:

  1)用戶(hù)在微信的手機(jī)客戶(hù)端里向公眾賬號(hào)發(fā)送一條消息,這條消息會(huì)通過(guò)網(wǎng)絡(luò)到達(dá)微信的后臺(tái);

  2)后臺(tái)收到這條消息之后,把消息轉(zhuǎn)發(fā)給公眾賬號(hào)的后臺(tái),也就是公眾賬號(hào)的服務(wù)器;

  3)公眾賬號(hào)服務(wù)器收到請(qǐng)求后,解析消息格式,根據(jù)用戶(hù)內(nèi)容和自己的服務(wù)器邏輯,計(jì)算出需要返回給用戶(hù)的消息,然后封裝消息,返回給微信后臺(tái);

  4)微信后臺(tái)把公眾賬號(hào)服務(wù)發(fā)來(lái)的消息轉(zhuǎn)發(fā)給用戶(hù)的微信手機(jī)客戶(hù)端,這樣用戶(hù)在手機(jī)客戶(hù)端上就可以看到公眾賬號(hào)發(fā)來(lái)的微信消息了。

  通過(guò)這個(gè)過(guò)程可以看到公眾賬號(hào)服務(wù)器要做的事情有三件:

  ? 獲取微信后臺(tái)發(fā)過(guò)來(lái)的消息;

  ? 實(shí)現(xiàn)自己的業(yè)務(wù)邏輯;

  ? 發(fā)送返回消息給微信后臺(tái)。

  因?yàn)槲⑿欧?wù)器請(qǐng)求公眾賬號(hào)服務(wù)使用的是 HTTP 協(xié)議,所以在公眾賬號(hào)服務(wù)器上必須要運(yùn)行一個(gè) HTTP 服務(wù),并打開(kāi)一個(gè)端口。本書(shū)的案例為了開(kāi)發(fā)時(shí)的 方便,使用 Windows 上的 AppServ 作為開(kāi)發(fā)和調(diào)試環(huán)境,使用 zendstudio 作為 PHP 語(yǔ)言的 IDE,使用 Windows 版本的 MySQL 作為數(shù)據(jù)存儲(chǔ);在部署應(yīng)用時(shí)使 用 Nginx、PHP-FPM 和 Linux 版本的 MySQL 作為生產(chǎn)環(huán)境。

  總結(jié):以上就是微信公眾號(hào)交互功能解讀,希望能幫助到你們!了解更多微信公眾號(hào)資訊,關(guān)注Hi商學(xué)院

TAGS: