Maison  >  Article  >  interface Web  >  Utilisez nodejs pour appeler l'adresse de livraison dans WeChat

Utilisez nodejs pour appeler l'adresse de livraison dans WeChat

php中世界最好的语言
php中世界最好的语言original
2018-04-14 10:41:041652parcourir


Cette fois, je vais vous apporter les précautions pour utiliser nodejs pour appeler l'adresse de livraison dans WeChat et utiliser nodejs pour appeler l'adresse de livraison dans WeChat Oui Lesquels, les suivants sont des cas pratiques, jetons-y un coup d'œil.

1. Pour appeler l'API d'adresse de livraison sur WeChat, 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 le message,)

routeur.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> 
<body> 
<pre class="brush:php;toolbar:false"> 
<%= addr.stra %> 
  WeixinJSBridge.invoke('editAddress', {  
    "appId": '<%= addr.appId %>', 
    "scope": "jsapi_address", 
    "signType": "sha1", 
    "addrSign": '<%= addr.addrSign %>', 
    "timeStamp": '<%= addr.timestamp %>', 
    "nonceStr": '<%= addr.nonceStr %>', 
  }, 
  
    获取微信收货地址         

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !

Lecture recommandée :

Comment optimiser le regroupement de données JSON de JS

ajax modifie directement le statut et supprime le statut

JS pour créer un effet carrousel tactile mobile

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