天天看點

NodeJS微信公衆平台開發

     微信是手機使用者必備的App,微信最開始隻是作為社交通訊應用供使用者使用,但随着使用者量不斷的增加,微信的公衆号在微信上表現出來了它強大的一面,微信公衆平台具有四大優勢:1、平台更加穩固;2.使用者關系更加平等;3.資訊精選、定位準确; 微信的開放平台,微信公衆平台憑借4大優點受到企業喜愛,企業通過微信公衆平台把企業中的資訊資訊和服務功能在這個平台完美呈現;作為前沿的開發者微信開發勢在必行,雖然外面流行的程式設計語言都支援微信公衆平台的開發,但是我個人還是偏喜歡NodeJs,相比其他程式設計語言來靈活很多,開發成本低。

     使用NodeJs進行微信公衆平台開發,你隻需要在指令行中敲幾個指令修改及少數的代碼就可以完成很多的工作;Let go;

     如果不會NodeJs的朋友,可以先看我寫的兩篇基礎文章,對于聰明絕頂的你來說,花不了你多少時間;

        基礎篇:  NodeJs初學者經典入門解析

        Web篇: NodeJs使用Express開發Web項目

        首先你需要在你電腦任何目錄下面建立一個檔案夾,保證檔案夾是空的;

      步驟圖解:

            

NodeJS微信公衆平台開發
   項目添加express子產品包,使其支援Web開發;
NodeJS微信公衆平台開發
  安裝express子產品包
NodeJS微信公衆平台開發

  安裝wechat(微信公衆平台)子產品包

      下一步建立路由(類似于MVC中控制器):

              打開你的項目檔案中的app.js檔案,檔案26行(app.use('/users', users);)後面加入以下代碼;          

            'weixin'可以修改自己為自己的TOKEN值; 以下代碼從wechat子產品包中的測試代碼提取,沒技術含量,不要覺得多,現成的東西;

NodeJS微信公衆平台開發

var wechat = require("wechat");
app.use('/wx', wechat('weixin', function (req, res, next) {
  // 微信輸入資訊都在req.weixin上
  var info = req.weixin;
  // 回複屌絲(普通回複)
  if (info.FromUserName === 'diaosi') {
    res.reply('hehe');
  } else if (info.FromUserName === 'test') {
    res.reply({
      content: 'text object',
      type: 'text'
    });
  } else if (info.FromUserName === 'hehe') {
    res.reply({
      title: "來段音樂吧<",
      description: "一無所有>",
      musicUrl: "http://mp3.com/xx.mp3?a=b&c=d",
      hqMusicUrl: "http://mp3.com/xx.mp3?foo=bar"
    });
  } else if (info.FromUserName === 'cs') {
    res.transfer2CustomerService();
  } else if (info.FromUserName === 'kf') {
    res.transfer2CustomerService('test1@test');
  } else if (info.FromUserName === 'ls') {
    res.reply(info.SendLocationInfo.EventKey);
  } else if (info.FromUserName === 'pic_weixin') {
    res.reply(info.SendPicsInfo.EventKey);
  } else if (info.FromUserName === 'web') {
    res.reply('web message ok');
  } else if (info.FromUserName === 'empty') {
    res.reply('');
  } else {
  // 回複高富帥(圖文回複)
    res.reply([
      {
        title: '源代碼教育',
        description: '未來的高富帥你好',
        picurl: 'http://nodeapi.cloudfoundry.com/qrcode.jpg',
        url: 'http://www.itsource.cn/'
      }
    ]);
  }
}));      
NodeJS微信公衆平台開發

       指令行執行npm start,浏覽器http://localhost:3000/測試一下是否可以通路,準備工作搞定;

       接下一個,我們需要申請一個測試賬号;

         打開:http://mp.weixin.qq.com/wiki/home/ 微信公衆平台開發文檔

       

NodeJS微信公衆平台開發

        

NodeJS微信公衆平台開發

                 點選登入,會出現一個二維碼,拿出你的手機打開微信掃描網頁中二維碼;手機點選确認登入後會出現以下内容

NodeJS微信公衆平台開發

  下一步你需要填寫你伺服器的位址;一般都使用nat123工具做代理;下載下傳一個nat123軟體注冊一個就可以了

     Url:http://nat123注冊的域名/weixin;

  Token:微信公衆平台認證的指令牌與上面代碼中的一緻即可;

   注意點選送出的時請保證已經打開nat123工具,域名設定成功并且端口設定為3000(nodejs預設端口号),并且通過浏覽器直接輸入你在nat123注冊的域名可以通路你的本地應用,點選“送出”,點選一次可能不會成功,猛點N次;提供成功就OK了,不成功你就猛點吧,或者換個時間來試試,可能是nat123的網絡問題;如果無法通過,請找到項目檔案夾中node_modules\wechat\lib\wechat.js ,删除437行res.writeHead(200);然後将res.end(req.query.echostr);替換為res.send(req.query.echostr);指令行中重新開機NodeJs伺服器(ctrl+z後npm start);

        下一步拿出你的手機掃描,你的測試公衆号

NodeJS微信公衆平台開發

        然後随便發送一點内容;有傳回結果證明一切搞定了;看客如有問題請聯系小編喲;