Heim
Web-Frontend
js-Tutorial
Ausführliche Erklärung zum Abrufen der WeChat-Lieferadresse mithilfe von nodejs



Ausführliche Erklärung zum Abrufen der WeChat-Lieferadresse mithilfe von nodejs
javascript
nodejs
地址
Dieser Artikel stellt hauptsächlich die Methode zum Abrufen der WeChat-Lieferadresse mit nodejs vor. Ich hoffe, dass er allen helfen kann.
Bedingungen für den Abruf der WeChat-Lieferadresse vom öffentlichen Konto:
1. Beim Abruf der WeChat-Lieferadresse-API muss das öffentliche Konto über Zahlungsberechtigungen verfügen.
2. Konfigurieren Sie den Domänennamen, der der Lieferadressenfunktion entspricht (für die Konfiguration des Domänennamens gehen Sie bitte auf die Website der öffentlichen Plattform-->Developer Center-->Konfigurationselemente-->Webdienst--> Webseitenautorisierung, um Benutzergrundlagen zu erhalten. Legen Sie die Informationen fest)
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, }); }); }); });
Nach dem Login kopieren
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('editAddress', { "appId": '<%= addr.appId %>', "scope": "jsapi_address", "signType": "sha1", "addrSign": '<%= addr.addrSign %>', "timeStamp": '<%= addr.timestamp %>', "nonceStr": '<%= addr.nonceStr %>', },获取微信收货地址