摘要:
微信以其庞大的用户群和强大的用户粘性,在近两年吸引了无数开发者的关注。Nodejs是近两年发展迅速的开发工具,特别适合搭建移动后台。本文结合作者自己开发的一个例子,描述了如何基于Nodejs开发自己的微信微信官方账号。本例主要使用快递、微信、mongodb、monk等模块。
准备工作:
1.申请微信微信官方账号,去https://mp.weixin.qq.com/申请,这里不细说。
2.买台服务器。我们推荐亚马逊的EC2。首次用户可以选择微实例,免费一年。申请很方便。你只需要输入你的信用卡信息,但整个过程都是英文的,但明年是免费的。值得花更多的时间。
安装NodeJs开发环境:复制代码如下:1 . yum-y installgcc 2 . yum-y installgcc-c 3 . yum-y installmake automke 4 . wget http://nodejs.org/dist/v0.10.29/Node-v 0 . 10 . 29 . tar . gz5 . tar-xvzf node-v0.10.29.tar.gz 6 . CD解压目录7./Configure 8。make9。Install Mongodb:复制代码如下: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
示例介绍:
我班成立了一个足球队,大家把钱交给队长,队长每次付钱,并记录每个人的费用和余额,通知大家。因为不是每个人每次都能来,费用只能由活动参与者以AA制方式平均分摊,记录起来比较麻烦。于是,笔者制作了一个微信微信官方账号,只需要输入活动消费金额,选择每次参与人数,就可以自动生成每人的费用和余额,然后将明细发送到微信群,让大家都能看到。
在这个例子中,作者实际上建立了一个微型网站,并通过网页记录或显示了活动费用和余额。微信微信官方账号相当于在用户微信和微网站之间架起了一座桥梁。当微信用户关注作者公众账号时,可以通过微信公众平台开发者模式自动回复微信用户求助。在帮助中,包含了相应的网页链接,您只需点击进入相应的页面。
搭建微信微信官方账号后台服务:
什么都有,只是不发达:)
在开始之前,我们先简单介绍两个模块:快递和微信:快递,一个优秀的Web开发框架,可以非常快速的搭建自己的网站。微信服务器会通过HTTP Post请求与开发者服务器进行交互,因此需要使用express框架。
以下是新用户关注时的日志,103.7.30.84是微信服务器的IP地址。复制代码如下:103 . 7 . 30 . 84 POST/微信?signature=8a8 e 408 fdae 6 bbd 6e 470 af 98865 a5f 993 ce a 283 timestamp=1408610461 once=1572142586 2 200微信-封装了与微信服务器交互的细节,让开发者只需要关注自己的业务即可。
首先,我们需要安装express并使用express创建一个项目:复制代码如下:1。npminstall-gexpress2。express -e your _ project参数-e表示使用ejs引擎,默认使用jade引擎,不带参数。3.cd您的项目npm安装
安装后的目录结构如下:复制代码如下:[[email protected]your _ project]$ lsapp . js bin node _ modules package . JSON public routes view。接下来安装微信:复制代码如下:1。npm安装微信开发者模式配置:
配置网址和令牌,示例如下:
微信服务器访问认证和自动回复:
修改app.js,对应代码如下:
复制代码代码如下:
app.use('/users ',users);app.use('/weixin ',weixin);
app . use(express . query());//或者app . use(express . query());app . use('/微信',微信(' hchismylove ',功能(req,RES,next){//微信输入信息全部在req.weixin console.log(消息)上;
如果(消息msgtype==事件("消息")。事件=="订阅" { var cooling str=' a href= ' http://your _ IP/weixin/refill?微信='消息.fromusername ' ' 1 ' .朱庇特朱庇特朱庇特/a ' var consumer=' a href= ' http://your _ IP/weixin/consumer?/消费者?微信='消息.fromusername ' ' 2 ' .朱庇特朱庇特页:1
var delete str=' a href= ' http://your _ IP/weixin/delete?微信='消息.fromusername ' ' 3 ' .朱庇特朱庇特阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹页:1
var historytrr=' a href= ' http://您的_ IP/微信/历史?微信='消息.fromusername ' ' 4 ' .朱庇特安特卫普安特卫普安特卫普/a ' var empty tr=';'嶝融!' n“占用tr” n“占用tr” n“占用tr” n“占用tr” n“占用tr” n“历史记录”.答复(答复);});
贺盛瑞贺盛瑞贺盛瑞贺盛瑞:你好绿筠小姐: app。使用('/微信,微信(' your_token ',函数(请求,res,next)
阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧阿巧,哥哥哥哥哥哥哥哥哥哥哥哥:
你好绿筠小姐: if(消息msgtype==事件("消息")。事件=="订阅" }.我.答复(答复);}
何钟泰呢: