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

时间:2022-10-12 05:54:19

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

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

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

查了几个技术博客得知,这个接口在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事件就自己写下即可了。。。

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

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