麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 小程序 > 正文

node.js微信小程序配置消息推送的實現

2020-03-21 16:02:10
字體:
來源:轉載
供稿:網友

在開發微信小程序時,有一個消息推送,它的解釋是這樣的。

消息推送具體的內容是下面的這個網址   https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push.html,他介紹的也還可以,就是我這里換成了node代碼。

消息推送

啟用并設置消息推送配置后,用戶發給小程序的消息以及開發者需要的事件推送,都將被微信轉發至該服務器地址中。

在微信小程序的首頁開發里面,開發設置中,微信的官網中,介紹的也還可以,php代碼寫的差不多也能了解什么意思,但是其中沒有告訴我們要把echostr這個參數在接口中返回出來,所以導致我測試了半天都是那個Token驗證失敗。

寫一下學習記錄吧,方便后來的人遇到同樣的問題,也方便自己以后查閱。

node.js,微信小程序,消息推送

這個里面的url服務器地址就是自己的地址(上面那個是我隨便寫的),后面接上自己的接口,比如我的就是 /token,當你點擊提交的時候,會發現在服務器中會有如下的get請求

node.js,微信小程序,消息推送

避免有些人看不清楚上面的我在這里再用代碼重新寫一下上面的東西。

GET /checkPushMsg?signature=db6e0c25b7743d8dd7ebfda1db6c742a762a2f37&echostr=1712804002525306855×tamp=1549949926&nonce=982754662 200 1.321 ms - 46

其中的各個參數微信官網中介紹的也非常的詳細。

node.js,微信小程序,消息推送

開發者通過檢驗 signature 對請求進行校驗(下面有校驗方式)。若確認此次 GET 請求來自微信服務器,請原樣返回 echostr 參數內容,則接入生效,成為開發者成功,否則接入失敗。加密/校驗流程如下:

  • 將token、timestamp、nonce三個參數進行字典序排序
  • 將三個參數字符串拼接成一個字符串進行sha1加密
  • 開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信

驗證URL有效性成功后即接入生效,成為開發者。

檢驗signature的node.js示例代碼:

/* 驗證服務器推送url地址 開發者提交信息后,微信服務器將發送GET請求到填寫的服務器URL上,GET請求攜帶參數如下   @params signature 微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數,nonce參數   @params timestamp  時間戳   @params nonce  隨機數   @params echostr  隨機字符串*/exports.check_push = (req, res) => { console.log(req.query); let signature = req.query.signature,   timestamp = req.query.timestamp,   nonce = req.query.nonce,   echostr = req.query.echostr; let a = crypto.createHash('sha1').update([pushToken, timestamp, nonce].sort().join('')).digest('hex'); // 這里的pushToken就是在上面的那里配置的Token if(a == signature){  // 如果驗證成功則原封不動的返回  res.send(echostr); }else{  res.send({   status: 400,   data: "check msg error"  }) }};

其中遇到的兩個問題,上面已經說了,這里再說一下這兩個問題。

其中一個是把 token、timestamp、nonce三個參數進行字典序排序,當時想自己寫一個方法,寫了好久發現有點難受,所以在網上找了一些東西,發現那個 數組的sort方法不傳遞參數就是那個 默認字符編碼排序,所以就非常簡單了,加密直接用到crypto模塊

另外一個就是微信都沒有告訴我們要把那個echostr返回出去,雖然他的意思就是那個意思。。 這樣就可以配置成功了。

如果你同樣遇到了這個問題,看了我的文章解決了,我會非常高興。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久草在线观看福利视频 | 久草在线资源观看 | 国产女同疯狂激烈互摸 | 精国品产一区二区三区有限公司 | 久久欧美亚洲另类专区91大神 | www.99热精品 | 亚洲第一男人天堂 | 国产亚洲精品综合一区91555 | 成人免费网站在线观看 | 99亚洲伊人久久精品影院红桃 | 久久精品国产99国产精品澳门 | 欧美一级在线看 | 女人a级毛片| 欧美一级电影网站 | 亚洲人成综合第一网 | 久久99久久99精品 | 国产寡妇xxxxxxxx性开放 | 中午字幕无线码一区2020 | 国产毛片在线看 | 久久综合婷婷香五月 | 欧美一级做一级爱a做片性 91在线视频观看 | 亚洲午夜视频 | 亚洲精品欧美二区三区中文字幕 | 久章草在线视频 | 日本欧美一区二区三区在线观看 | 青青操精品 | 成人午夜在线免费观看 | 99精品热视频 | 99re色 | 九色免费视频 | 沉沦的校花奴性郑依婷c到失禁 | 亚洲性在线视频 | 日本羞羞的午夜电视剧 | 日本免费不卡一区二区 | 九九热视频免费在线观看 | 国产精品久久久久久久久久iiiii | 九色激情网 | 免费毛片在线视频 | 亚洲成人在线免费 | 欧美精品久久久久久久久久 | 欧美成人精品欧美一级乱黄 |