Nodejs微信开发
因?yàn)槭褂昧薆ot Framework開發(fā)了一個小功能,它目前支持了Skype\Teams\Slack等,但在國內(nèi)來講,微信還是一個比較流行的軟件,所以需要接上微信
原來開發(fā)Bot的時候使用的是.Net開發(fā)的,這次我決定使用Nodejs開發(fā)一個簡單的后臺程序。
說真的,剛開始的時候沒有任何經(jīng)驗(yàn),剛開始的時候,還是很辛苦的。
一.注冊一個微信公眾號(我開始的時候注冊了一個個人訂閱帳號,才發(fā)現(xiàn)似乎接口不支持),推薦使用官方的測試平臺(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login),是一個功能完整的測試帳號
?
二.使用Nodejs開發(fā)后臺,前提是你的機(jī)器已經(jīng)安裝了Nodejs開發(fā)環(huán)境
如果你本機(jī)還未全局安裝express,那先使用npm全局安裝express
npm install express -g?
2.1 選中一個目錄,使用express創(chuàng)建一個項(xiàng)目
express WeChat-Bot這時,在該目錄就會產(chǎn)生一個WeChat-Bot的文件夾
2.2在命令行中進(jìn)入至WeChat-Bot文件夾,安裝依賴包(express生成的項(xiàng)目會包含某部分依賴包)并安裝wechat
cd WeChat-Bot npm installnpm install wechat -save
2.3編輯control加入文件wechat.js,并加入代碼
var wechat = require('wechat'); var config = {token: 'weixin',//token是你申請測試公眾號時候填寫的tokenappid: 'wxf6d0ac7f84dc22fb',//appid是申請時,自動生成的,就在最頂部encodingAESKey: 'ZEtViedarf49EUOCDeu45pqhkZhKPFBjSHI2DynP4vq',checkSignature: true // 可選,默認(rèn)為true。由于微信公眾平臺接口調(diào)試工具在明文模式下不發(fā)送簽名,所以如要使用該測試工具,請將其設(shè)置為false };//以下開始為獲取到微信服務(wù)器發(fā)送過來的消息,并在此處回復(fù)消息 //此處監(jiān)控的是URL的wechat,那么在配置微信的URL時,也需要在主機(jī)URL地址后面加入wechat這樣才可以獲取到數(shù)據(jù) app.use(express.query()); app.use('/wechat', wechat(config, function (req, res, next) {// 微信輸入信息都在req.weixin上 var message = req.weixin;console.log(message);
if(message.MsgType === 'text'){ res.reply('這是一個自動回復(fù)'); }else if(message.MsgType === 'voice'){ }else if(message.MsgType === 'image'){res.reply([{title: '文章提示',description: '返回的是文章',picurl: 'http://pic002.cnblogs.com/images/2011/159097/2011102917303125.jpg',url: 'http://doxmate.cool/node-webot/wechat/api.html'}]);} }));
2.4使用npm運(yùn)行項(xiàng)目,運(yùn)行命令后,Nodejs將在本機(jī)開發(fā)監(jiān)聽3000端口的請求
npm start三.使用ngrok將本機(jī)端口發(fā)布至公網(wǎng)
將生成的公網(wǎng)URL復(fù)制至公眾平臺中,為什么在地址后面加入wechat??這是因?yàn)镹odejs中,不是監(jiān)聽根目錄,而是根目錄下的wechat路徑,如果監(jiān)聽的是根目錄,則在公眾號中不需要加入wechat
?微信與公眾號后臺數(shù)據(jù)交互流程
?
?
參考:https://www.npmjs.com/package/wechat ? wechat包
http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index ?微信公眾號測試開發(fā)平臺
http://www.cnblogs.com/xuange306/p/4971702.html ? 微信后臺開發(fā)第一步:nodeJS+express接入微信后臺詳細(xì)教程
?
轉(zhuǎn)載于:https://www.cnblogs.com/weschen/p/6405436.html
總結(jié)
以上是生活随笔為你收集整理的Nodejs微信开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到自己感冒了流鼻涕预示着什么
- 下一篇: 睡觉梦到黄牛是什么预兆