1. 程式人生 > >微信開發原理 公眾平臺開發模式的資料互動方式

微信開發原理 公眾平臺開發模式的資料互動方式

1.2 公眾平臺開發模式的資料互動方式

公眾平臺訊息介面為開發者提供了與使用者進行訊息互動的能力。對於成功接入訊息介面的公眾賬號,當用戶發訊息給公眾賬號時,微信公眾平臺伺服器會使 用 HTTP 請求對接入的網址進行訊息推送,第三方伺服器可通過響應包返回個性的回覆,從而達到回覆訊息的目的。簡單地說,就是公眾賬號可以使用自己的程式來和使用者對話。

這個模式和多年前的手機訂閱很像。在21世紀初,網際網路在泡沫之後迎來了一種非常厲害的盈利模式——SP/CP 模式,拯救了水深火熱的網際網路。當然,現在這種模式已經過時了,大家可以在網上了解一下那段網際網路的歷史。不過現實中還是存在真實的例子,如果你的手機號是中國移動的,可以參看 10086 的簡訊功能;如果你的手機號是中國電信的,可以參看 10000 的簡訊功能。筆者的手機號是中國電信的,當筆者想查詢自己的套餐使用情況時,即可傳送 702 到 10001,10001 會立即返回筆者的套餐詳細使用情況。大家肯定猜到這條簡訊不是人工發過來的,而是由後臺程式接到 702 之後查詢中國電信自己的使用者資料庫後發過來的。同樣的,中國移動的使用者傳送“YE”到 10086 查詢餘額的功能也是一樣的。

使用了開發模式的微信公眾賬號就會成為一個配備了一些指令規則的賬號。在使用者關注公眾賬號,傳送對應的指令給公眾賬號之後可以獲得相應的結果。而這些規則的邏輯需要公眾賬號的開發者根據公眾平臺的開發規則在後臺實現。使用者、微信後臺和我們需要開發的公眾賬號後臺的伺服器三者之間的互動關係如圖1-1所示。

圖1-1 使用者、微信後臺和公眾賬號伺服器間的互動圖

圖1-1 所示的具體互動過程的描述如下:
1)使用者在微信的手機客戶端裡向公眾賬號傳送一條訊息,這條訊息會通過網路到達微信的後臺;
2)後臺收到這條訊息之後,把訊息轉發給公眾賬號的後臺,也就是公眾賬號的伺服器;
3)公眾賬號伺服器收到請求後,解析訊息格式,根據使用者內容和自己的伺服器邏輯,計算出需要返回給使用者的訊息,然後封裝訊息,返回給微信後臺;
4)微信後臺把公眾賬號服務發來的訊息轉發給使用者的微信手機客戶端,這樣使用者在手機客戶端上就可以看到公眾賬號發來的微信訊息了。

通過這個過程可以看到公眾賬號伺服器要做的事情有三件:
❑ 獲取微信後臺發過來的訊息;
❑ 實現自己的業務邏輯;
❑ 傳送返回訊息給微信後臺。

因為微信伺服器請求公眾賬號服務使用的是 HTTP 協議,所以在公眾賬號伺服器上必須要執行一個 HTTP 服務,並開啟一個埠。本書的案例為了開發時的 方便,使用 Windows 上的 AppServ 作為開發和除錯環境,使用 zendstudio 作為 PHP 語言的 IDE,使用 Windows 版本的 MySQL 作為資料儲存;在部署應用時使 用 Nginx、PHP-FPM 和 Linux 版本的 MySQL 作為生產環境。

接下來介紹一下開發環境的準備工作及生產環境的部署,如果讀者已經知道如何使用 AppServ 可以跳過這些內容。