Maison >interface Web >js tutoriel >Explication détaillée de la façon de récupérer l'adresse de livraison WeChat à l'aide de nodejs

Explication détaillée de la façon de récupérer l'adresse de livraison WeChat à l'aide de nodejs

小云云
小云云original
2017-12-21 14:56:001353parcourir

Cet article présente principalement en détail la méthode de récupération de l'adresse de livraison WeChat avec nodejs. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer. J'espère que cela pourra aider tout le monde.

Conditions de récupération de l'adresse de livraison WeChat depuis le compte officiel :

1. Récupération WeChat de l'API de l'adresse de livraison, le compte officiel doit disposer des autorisations de paiement.
2. Configurez le nom de domaine correspondant à la fonction d'adresse de livraison (pour la configuration du nom de domaine, veuillez vous rendre sur le site Web de la plateforme publique-->Centre des développeurs-->Éléments de configuration-->Service Web--> Autorisation de la page Web pour obtenir les bases de l'utilisateur définie dans les informations,)

router.js


var API = require('wechat-api'); 
var api = new API(config.wx_appid, config.wx_secret); 
 
var OAuth = require('wechat-oauth'); 
var client = new OAuth(config.wx_appid, config.wx_secret); 
 
/* auth */ 
app.get('/auth', function(req, res) { 
  var url = client.getAuthorizeURL('http://xxxxxxxxxx/getAddr','', 'snsapi_userinfo'); 
  res.redirect(url); 
}); 
 
 
app.get('/getAddr', function(req, res) { 
  var code = req.query.code; 
 
  client.getAccessToken(code, function (err, result) { 
    var accessToken = result.data.access_token; 
    var param = { 
      debug: false, 
      jsApiList: ['getLocation', 'onMenuShareAppMessage'], 
      url:"http://xxxxxxxxxx"+req._parsedUrl.href  //这个URL是你要拉起收货地址的实际URL 
    }; 
    api.getJsConfig(param, function(err,addrConfig){ 
      console.log('addrConfig = ',addrConfig); 
      var stra = "accesstoken="+accessToken+"&appid="+config.wx_appid+"&noncestr="+addrConfig.nonceStr+"×tamp="+addrConfig.timestamp+"&url="+param.url;//拼接string1 
      //console.log('stra = ',stra); 
      /* 
      common.sha1 
       
        // SHA1加密算法 
        exports.sha1 = function(str) { 
          var md5sum = crypto.createHash('sha1'); 
          md5sum.update(str); 
          str = md5sum.digest('hex'); 
          console.log(str) 
          return str; 
        } 
      */ 
      var strb = common.sha1(stra); 
      addrConfig.addrSign = strb; 
      addrConfig.stra = stra; 
      //console.log('strb = ',strb); 
          res.render('addr', { 
            addr: addrConfig, 
          }); 
    }); 
  }); 
});

addr.ejs


<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
<meta name="apple-mobile-web-app-capable" content="yes">  
<meta name="apple-mobile-web-app-status-bar-style" content="black">  
<meta content="telephone=no" name="format-detection"> 
<title>demo</title> 
 
 
</head> 
 
<body> 
<pre class="brush:php;toolbar:false"> 
<%= addr.stra %> 
  WeixinJSBridge.invoke(&#39;editAddress&#39;, {  
    "appId": &#39;<%= addr.appId %>&#39;, 
    "scope": "jsapi_address", 
    "signType": "sha1", 
    "addrSign": &#39;<%= addr.addrSign %>&#39;, 
    "timeStamp": &#39;<%= addr.timestamp %>&#39;, 
    "nonceStr": &#39;<%= addr.nonceStr %>&#39;, 
  }, 
  
获取微信收货地址

Recommandations associées :

Introduction détaillée au développement de l'obtention de l'adresse de livraison WeChat

Exemple d'explication de l'obtention de php par WeChat Méthode de partage d'adresse de réception

WeChat Pay développe une interface de partage d'adresse de réception

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn