微信共享收货地址 edit_address:fail 吐白沫级解决方案

Posted mali0932

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信共享收货地址 edit_address:fail 吐白沫级解决方案相关的知识,希望对你有一定的参考价值。

 

又被微信坑了一整天,看完官方文档怎么测试都不通过,我一直怀疑是新版本微信支付我没有设置“共享收货地址”开关造成的。

后来经过验证,新版本不需要做这件事了。

那么,我没错,是微信的文档没及时更新。。。

查了几个技术博客得知,这个接口在2016年的年中已经升级了,旧版的那个接口不能使了。

于是那个什么Addrsign就去见鬼了。

真的无力吐槽微信团队的文档水平和工作态度,这一家独大的优越感。。

好了好了,说正事儿:

首先,你得开通微信支付,其次,要在微信公众后台配置个安全域名的URL,设置下微信支付的安全目录

我相信能搜到我这篇文章的朋友,上面这些项肯定已经检查无数次了,那么直接进入主题: 

 

页面要引用的是:

<script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script> 

注意了,是1.1.0,不再是1.0.0哦

 

然后老规矩,先上这个

wx.config({

 

        debug: false,
        appId: ‘<%=wx_share.GetAppID() %>‘,
        timestamp: <%=wx_share.GetTimestamp() %>,
        nonceStr:  ‘<%=wx_share.GetNoncestr() %>‘,
        signature: ‘<%=new wx_share().Signature() %>‘,
        jsApiList: [
        ‘checkJsApi‘,
        ‘onMenuShareTimeline‘,
        ‘onMenuShareAppMessage‘,
        ‘openAddress‘
      ]
    });

具体这些 timestamp,nonceStr,signature的方法这里就不多说了,可以搜一下微信分享的那些代码,这块儿一模一样,无任何修改。

 

然后直接 

    wx.ready(function () {
         wx.openAddress({ 
         success: function (res) {

alert(JSON.stringify(res));  

  }

     });

 就可以了。。。

页面加载时候就会有反应的,如果需要绑在click事件就自己写下即可了。。。

至此,被微信坑的第二次,结束了。

踏实睡觉,真心希望能帮到无助的朋友们。

 

以上是关于微信共享收货地址 edit_address:fail 吐白沫级解决方案的主要内容,如果未能解决你的问题,请参考以下文章

微信支付开发 收货地址共享接口V2

微信自定义分享(含微信共享收货地址)

微信共享收货地址 edit_address:fail 吐白沫级解决方案

微信收货地址开发分享

微信小程序自动识别收货地址

uniApp使用uni.chooseAddress()获取微信收货地址