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

什么是开启公众号开发者模式?
什么是开发者模式?开启开发者模式后,微信公众号的服务器会把用户与公众号的全部交互消息发到本身服务器中,同时咱们业务处理的结果,经过本身的服务器发到微信服务器,继而由微信服务器发送给用户。php

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

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

clipboard.png
如上图,咱们说的开启开发者模式,是图片的右半部分。
说明:维信服务器与咱们的服务器的通讯协议是http,数据格式是xml。微信

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

clipboard.png

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

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

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

clipboard.png

具体的文档能够访问:https://mp.weixin.qq.com/wiki...url

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

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

clipboard.png

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

clipboard.png

clipboard.png

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

相关文章
相关标签/搜索