详解NodeJs开发微信公众号

 更新时间:2018年05月25日 09:11:10   作者:慢思考快行动  
本篇文章给大家分享了NodeJs开发微信公众号的相关技术内容,对此有需要的朋友们可以跟着学习参考下。

古话说: 万事开头难, 回头细想想还真是这样,在没有开始做微信公众号开发之前我以为它很复杂,但是学过之后只想说原来just so so~

这里是我的项目的github地址: https://github.com/muzishuiji/wechat

下面我就把我的学习过程做一下总结,希望可以帮助到有需要的人儿.粗鄙之见,恐有不足,欢迎指教(PS: 在阅读下文之前,你应该对NodeJs和koa框架有一定的了解,会编写简单的项目,如果不是,建议你暂放这篇文章,来这里看看)!

我把我们这次的学习之旅比做一次烹饪美食的过程,那么首先,我们要准备好"烹饪"所需要的素材,如下(由于微信公众号的认证流程很复杂,我一肉体凡胎恐无法解决,所以只有退而求其次,申请测试公众号进行开发):

(1) node环境(我的node版本是8.8.0,npm 版本是4.5.2, windows系统)

(2) 一个微信开放平台的账号

(3) 一台服务器(嗯哼?没有,我们有ngrok内网穿透)

额,似乎就没有啥了,接下来,我们就要开始了,新鲜美味即将出炉,好激动,有木有?
首先,我们不得不大致了解一下这枯燥无味的开发者文档,如果你实现看不进去也不要紧,和我一起,需要的时候再去看也行.

1.使用koa搭建一个后台服务器,以下是我的入口文件和文件目录截图

//项目中用到的模块都可在项目文件的package.json中查看, 你可以一次向安装,也可以用到的时候再安装.

2.接入微信公众平台及开发

微信公众号的开发说白了就是我们搭建的服务器和微信服务器进行交互,我们的服务器根据需要调用微信开放平台提供的相关接口,然后微信服务器在接收到我们服务器发送的请求后,会进行处理并将相关结果返回给微信公众号的客户端,从而实现相关功能.

点击绑定测试号,进入一个绑定测试号的表单页,然后点击查看appID,得到接入认证需要的appID和appSecret,可以暂时不绑定,不影响测试.

然后一起来看文档

这就是接入微信公众平台开发的相关文档,在这过程中,我们需要一个代理域名来映射到我们本地的服务器,已使得微信的服务器可以通过域名与我们的本地服务器进行数据通信.

现在假设你已经有了一个代理(如果没有,先去看3),接下来,微信接入验证.

接入示例代码:

我所有用到的配置项都下载cofig文件夹下的cofig.js里

然后在router文件夹下的index.js中应用配置项,编写路由的相关处理逻辑,代码如下:

这些都编写完毕就可以去微信开放平台修改你测试公众号的相关配置了,修改完成后点击提交,知道看到配置成功的提示就说明修改成功了.因为使用的是代理服务器,所以有一两次配置失败属正常现象.

接下里,你就可以获取access_token,调用相关接口,实现功能了.

3.使用ngrok进行内网转发

首先去这个网站 https://ngrok.com/ 下载一个跟你操作系统相匹配的ngrok.exe,放到一个比较好找的地方.
然后运行你搭建的本地服务器,然后在你存放ngrok.exe的文件夹下,打开命令行窗口,执行一下命令就可以得到一个代理域名.(具体命令由系统决定)

.\ngrok.exe http <你的node服务器的端口号>

然后将你得到的域名,执行成功后的截图,成功后转去 2

好了,已成功接入微信公众平台,火已经开了,油也已经热了,可以放菜了.

相关文章

  • 利用Node.JS实现邮件发送功能

    利用Node.JS实现邮件发送功能

    其实利用Node.JS实现邮件发送这个功能很多人都写过了,但是网上有的代码不能用,版本较老,所以想着写下自己摸索的方法来实现。现在分享给大家,感兴趣的朋友们可以一起学习学习。
    2016-10-10
  • 创建简单的node服务器实例(分享)

    创建简单的node服务器实例(分享)

    下面小编就为大家带来一篇创建简单的node服务器实例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • node.js中的fs.mkdir方法使用说明

    node.js中的fs.mkdir方法使用说明

    这篇文章主要介绍了node.js中的fs.mkdir方法使用说明,本文介绍了fs.mkdir方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Nodejs进阶之服务端字符编解码和乱码处理

    Nodejs进阶之服务端字符编解码和乱码处理

    这篇文章主要介绍了Nodejs进阶之服务端字符编解码和乱码处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Node.js如何快速导出多表头的excel文件实现方法

    Node.js如何快速导出多表头的excel文件实现方法

    这篇文章主要为大家介绍了Node.js如何快速导出多表头的excel文件实现方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Nodejs全局安装和本地安装的不同之处

    Nodejs全局安装和本地安装的不同之处

    这篇文章主要介绍了Nodejs全局安装和本地安装的不同之处的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • node.js中的path.dirname方法使用说明

    node.js中的path.dirname方法使用说明

    这篇文章主要介绍了node.js中的path.dirname方法使用说明,本文介绍了path.dirname的方法说明、语法、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 配置node服务器并且链接微信公众号接口配置步骤详解

    配置node服务器并且链接微信公众号接口配置步骤详解

    这篇文章主要介绍了配置node服务器并且链接微信公众号接口配置步骤详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • 学习Nodejs之fs模块的使用详解

    学习Nodejs之fs模块的使用详解

    这篇文章主要为大家详细介绍了Nodejs之fs模块的使用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • mocha的时序规则讲解

    mocha的时序规则讲解

    今天小编就为大家分享一篇关于mocha的时序规则讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02

最新评论