日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信程序开发系列教程(一)开发环境搭建

發布時間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信程序开发系列教程(一)开发环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 您得從微信官方平臺注冊一個微信訂閱號:

https://mp.weixin.qq.com

2. 這個教程使用nodejs開發微信訂閱號對應的消息服務器,因此需要具備基本的nodejs開發技能。

登錄微信公眾號平臺https://mp.weixin.qq.com, 使用菜單:Development->Basic configuration:

最重要的是在訂閱號的控制臺里指定一個消息服務器的url。如下圖所示。這個消息服務器的url從哪里來?

我會用nodejs開發一個服務器,部署到Salesforce的云平臺Heroku上。

當您的微信訂閱號的粉絲通過微信App同您的訂閱號交互,比如發消息,或者使用您的微信訂閱號自定義菜單時,這些請求就會通過微信App轉發到您的nodejs消息服務器上。

但是當您配置的消息服務器要真正起作用,還得先通過一個驗證。驗證流程在微信官網上: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5

微信官網上提供的驗證流程的實現是用Python寫的,我提供了一個nodejs版本的實現。

我們在微信訂閱號的控制臺點了Submit按鈕之后,微信框架會發送一個HTTP請求到你的微信服務器去,請求明細如下:

https:///?signature=096abd439b41f9610aeabe2d7534084fd8dafa20&echostr=16168327802220428137&timestamp=1512810825&nonce=384289189

您的微信服務器的職責就是:按照上面流程圖定義的規范,計算根據您微信訂閱號的token(令牌),時間戳和nonce字段,計算出一個簽名值,然后同發到消息服務器的簽名值做對比。如果對比發現兩者不一致,會收到錯誤消息“Token authentication failed”。

下面是如何用nodejs開發使得消息服務器通過驗證流程。

1. 創建一個新的nodejs工程,下列package.json文件里高亮部分是用于消息服務器通信的重要部分。

主要的邏輯位于server.js里。

2. Server.js的主要代碼:

var express = require('express');var routesEngine = require('./index.js');var app = express();routesEngine(app);app.listen(process.env.PORT || 3000, function () {console.log('Listening on port, process.cwd(): ' + process.cwd() );});In implementation of index.js, now we need to implement verification process:var request = require('request');var jsSHA = require('jssha');module.exports = function (app) {app.route('/').get(function(req,res){var token="jerry"; // replace it with your own tokenvar signature = req.query.signature,timestamp = req.query.timestamp,echostr = req.query.echostr,nonce = req.query.nonce;oriArray = new Array();oriArray[0] = nonce;oriArray[1] = timestamp;oriArray[2] = token;oriArray.sort();var original = oriArray.join('');var shaObj = new jsSHA("SHA-1", 'TEXT');shaObj.update(original);var scyptoString = shaObj.getHash('HEX');console.log("calculated string: " + scyptoString);if (signature == scyptoString) {res.send(echostr);} else {res.send('bad token');}});};

3. 將該nodejs應用部署到Heroku平臺。具體操作參考Heroku的操作手冊。

部署成功后,到微信訂閱號操作臺點Submit按鈕提交驗證請求,然后在Heroku應用的控制臺上能觀察到我們自己的微信服務器計算出的signature和微信平臺發送的signature完全一致,認證通過。

回到訂閱號的操作臺,發現我們的nodejs微信服務器認證成功,可以做開發了。

后續Jerry會帶來更多微信訂閱號開發的內容。

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:

總結

以上是生活随笔為你收集整理的微信程序开发系列教程(一)开发环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。