基於NodeJS微信公衆號

最近從新研究了微信公衆號的高級接口,原來也利用C#或JAVA寫過微信公衆號,主要是消息的基礎接口。前端

因爲當時不知道微信公衆號能夠申請測試公衆號,微信測試公衆號基本上沒有任何限制,對於開發來講是一個不錯的選擇,node

之後如須要實現本身的公衆號只須要認證或申請服務號,把代碼中的APPID和APPSECERT進行替換就OK了。webpack

本次主要是用NodeJS爲進行實現,爲何換成NodeJS呢而不是之前已處理好的C#或JAVA呢?git

主要是想用一個免費的公共雲服務進行部署應用(具體https://leancloud.cn/),二是NodeJS處理起來比較簡單不須要編譯和發佈。github

現在前端的百花齊放不也正是由於V8和NodeJS的出現麼,各類前端構建工具,如webpack,gulp,grunt等。web

如利用NodeJS寫一個命令行工具也是很簡單的。gulp

如文件搜索過濾。服務器

如去除代碼文件中的換行符或註釋(利用nodejs stream的pipe能夠很簡單的處理)微信

處理前前端構建

處理後

代碼:

好像扯了比較遠呢。回到正題。

微信公衆號主要是經過消息的轉發進行實現大部分工做。

如客戶端須要查詢天氣狀況,客戶端先發送獲取天氣指令消息到公衆號(微信服務器),微信服務器將消息轉發到開發的應用程序,

應用程序接受到消息後,判斷是獲取天氣的指令,而後經過第三方平臺的天氣接口進行查詢天氣狀況,並把結果返回到客戶端。

代碼處理,第一步將微信的XML消息轉換成JSON格式,程序比較容易處理。

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

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

上面只是簡單的消息,還有其餘如建立菜單,訂閱事件,上報地理處理,掃一掃,JSSDK,訂閱用戶列表,獲取用戶信息(直接獲或經過oatuh2.0獲取)等接口。

如感興趣可獲取源碼:https://github.com/hhqqnu/weixin

實現最後的效果:

        

相關文章
相關標籤/搜索