1、公眾號的類別和注冊
1.1 公眾號類別
微信公眾號目前有三種,訂閱號、服務號、企業號,另外還有一種后來推出的和公眾號帶點關系的小程序。
訂閱號、服務號和企業號的功能區別如下(更多詳細區別戳
參考鏈接):

而在我們微信的日常使用中可以看到,訂閱號會集中放置在“訂閱號”中,不會直接出現在聊天欄,而是放在二級目錄下(如虎嗅網、36氦)。服務號的話,則是直接放在聊天面板的一級目錄中的(如中國移動10086),主要是用以部分大公司企業提供服務,而訂閱號主打是咨詢和媒體。而企業號主要是用於公司內部交流,使用不多,這里不展開描述。
1.2 公眾號注冊
公眾號是獨立於微信的,需要單獨注冊然后對微信進行綁定,所以你如果不注冊而是直接用你的微信號直接去登陸公眾號平台是無法登陸的。
公眾號的注冊(注冊
參考鏈接)根據開發需要進行選擇公眾號的不同類別,注冊流程簡單,填寫基本信息,郵箱激活,信息登記等流程按照官方走完,你就擁有了一個公眾號了。
登陸微信的公眾平台,微信提供了兩種模式,開發和非開發,非開發模式下提供了一些基本的如消息發送,菜單定義等,而開發模式的話,則除了非開發的基本功能,還可以根據微信提供的接口創造更多有趣的功能。需要注意的是,一個微信只能在兩種模式擇一,選擇開發模式,則非開發模式會關閉。意思就是說,假如你選擇開發模式,那么如果你想定義菜單,你無法使用微信后台管理系統提供的方便的自定義菜單的功能,而是必須使用微信提供的自定義菜單的接口,通過調用接口來實現。
2、微信平台消息傳遞的基本過程
先講一下微信平台消息的基本傳遞過程,接下來的更多概念和接口用法才更容易理解。
我們在使用一些微信公眾號的時候,肯定遇到過這種情況,給公眾號發送一些消息,它會回復你不同的內容,也就是說,該微信公眾號可以識別你的消息類型、內容,然后做出不同的反饋。甚至復雜的,可以模擬出一個自動應答的機器人。(如下圖的中國移動為例)

那么我們就了解下這個消息發送過去的處理過程是怎樣的。
借用一下
方倍老師博客中的圖片和部分敘述:

用戶在給公眾號發送一條消息時,並不是直接到達我們的服務器,而是先到達微信服務器,微信服務器會將用戶的消息組裝為一些特定格式的xml文件,這個xml文件就包括了收發人、消息類型、發送時間等等,然后再交給我們的服務器。我們的服務器對這種格式的消息進行解析,根據需要進行判斷,再把我們想要返回的消息組裝成一個符合微信規范的xml文件,發給微信服務器,然后交由它進行解析和回傳處理。
(其中GET方式請求訪問我們的服務器是主要用於微信服務器的校驗,POST方式大多是用於交互,即用戶發送消息我們設置邏輯進行響應,所以通常請求到我們的服務器以后,要根據不同的請求類型進行判斷后,再進行邏輯處理)
所以到這里,我們現在有了微信公眾號,除了代碼,我們還需要承載代碼的服務器,因為微信是在線的,這要求我們的服務器也在線,而不像我們往常測試web項目在自己電腦運行就可以了,所以很多教程也會在開篇告訴讀者先去網上准備服務器,作為環境開發。
對於詳細的服務器准備,和代碼的基本部署,這里就不再詳細展開了,可以直接參考下面兩篇博文:
如果還希望看到更多的相關參考,那么下面這幾個參考鏈接也是不錯的:
當然,使用在線服務器很不方便,因為每次改動代碼,需要你重新上傳war包,或者說不是不方便,簡直就是難以測試。所以我們要
想辦法讓我們的本地電腦就能當成在線服務器使用,即內網映射,這樣就能做到本地測試。這個留到下篇來講。