nodejs + BAE 搭建微信公衆號開發平臺

閒來無事建立了一個微信公衆帳號,名曰「深圳生活小助手」, 關注的人很少,平時發一些深圳新聞,趣事啥的,爲了豐富公衆號的內容,準備添加一些便民查詢功能,例如天氣預報、快遞查詢等等。 因而就有了本文的內容。 深圳的讀者掃描關注支持下啊。。。node

閒話很少說,本文主要介紹的就是如何基於nodejs和百度雲搭建微信公衆號開發平臺,下一節介紹如何基於該平臺實現了一個簡單的天氣預報查詢功能的小例子。git

 1. 使用Express搭建本地站點

Express 是一個簡潔、靈活的 node.js Web 應用開發框架, 它提供一系列強大的特性,幫助你建立各類 Web 和移動設備應用。本文不具體展開討論Express,你只要知道它是一個實現了nodejs的MVC框架就能夠了,有興趣的讀者可參考 http://www.expressjs.com.cn/ 作更深刻的瞭解。如無特殊說明,咱們的開發環境都是windows環境。github

確保你的機器上已經安裝了nodejs,並能夠成功運行npm命令。在命令提示符中執行以下命令安裝express:web

>npm install -g express@3.5.0

在這裏咱們指定express版本號的目的是由於新版的express將express和它的命令行工具分離開了,安裝新版本的express後,還須要安裝相應的命令行工具,爲了簡便起見,咱們指定了express的版本。接下來,就是建立站點目錄,命令行以下所示:express

>express szassis

szassis是網站根目錄的名字,建立完成後,進入到該目錄,安裝站點所須要的依賴包,命令行以下:npm

>cd szassis
>npm install

命令執行完成後,爲了測試站點是否成功,咱們首先啓動站點服務器,命令行以下:json

>npm start

新建立的站點默認運行在3000端口上,在瀏覽器裏訪問http://localhost:3000,若是能夠看到express的歡迎頁面,就表示咱們的站點建立成功了。windows

2. 在百度雲上建立應用

申請百度雲帳號,建立一個百度應用,選中使用BAE,類型選擇nodejs-web,代碼版本工具選擇svn(視我的偏好而定,也能夠選擇git),以下圖所示:瀏覽器

建立完成後,在應用引擎中就能夠看到咱們新建立的工程,在這裏能夠複製svn的地址,以下圖所示:服務器

 

3. 關聯百度雲上存儲的代碼和本地代碼

本地下載安裝svn代碼版本控制工具,在站點根目錄文件夾szassis上點擊右鍵,選擇SVN checkout...,在彈出框中URL of repository中填寫以前複製的svn地址,check out directory選擇站點根目錄,注意,因爲此時根目錄下已經有文件了,因此默認svn會建立一個子文件夾,咱們不須要這個子文件夾,因此修改輸入指定到根目錄,以下圖所示:

點擊ok,此時百度雲上存儲的代碼文件就同步到了本地,打開站點根目錄文件夾,作一下幾步修改:

  1. 拷貝app.js文件的內容到server.js中,並刪除app.js(因爲百度雲應用默認要求的入口文件時server.js,爲了不麻煩,推薦繼續使用server.js)
  2. 修改package.config文件,將入口文件由app.js改成server.js,同時命名name爲szassis,代碼以下:
    {
      "name": "szassis",
      "version": "0.0.1",
      "private": true,
      "scripts": {
        "start": "node server.js"
      },
      "dependencies": {
        "express": "3.5.0",
        "jade": "*"
      }
    }
  3. 修改server.js文件,將默認端口號由3000改成18080。(18080是百度雲要求的默認端口號)
  4. 將修改後的文件提交到百度雲,在站點根目錄上選擇SVN commit...,在彈出框中取消選擇node_modules(該文件夾無需同步到百度雲), 同時選中express建立其餘的文件,點擊ok,將更改同步到百度雲上。

若是一切步驟都順利的話,在瀏覽器中輸入http://szassis.duapp.com/,將會看到express的歡迎語,咱們也能夠修改相應的文件改變歡迎語言,或者直接建立一個更酷的首頁,不過咱們要作的是和微信公衆帳號的關聯,因此這裏就不進一步探討了。

4. 微信公衆號的接入認證和消息處理

咱們能夠本身編寫微信公衆號的接入認證和消息處理方法,但因爲這些方法是固定可重用的,因此這裏咱們選擇一個第三方的npm包wechat,wechat很好的封裝了和微信公衆號的通訊接口和消息接口,便於咱們將更多的精力放在編寫實用程序上。在站點根目錄安裝wechat的命令行以下:

>npm install wechat

因爲咱們無須將依賴包同步到百度雲上,因此只須要在package.json中添加wechat的依賴關係就能夠了,代碼以下:

{
  "name": "szassis",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "3.5.0",
    "jade": "*",
    "wechat": "1.2.1"
  }
}

在sever.js中添加以下代碼:

var wechat = require('wechat');

app.use(express.query()); app.use(
'/wechat', wechat('szassis', function (req, res, next) { var message = req.weixin; if(message.MsgType == 'text'){ res.reply({ type: "text", content: "you input " + message.Content}); } }));

這裏app.use的第一個參數‘/wechat’指定了和微信公衆號通訊的路徑,即http://szassis.duapp.com/wechat,wechat函數的第一個參數就是和微信公衆號通訊使用的token, 有關wechat的更多介紹參考:https://github.com/node-webot/wechat

5. 配置微信公衆號

在微信公衆號的管理後臺選擇開發者中心,在服務器配置中,選擇修改配置,配置相應的選項,以下圖所示:

點擊提交,一切順利的話會提示驗證成功,點擊啓用按鈕啓用剛纔的服務器配置,大功告成。試着在給公衆號發幾個信息驗證下,結果以下圖:

下一節咱們將會演示如何使用咱們搭建的開發平臺,爲公衆號添加天氣預報功能。

相關文章
相關標籤/搜索