国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點(diǎn) > 微信 > 正文

nodejs調(diào)取微信收貨地址的方法

2024-07-22 01:17:15
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了nodejs調(diào)取微信收貨地址的具體代碼,供大家參考,具體內(nèi)容如下

公眾號(hào)調(diào)取微信收貨地址條件:

1、微信調(diào)取收貨地址API,公眾號(hào)必須有支付權(quán)限。
2、配置對(duì)應(yīng)使用收貨地址功能的域名(域名配置請(qǐng)?jiān)诠娖脚_(tái)網(wǎng)站-->開發(fā)者中心-->配置項(xiàng)-->網(wǎng)頁服務(wù)-->網(wǎng)頁授權(quán)獲取用戶基本信息中設(shè)置,)

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  //這個(gè)URL是你要拉起收貨地址的實(shí)際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="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script type="text/javascript">   function editAddr() {     WeixinJSBridge.invoke('editAddress', {       "appId": '<%= addr.appId %>',       "scope": "jsapi_address",       "signType": "sha1",       "addrSign": '<%= addr.addrSign %>',       "timeStamp": '<%= addr.timestamp %>',       "nonceStr": '<%= addr.nonceStr %>',     }, function (res) {       if (res.err_msg == "edit_address:ok") {         alert(res);         alert(res.proviceFirstStageName);       } else {         alert("獲取失敗,請(qǐng)重試");         alert(res.err_msg);       }     });    } </script>  </body> </html>             
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇明县| 包头市| 称多县| 蒙城县| 志丹县| 重庆市| 电白县| 泸溪县| 淮南市| 新津县| 弋阳县| 墨江| 孙吴县| 香河县| 罗甸县| 澄江县| 同德县| 黄龙县| 吉木乃县| 富宁县| 洞头县| 西昌市| 霍城县| 元谋县| 梓潼县| 庆阳市| 普陀区| 天柱县| 阿荣旗| 福建省| 青州市| 密山市| 新竹市| 孟州市| 商水县| 山东省| 彭泽县| 凤凰县| 万州区| 卓资县| 寻乌县|