基于NodeJS微信公众号

最近重新研究了微信公众号的高级接口,原来也利用C#或JAVA写过微信公众号,主要是消息的基础接口。

由于当时不知道微信公众号可以申请测试公众号,微信测试公众号基本上没有任何限制,对于开发来说是一个不错的选择,

以后如需要实现自己的公众号只需要认证或申请服务号,把代码中的APPID和APPSECERT进行替换就OK了。

本次主要是用NodeJS为进行实现,为什么换成NodeJS呢而不是以前已处理好的C#或JAVA呢?

主要是想用一个免费的公共云服务进行部署应用(具体https://leancloud.cn/),二是NodeJS处理起来比较简单不需要编译和发布。

如今前端的百花齐放不也正是因为V8和NodeJS的出现么,各种前端构建工具,如webpack,gulp,grunt等。

如利用NodeJS写一个命令行工具也是很简单的。

如文件搜索过滤。

如去除代码文件中的换行符或注释(利用nodejs stream的pipe可以很简单的处理)

处理前

处理后

代码:

好像扯了比较远呢。回到正题。

微信公众号主要是通过消息的转发进行实现大部分工作。

如客户端需要查询天气情况,客户端先发送获取天气指令消息到公众号(微信服务器),微信服务器将消息转发到开发的应用程序,

应用程序接受到消息后,判断是获取天气的指令,然后通过第三方平台的天气接口进行查询天气情况,并把结果返回到客户端。

代码处理,第一步将微信的XML消息转换成JSON格式,程序比较容易处理。

第二步根据微信的消息类型进行消息处理。

第三步根据消息进行处理并返回处理结果

上面只是简单的消息,还有其他如创建菜单,订阅事件,上报地理处理,扫一扫,JSSDK,订阅用户列表,获取用户信息(直接获或通过oatuh2.0获取)等接口。

如感兴趣可获取源码:https://github.com/hhqqnu/weixin

实现最后的效果:

        

posted @ 2016-04-24 20:25  zhu_xj  阅读(10297)  评论(2编辑  收藏  举报