Home > Article > Web Front-end > Use nodejs to call the delivery address in WeChat
This time I will bring you how to use nodejs to call the delivery address in WeChat and use nodejs to call the delivery address in WeChat. NotesThere are Which ones, the following are practical cases, let’s take a look.
1. To call the shipping address API on WeChat, the official account must have payment permissions.
2. Configure the domain name corresponding to the delivery address function (for domain name configuration, please go to the public platform website-->Developer Center-->Configuration items-->Web service-->Web page authorization to obtain user basics Set in the information,)
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> <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 %>', },获取微信收货地址