资讯动态

武汉微信开发之设置您的开发环境

标签:   | 作者:admin | VISITORS: | 来源:未知
16
Jan
2018
武汉微信开发公司认为,腾讯的微信是一个拥有超过7.6亿个月活跃用户的社交网络应用程序,正在成为连接企业和客户的主导手机渠道。此次武汉微信开发者将演示如何在微信上进行一些开发,以便与SAP Cloud for SAP等SAP产品交互。
 
条件
1.您应该已经在微信公众账户平台:https://mp.weixin.qq.com注册了账户
你应该对nodejs开发有基本的了解。
详细的环境设置步骤
登录官方账号平台https://mp.weixin.qq.com,进入菜单开发 - >基本配置,
 
这里最重要的设置是服务器网址,您的微信官方订阅帐户的自定义逻辑托管在那里。
 
在这个系列中,我将使用nodejs plus Heroku来托管服务器。本服务器负责服务微信平台委托的微信平台下发的请求。在微信平台真正将用户请求委托给该服务器之前,您必须先通过微信开发指南中定义的验证:https ://mp.weixin.qq.com/wiki?t = resource/res_main&id = mp1472017492_58YV5
不幸的是,指南中的验证流程图是用中文文本绘制的:
 
所提供的示例代码是由Python编写的,所以在这里我将提供一个nodejs解决方案。
只要按下“提交”按钮,微信平台就会通过这个URL发送一个http请求到指定的服务器:
 
http请求如下所示:
https:// <您的服务器网址> /?signature = 096abd439b41f9610aeabe2d7534084fd8dafa20&echostr = 16168327802220428137&timestamp = 1512810825&nonce = 384289189
然后你的服务器的责任是根据你的订阅帐户令牌,时间戳和nonce字段来计算结果,并将其与通过请求url传递的echostr进行比较。如果比较结果不相同,则会看到错误消息“令牌验证失败”。
 
只有在您的服务器通过验证后,才能进行后续开发。
下面是如何开发你的服务器通过验证的步骤。

 

 
1.使用以下package.json创建一个新的nodejs项目。突出显示的部分与服务器验证相关。
 
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 token
    var 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中托管您的UI5应用程序。
完成后,在微信公众账号平台进行验证。
然后在Heroku应用程序控制台中,我们可以看到从微信平台传来的签名等于在我们的nodejs服务器中计算出的值,结果验证成功完成:
 
您现在可以看到微信平台的服务器配置已经标记为已启用,可供后续开发使用。
资讯动态
首页 | 解决案例 | 资讯动态 | 客户服务 | 关于我们
分享按钮