快速學習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.最終作基於微信的即時通訊應用--聊天室。

相關文章
相關標籤/搜索