国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

node.js微信小程序配置消息推送的實現(xiàn)

2024-07-22 01:19:06
字體:
供稿:網(wǎng)友

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

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

消息推送

啟用并設(shè)置消息推送配置后,用戶發(fā)給小程序的消息以及開發(fā)者需要的事件推送,都將被微信轉(zhuǎn)發(fā)至該服務(wù)器地址中。

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

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

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

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

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

其中的各個參數(shù)微信官網(wǎng)中介紹的也非常的詳細。

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

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

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

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

/* 驗證服務(wù)器推送url地址 開發(fā)者提交信息后,微信服務(wù)器將發(fā)送GET請求到填寫的服務(wù)器URL上,GET請求攜帶參數(shù)如下   @params signature 微信加密簽名,signature結(jié)合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù),nonce參數(shù)   @params timestamp  時間戳   @params nonce  隨機數(shù)   @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"  }) }};            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 浑源县| 庆安县| 上思县| 常熟市| 蒙阴县| 林芝县| 邵武市| 安龙县| 陆丰市| 贺州市| 璧山县| 邵阳县| 聊城市| 兴国县| 建阳市| 民丰县| 鹤庆县| 沂南县| 花莲县| 旅游| 巴南区| 桦甸市| 石门县| 凤庆县| 抚宁县| 南京市| 喀喇沁旗| 佳木斯市| 北京市| 墨江| 平顺县| 京山县| 南郑县| 永善县| 延津县| 荔浦县| 汾阳市| 泰州市| 祁阳县| 调兵山市| 龙山县|