最近重新研究了微信公眾號的高級接口,原來也利用C#或JAVA寫過微信公眾號,主要是消息的基礎接口。
由於當時不知道微信公眾號可以申請測試公眾號,微信測試公眾號基本上沒有任何限制,對於開發來說是一個不錯的選擇,
以后如需要實現自己的公眾號只需要認證或申請服務號,把代碼中的APPID和APPSECERT進行替換就OK了。
本次主要是用NodeJS為進行實現,為什么換成NodeJS呢而不是以前已處理好的C#或JAVA呢?
主要是想用一個免費的公共雲服務進行部署應用(具體https://leancloud.cn/),二是NodeJS處理起來比較簡單不需要編譯和發布。
如今前端的百花齊放不也正是因為V8和NodeJS的出現么,各種前端構建工具,如webpack,gulp,grunt等。
如利用NodeJS寫一個命令行工具也是很簡單的。
如文件搜索過濾。


如去除代碼文件中的換行符或注釋(利用nodejs stream的pipe可以很簡單的處理)
處理前

處理后

代碼:

好像扯了比較遠呢。回到正題。
微信公眾號主要是通過消息的轉發進行實現大部分工作。
如客戶端需要查詢天氣情況,客戶端先發送獲取天氣指令消息到公眾號(微信服務器),微信服務器將消息轉發到開發的應用程序,
應用程序接受到消息后,判斷是獲取天氣的指令,然后通過第三方平台的天氣接口進行查詢天氣情況,並把結果返回到客戶端。
代碼處理,第一步將微信的XML消息轉換成JSON格式,程序比較容易處理。

第二步根據微信的消息類型進行消息處理。

第三步根據消息進行處理並返回處理結果



上面只是簡單的消息,還有其他如創建菜單,訂閱事件,上報地理處理,掃一掃,JSSDK,訂閱用戶列表,獲取用戶信息(直接獲或通過oatuh2.0獲取)等接口。
如感興趣可獲取源碼:https://github.com/hhqqnu/weixin
實現最后的效果:

