1. 程式人生 > >nodejs + BAE 搭建微信公眾號開發平臺

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

閒來無事建立了一個微信公眾賬號,名曰“深圳生活小助手”, 關注的人不多,平時發一些深圳新聞,趣事啥的,為了豐富公眾號的內容,準備新增一些便民查詢功能,例如天氣預報、快遞查詢等等。 於是就有了本文的內容。 深圳的讀者掃描關注支援下啊。。。

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

 1. 使用Express搭建本地站點

Express 是一個簡潔、靈活的 node.js Web 應用開發框架, 它提供一系列強大的特性,幫助你建立各種 Web 和移動裝置應用。本文不具體展開討論Express,你只要知道它是一個實現了nodejs的MVC框架就可以了,有興趣的讀者可參考 

http://www.expressjs.com.cn/ 做更深入的瞭解。如無特殊說明,我們的開發環境都是windows環境。

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

>npm install -g [email protected]

在這裡我們指定express版本號的目的是因為新版的express將express和它的命令列工具分離開了,安裝新版本的express後,還需要安裝相應的命令列工具,為了簡便起見,我們指定了express的版本。接下來,就是建立站點目錄,命令列如下所示:

>express szassis

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

>cd szassis
>npm install

命令執行完成後,為了測試站點是否成功,我們首先啟動站點伺服器,命令列如下:

>npm start

新建立的站點預設執行在3000埠上,在瀏覽器裡訪問http://localhost:3000,如果可以看到express的歡迎頁面,就表示我們的站點建立成功了。

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中新增如下程式碼:

複製程式碼
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. 配置微信公眾號

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

點選提交,一切順利的話會提示驗證成功,點選啟用按鈕啟用剛才的伺服器配置,大功告成。試著在給公眾號發幾個資訊驗證下,結果如下圖:

下一節我們將會演示如何使用我們搭建的開發平臺,為公眾號新增天氣預報功能。

相關推薦

nodejs + BAE 搭建公眾開發平臺

閒來無事建立了一個微信公眾賬號,名曰“深圳生活小助手”, 關注的人不多,平時發一些深圳新聞,趣事啥的,為了豐富公眾號的內容,準備新增一些便民查詢功能,例如天氣預報、快遞查詢等等。 於是就有了本文的內容。 深圳的讀者掃描關注支援下啊。。。 閒話不多說,本文主要介紹的就

公眾開發後臺基本搭建(基於NodeJs的express框架)

1 申請公眾號測試賬號 1.1 驗證伺服器 輸入伺服器ip地址和埠號(只支援80埠) 在公眾號上的操作微信伺服器都會轉發到此伺服器 Token 可以隨意命名, 微信伺服器會用此token驗證你的伺服器, 驗證的時候需要根據雜湊演算法進行加

公眾開發筆記1(nodejs開發的)

.post err log 加密 課堂 是我 targe 分享 gty 本篇記錄了微信公眾號開發的一些筆記 一、微信服務器與我們服務器的交流 微信開發者擁有自己的服務器,在我們服務器上可以與微信服務器進行交流。既然可以交流,那就必定需要前提條件(微信認證),也就是說,只有自

php之公眾開發三公牛牛房卡平臺搭建使用php7要註意的地方

mar shadow 公眾號開發 jpg oss 文檔 微信公眾號開發 dem proc 開啟微信公眾號開發三公牛牛房卡平臺搭建網站(h5.fanshubbs.com聯系Q1687054422),從微信開發文檔中下載demo 如下載php示例代碼 示例代碼中是使用“$GL

nodejs公眾開發-介面配置和簽名驗證

意外金喜的部落格 : http://blog.csdn.net/zzwwjjdj1 -- 建立專案 nodejs微信開發,本文介紹的是在express中使用 express命令列建立專案 :點選這裡, 建立專案 : weixin_ex

公眾開發——專案搭建

一  前往微信公眾平臺(https://mp.weixin.qq.com/)獲取開發許可權和開發賬號,公眾號分為好幾種,小程式,訂閱號,服務號,企業號,個人只能用訂閱號,許可權比較少(api介面許可權); 二 想要自定義模組功能或者是回覆資訊啥的,就得有一個自己的後臺來寫介面,

Nodejs公眾開發

概覽 key value 專案名稱 node微信公眾號開發 專案描述 使用node編寫介面,前後端分離獲取簽名資料 開發者 leinov 釋出日

NET公眾開發環境搭建

exe ray 測試環境 weixin 一起 開發者工具 debugger ref microsoft 公眾號的應用,開發及調試環境搭建 花生殼要註冊 需要二十多塊錢 ,還要實名認證,估計要一兩天才能審核通過 主要就是在 windows搭建測試環境 1.微信的應用場景

【Node.js+Express公眾開發】第一步:服務搭建接入

一、前言 此前微信開發,都比較依賴後端。然而有時候後端小夥伴特別忙,最近又學習了一下node的基礎知識,索性就想著自己用node整一遍。 本教程環境為linux系統centOs7系統 二、準備工作 1. 伺服器 伺服器我使用的是搬瓦工的,目前19.9美元那款,網上有

mac下公眾開發環境搭建

開發工具:idea 第一步、ngrok實現內網穿透(開發者配置中心中配置的伺服器地址必須是外網地址),操作如下 2. 解壓到指定目錄 3. 開啟“終端”,進入到解壓後的ngrok所在路徑:    $ cd /ngrok所在路徑 4. 開啟服務:    $ ./

公眾開發-開發環境搭建並通過java程式碼獲取access_token

進入開發文件: 獲取access token access_token是公眾號的全域性唯一票據,公眾號呼叫各介面時都需使用access_token。開發者需要進行妥善儲存。access_token的儲存至少要保留512個字元空間。access_token的有效期目前為2

公眾開發環境搭建拓展篇(Git)

        上一篇講到了新浪雲應用,現在我們來講講裡面的一些好用好玩的東西。         博主會以實踐中的過程來講,目的為了使博主自己對這些有趣的東西加深映象;這也是小白級別的,所以各路大神請

nodejs公眾開發-access_token獲取與儲存

var utils = {}; var sha1 = require('sha1'); var request = require('request'); var redis = require("redis"); var client = redis.createClient(); clien

公眾開發之使用eclipse建立web工程併發布到BAE測試

    本篇博文主要是講一下在eclipse上建立一個微信web工程併發布到BAE上,其中會講一些應該注意的問題 2.下載完以後,解壓到某個盤下面就可以,我習慣放在D盤根目錄,新建一個盤,命名為EclipseForWeiXin,然後把下載到的壓縮包解壓到該目錄即可 3

[nodejs]公眾開發{"errcode":48008,"errmsg":"no permission for this msgtype hint: [PgBA9a0938ge25]"}

::測試賬號不支援群發圖文訊息,以前能發是因為漏了檢查,是個bug,現在把檢查加上了。 測試號才會出現這個問題,服務號不會有這個問題。 解決:使用預覽介面(post)。 var yulanmpnews= { //圖文訊息預覽 touser:"o_

NET公眾開發環境搭建(二)-初識公眾

小白 生活 朋友 一個 支持 環境搭建 教你 進入 公司 最近有點忙(十二月和一月狂加班 9 10 6 著不住),又逢過年所以就沒寫, 閑話不多說,開始進入正題: 不講技術 ,講講我剛開始的心得 剛學微信公眾號的朋友肯定遇到一些問題:(我也是小白只是剛

公眾開發

weixin 後來 方式 發送請求 菜單 ml2 發現 格式 ejs 一、微信服務器與我們服務器的交流 微信開發者擁有自己的服務器,在我們服務器上可以與微信服務器進行交流。既然可以交流,那就必定需要前提條件(微信認證),也就是說,只有自己的服務器與微信服務器進行認證通過後,

公眾開發教程 小程序

微信開發 微信小程序PHP微信公眾平臺開發高級篇http://www.imooc.com/u/197650/courses?sort=publish微信小程序教程 。鏈接:http://pan.baidu.com/s/1slmAwDf 密碼:ciry微信公眾號開發教程 微信小程序

公眾開發--獲取用戶息中文亂碼的解決方案

其中 utf-8 == font zzu 解決 col class api 在微信開發中我們會經常需要獲取用戶的信息。 微信給我們提供了獲取用戶信息的api, 地址為 https://api.weixin.qq.com/cgi-bin/user/info?access_t

公眾開發80端口映射解決方案

解決方案 微信開發 80端口映射 說明最近公司要搞微信公眾號開發,需要解決80端口映射的問題,看了網上好多老司機的方法,最終選擇ngrok比較符合公司的情況。微信公眾平臺開發,可參考:https://mp.weixin.qq.com/wiki 。微信公眾號接口只支持80接口。測試環境: wind