nodejs调取微信收货地址的方法

本文实例为大家分享了nodejs调取微信收货地址的具体代码,供大家参考,具体内容如下

公众号调取微信收货地址条件:

1、微信调取收货地址API,公众号必须有支付权限。 2、配置对应使用收货地址功能的域名(域名配置请在公众平台网站-->开发者中心-->配置项-->网页服务-->网页授权获取用户基本信息中设置,)

router.js

rush: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',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); 
  addrCon<a href="https://www.jb51.cc/tag/fig/" target="_blank" class="keywords">fig</a>.addrSign = strb; 
  addrCon<a href="https://www.jb51.cc/tag/fig/" target="_blank" class="keywords">fig</a>.stra = stra; 
  //console.log('strb = ',strb); 
      res.render('addr',{ 
        addr: addrCon<a href="https://www.jb51.cc/tag/fig/" target="_blank" class="keywords">fig</a>,}); 
}); 

});
});

addr.ejs

rush:xhtml;"> <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"> demo
 
<%= addr.stra %> 
  WeixinjsBridge.invoke('editAddress',{  
    "appId": '<%= addr.appId %>',"scope": "jsapi_address","signType": "sha1","addrSign": '<%= addr.addrSign %>',"timeStamp": '<%= addr.timestamp %>',"nonceStr": '<%= addr.nonceStr %>',},
nofollow" style="margin:40px;" onclick="editAddr()">获取微信收货地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...