明霞山资源网 Design By www.htccd.com
本文实例为大家分享了nodejs调取微信收货地址的具体代码,供大家参考,具体内容如下
公众号调取微信收货地址条件:
1、微信调取收货地址API,公众号必须有支付权限。
2、配置对应使用收货地址功能的域名(域名配置请在公众平台网站-->开发者中心-->配置项-->网页服务-->网页授权获取用户基本信息中设置,)
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>
<%= addr.stra %>
WeixinJSBridge.invoke('editAddress', {
"appId": '<%= addr.appId %>',
"scope": "jsapi_address",
"signType": "sha1",
"addrSign": '<%= addr.addrSign %>',
"timeStamp": '<%= addr.timestamp %>',
"nonceStr": '<%= addr.nonceStr %>',
},
</pre>
<a href="javascript:;" rel="external nofollow" style="margin:40px;" onclick="editAddr()">获取微信收货地址</a>
<script src="/UploadFiles/2021-04-02/jweixin-1.0.0.js">
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。