這篇文章主要詳解使用Nodejs開(kāi)發(fā)微信公眾號(hào)后臺(tái)服務(wù)功能實(shí)例(附代碼),主要使用到了express, wechat, mongodb, monk等模塊,需要的朋友可以參考下
摘要:
微信,龐大的用戶(hù)基數(shù),極強(qiáng)的用戶(hù)粘性,在近兩年吸引了無(wú)數(shù)的開(kāi)發(fā)者注意力。 Nodejs,近兩年發(fā)展非??斓拈_(kāi)發(fā)工具,尤其適合構(gòu)建移動(dòng)后臺(tái)。本文就以筆者自己開(kāi)發(fā)的實(shí)例,來(lái)描述如何基于Nodejs開(kāi)發(fā)屬于自己的微信公眾號(hào)。在這個(gè)實(shí)例中,主要使用到了express, wechat, mongodb, monk等模塊。
前期準(zhǔn)備:
1.申請(qǐng)微信公眾號(hào),前往 https://mp.weixin.qq.com/? 申請(qǐng),這里不做過(guò)多闡述。
2. 購(gòu)買(mǎi)服務(wù)器, 這里推薦Amazon的EC2,首次用戶(hù)可選擇micro instance,一年免費(fèi),申請(qǐng)很方便,只需輸入自己的信用卡信息即可,只是整個(gè)過(guò)程是全英文,不過(guò)年免費(fèi)呦,多花點(diǎn)時(shí)間也是值得的。
安裝NodeJs開(kāi)發(fā)環(huán)境:
代碼如下:
yum -y install gcc yum -y install gcc-c++ yum -y install make automake wget http://m.miracleart.cn/ tar -xvzf node-v0.10.29.tar.gz cd 解壓目錄 ./configure make make install
安裝Mongodb:
代碼如下:
wget http://downloads.10gen.com/linux/mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz tar -xvzf mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz sudo cp -R -n mongodb-linux-x86_64-enterprise-amzn64-2.6.3 /usr/local/mongodb
筆者所在班級(jí)組了個(gè)足球隊(duì),大家統(tǒng)一把錢(qián)交到隊(duì)長(zhǎng)手里,由隊(duì)長(zhǎng)支付每次費(fèi)用,并記錄每人費(fèi)用和余額并通知大家。由于不是每次所有人都能來(lái),而費(fèi)用只能由參加活動(dòng)的人以AA方式平攤,記錄起來(lái)比較麻煩。于是筆者就做了個(gè)微信公眾號(hào),每次只需要輸入活動(dòng)消費(fèi)金額和選擇參與人數(shù),即可自動(dòng)生成每人花費(fèi)和余額,此后把明細(xì)發(fā)到微信群里,每個(gè)人就可以看見(jiàn)了。
在這個(gè)實(shí)例中,筆者實(shí)際上搭建了一個(gè)微網(wǎng)站,通過(guò)Web頁(yè)面來(lái)記錄或顯示活動(dòng)花費(fèi)和余額。微信公眾號(hào)就相當(dāng)于在用戶(hù)微信和微網(wǎng)站之間搭起了一個(gè)橋梁,當(dāng)微信用戶(hù)關(guān)注筆者的公眾賬號(hào)時(shí),通過(guò)微信公眾平臺(tái)開(kāi)發(fā)者模式,即可自動(dòng)給微信用戶(hù)回復(fù)使用幫助。在幫助里,包含了操作相應(yīng)的web link,只需要點(diǎn)擊即可進(jìn)入相應(yīng)頁(yè)面。
構(gòu)建微信公眾號(hào)后臺(tái)服務(wù):
萬(wàn)事具備,只欠開(kāi)發(fā)了:)
開(kāi)始之前,先簡(jiǎn)要介紹下express和wechat 兩個(gè)模塊:
express - 優(yōu)秀的Web開(kāi)發(fā)框架, 使用express,可以非??焖俚拇罱ㄗ约旱木W(wǎng)站。由于微信服務(wù)器會(huì)通過(guò)HTTP Post請(qǐng)求來(lái)和開(kāi)發(fā)者服務(wù)器交互,所以需要使用express框架。
下面是有新用戶(hù)關(guān)注時(shí)的log, 103.7.30.84為微信服務(wù)器的IP地址。
代碼如下:
103.7.30.84 POST /wechat?signature=8a8e408fdae6bbdd6e470af98865a5f993cea283×tamp=1408610461&nonce=1572142586 2 200
wechat - 封裝了和微信服務(wù)器交互的細(xì)節(jié),使開(kāi)發(fā)者只需關(guān)注自己的業(yè)務(wù)即可。
首先,我們要安裝express 并使用express 來(lái)創(chuàng)建工程:
代碼如下:
npm install -g express express -e your_project 參數(shù) -e 表明使用ejs 引擎,無(wú)參數(shù)默認(rèn)使用jade 引擎。 cd your_project && npm install
安裝后的目錄結(jié)構(gòu)如下:
代碼如下:
[ec2-user@ip-172-31-2-188 your_project]$ ls app.js bin node_modules package.json public routes views
接下來(lái)安裝wechat:
代碼如下:
npm install wechat
微信開(kāi)發(fā)者模式配置:
配置URL和token,示例如下:
微信服務(wù)器接入認(rèn)證和自動(dòng)回復(fù):
修改app.js,相應(yīng)代碼如下:
代碼如下:
app.use('/users', users); app.use('/weixin', weixin); app.use(express.query()); // Or app.use(express.query()); app.use('/wechat', wechat('hchismylove', function (req, res, next) { // 微信輸入信息都在req.weixin上 var message = req.weixin; console.log(message); if((message.MsgType == 'event') && (message.Event == 'subscribe')) { var refillStr = "<a href=\"http://your_IP/weixin/refill?weixinId=" + message.FromUserName + "\">1. 點(diǎn)擊記錄團(tuán)隊(duì)充值</a>" var consumeStr = "<a href=\"http://your_IP/weixin/consume?weixinId=" + message.FromUserName + "\">2. 點(diǎn)擊記錄團(tuán)隊(duì)消費(fèi)</a>" var deleteStr = "<a href=\"http://your_IP/weixin/delete?weixinId=" + message.FromUserName + "\">3. 點(diǎn)擊回退記錄</a>" var historyStr = "<a href=\"http://your_IP/weixin/history?weixinId=" + message.FromUserName + "\">4. 點(diǎn)擊查詢(xún)歷史記錄</a>" var emptyStr = " "; var replyStr = "感謝你的關(guān)注!" + "\n"+ emptyStr + "\n" + refillStr + "\n"+ emptyStr + "\n" + consumeStr + "\n"+ emptyStr + "\n" + deleteStr + "\n"+ emptyStr + "\n" + historyStr; res.reply(replyStr); } }));
通過(guò)下面這行代碼即可實(shí)現(xiàn)微信服務(wù)器接入認(rèn)證:
代碼如下:
app.use('/wechat', wechat('your_token', function (req, res, next) {
如下代碼實(shí)現(xiàn)了當(dāng)新用戶(hù)關(guān)注時(shí),自動(dòng)發(fā)送使用幫助:
代碼如下:
if((message.MsgType == 'event') && (message.Event == 'subscribe')) { .... res.reply(replyStr); }
微信截圖如下:
以上是詳解使用Nodejs開(kāi)發(fā)微信公眾號(hào)后臺(tái)服務(wù)功能實(shí)例(附代碼)的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)