最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Nodejs開(kāi)發(fā)微信公眾號(hào)后臺(tái)服務(wù)實(shí)例

 更新時(shí)間:2014年09月03日 10:48:05   投稿:junjie  
這篇文章主要介紹了使用Nodejs開(kāi)發(fā)微信公眾號(hào)后臺(tái)服務(wù)實(shí)例,在這個(gè)實(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)境:

復(fù)制代碼 代碼如下:

1.  yum -y install gcc
2.  yum -y install gcc-c++
3.  yum -y install make automake
4.  wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
5.  tar -xvzf node-v0.10.29.tar.gz
6.  cd  解壓目錄
7. ./configure
8.  make
9.  make install

安裝Mongodb:
復(fù)制代碼 代碼如下:

1. wget http://downloads.10gen.com/linux/mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz
2. tar -xvzf mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz
3. sudo cp -R -n  mongodb-linux-x86_64-enterprise-amzn64-2.6.3 /usr/local/mongodb

實(shí)例介紹:

筆者所在班級(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ǎ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地址。

復(fù)制代碼 代碼如下:

103.7.30.84 POST /wechat?signature=8a8e408fdae6bbdd6e470af98865a5f993cea283&timestamp=1408610461&nonce=1572142586 2 200

wechat -  封裝了和微信服務(wù)器交互的細(xì)節(jié),使開(kāi)發(fā)者只需關(guān)注自己的業(yè)務(wù)即可。

首先,我們要安裝express 并使用express 來(lái)創(chuàng)建工程:

復(fù)制代碼 代碼如下:
1. npm install -g express
2. express -e your_project    參數(shù) -e 表明使用ejs 引擎,無(wú)參數(shù)默認(rèn)使用jade 引擎。
3. cd your_project && npm install

安裝后的目錄結(jié)構(gòu)如下:

復(fù)制代碼 代碼如下:

[ec2-user@ip-172-31-2-188 your_project]$ ls
app.js  bin  node_modules  package.json  public  routes  views

接下來(lái)安裝wechat:
復(fù)制代碼 代碼如下:

1. npm install wechat

微信開(kāi)發(fā)者模式配置:

配置URL和token,示例如下:

微信服務(wù)器接入認(rèn)證和自動(dòng)回復(fù):

修改app.js,相應(yīng)代碼如下:

復(fù)制代碼 代碼如下:

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)證:

復(fù)制代碼 代碼如下:
app.use('/wechat', wechat('your_token', function (req, res, next) {

如下代碼實(shí)現(xiàn)了當(dāng)新用戶(hù)關(guān)注時(shí),自動(dòng)發(fā)送使用幫助:

復(fù)制代碼 代碼如下:

if((message.MsgType == 'event') && (message.Event == 'subscribe')) 

    .... 
    res.reply(replyStr); 

微信截圖如下:

相關(guān)文章

  • Node.js連接postgreSQL并進(jìn)行數(shù)據(jù)操作

    Node.js連接postgreSQL并進(jìn)行數(shù)據(jù)操作

    自從MySQL被Oracle收購(gòu)以后,PostgreSQL逐漸成為開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)的首選。這篇文章就給大家介紹了關(guān)于Node.js如何連接postgreSQL數(shù)據(jù)庫(kù),并進(jìn)行數(shù)據(jù)操作的方法,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-12-12
  • Node.JS用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能

    Node.JS用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能

    有一些Node.JS圖片生成類(lèi)庫(kù),比如node-captcha等的類(lèi)庫(kù),需要c/c++程序生成圖片??缙脚_(tái)部署不是很方便。這里介紹幾個(gè)用純JS實(shí)現(xiàn)的圖片驗(yàn)證碼生成模塊,需要的朋友可以參考下
    2019-09-09
  • NodeJS之優(yōu)缺點(diǎn)及適用場(chǎng)景討論

    NodeJS之優(yōu)缺點(diǎn)及適用場(chǎng)景討論

    這篇文章主要介紹了NodeJS之優(yōu)缺點(diǎn)及適用場(chǎng)景討論,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Nodejs學(xué)習(xí)筆記之測(cè)試驅(qū)動(dòng)

    Nodejs學(xué)習(xí)筆記之測(cè)試驅(qū)動(dòng)

    本文是本系列文章的第二篇,主要是測(cè)試針對(duì)于web后端的驅(qū)動(dòng),在開(kāi)發(fā)過(guò)程中,在開(kāi)發(fā)完成一段代碼后如果負(fù)責(zé)任而不是說(shuō)完全把問(wèn)題交給測(cè)試人員去發(fā)現(xiàn)的話,這個(gè)時(shí)候通常都會(huì)去做一些手動(dòng)的測(cè)試。
    2015-04-04
  • 快速掌握Node.js中setTimeout和setInterval的使用方法

    快速掌握Node.js中setTimeout和setInterval的使用方法

    這篇文章主要為大家介紹了快速掌握Node.js中setTimeout和setInterval的使用方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Node.js中ES6模塊化及Promise對(duì)象

    Node.js中ES6模塊化及Promise對(duì)象

    這篇文章主要介紹了Node.js中ES6模塊化及Promise對(duì)象,node.js?遵循了?CommonJS?的模塊化規(guī)范,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • socket.io實(shí)現(xiàn)在線群聊功能

    socket.io實(shí)現(xiàn)在線群聊功能

    這篇文章主要為大家詳細(xì)介紹了socket.io實(shí)現(xiàn)在線群聊功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • node.js事件輪詢(xún)機(jī)制原理知識(shí)點(diǎn)

    node.js事件輪詢(xún)機(jī)制原理知識(shí)點(diǎn)

    在本篇文章里小編給大家分享的是一篇關(guān)于node.js事件輪詢(xún)機(jī)制的相關(guān)知識(shí)點(diǎn)文章,有興趣的朋友們可以參考下。
    2019-12-12
  • windows如何把已安裝的nodejs高版本降級(jí)為低版本(圖文教程)

    windows如何把已安裝的nodejs高版本降級(jí)為低版本(圖文教程)

    這篇文章主要介紹了windows如何把已安裝的nodejs高版本降級(jí)為低版本,本文分步驟通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • node.js實(shí)現(xiàn)http服務(wù)器與瀏覽器之間的內(nèi)容緩存操作示例

    node.js實(shí)現(xiàn)http服務(wù)器與瀏覽器之間的內(nèi)容緩存操作示例

    這篇文章主要介紹了node.js實(shí)現(xiàn)http服務(wù)器與瀏覽器之間的內(nèi)容緩存操作,結(jié)合實(shí)例形式分析了node.js http服務(wù)器與瀏覽器之間的內(nèi)容緩存原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2020-02-02

最新評(píng)論

历史| 普宁市| 南投县| 新兴县| 鞍山市| 宜兰市| 大安市| 仪征市| 介休市| 屏东县| 怀安县| 同仁县| 西城区| 吉安县| 东乡| 宁安市| 堆龙德庆县| 西贡区| 广汉市| 涿鹿县| 岗巴县| 福海县| 铜川市| 兴业县| 灌阳县| 上犹县| 万源市| 宜宾县| 和田县| 南平市| 县级市| 临漳县| 岱山县| 南溪县| 大渡口区| 防城港市| 河南省| 六盘水市| 临猗县| 茂名市| 渑池县|