快速学习nodejs系列:微信公众号开发二之开启公众号开发者模式

wjeymiantan 2019-06-28

什么是开启公众号开发者模式?
什么是开发者模式?开启开发者模式后,微信公众号的服务器会把用户与公众号的所有交互消息发到自己服务器中,同时我们业务处理的结果,通过自己的服务器发到微信服务器,继而由微信服务器发送给用户。

微信公众号的开发原理与逻辑:
步骤:

1、填写服务器配置
2、验证服务器地址的有效性(对比signature)

快速学习nodejs系列:微信公众号开发二之开启公众号开发者模式
如上图,我们说的开启开发者模式,是图片的右半部分。
说明:维信服务器与我们的服务器的通信协议是http,数据格式是xml。

如何开启开发者模式:
原理:微信与我们服务器的交互的数据是xml的格式,在开启开发者模式(在微信的接口测试号后台-接口配置信息)点击确定的时候,微信会向我们填写的url地址发送get请求,具体的get参数有:

快速学习nodejs系列:微信公众号开发二之开启公众号开发者模式

这时我们的服务器会按照微信的加密方法计算出signature,当我们计算出的signature与微信发送的相等时,我们就可以确定该请求是微信服务器发送过来的,这时我们服务器把echostr发送回微信服务器,微信收到我们返回的echostr后,开发者模式开启成功。
说明:只有开启微信开发者模式的时候,微信发送的get 参数才会有echostr,其他的消息是不会有的!同时也只有开启开发者模式是通过get方式,其他都是通过post方式(xml格式)。我们可以通过这2点来区分:开启开发者模式逻辑和业务开发逻辑。

开发者模式的signature加密方法:
1.将token、timestamp、nonce三个参数进行字典序排序
2.将三个参数字符串拼接成一个字符串进行sha1加密

php开启开发者模式的伪代码:

快速学习nodejs系列:微信公众号开发二之开启公众号开发者模式

具体的文档可以访问:https://mp.weixin.qq.com/wiki...

下面我们用nodejs 来实现开启开发者模式:

1.完成业务代码逻辑编写,并在本地运行

快速学习nodejs系列:微信公众号开发二之开启公众号开发者模式

2.在微信后台填写url、token的配置,点击提交,如果没出错的话,开启成功

快速学习nodejs系列:微信公众号开发二之开启公众号开发者模式

快速学习nodejs系列:微信公众号开发二之开启公众号开发者模式

上图,表示已经成功开启了开发者模式,下面我们就可以正式进行业务开发,可以调用微信提供的接口能力和你自己的想象能力进行应用开发了,我们后面课程的安排是:
1.熟悉调用微信的提供的接口
2.最终做基于微信的即时通信应用--聊天室。

相关推荐