欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

导致微信JSSDK自定义分享内容接口失效的原因分析

程序员文章站 2022-07-24 18:32:02
在微信开发者工具上调试分享接口成功,真机测试的时候却失败了。 后来发现是手机反应比较慢 wx.config()还未执行成功后面绑定分享按钮事件的代码就开始执行了导致绑定失败...

在微信开发者工具上调试分享接口成功,真机测试的时候却失败了。

后来发现是手机反应比较慢

wx.config()还未执行成功后面绑定分享按钮事件的代码就开始执行了导致绑定失败

因此在页面加载时需要立即执行的接口必须写在wx.ready()中

修改后的代码

//从服务端获取配置信息
$.post('/getSignPackage',{location:window.location.href},function(data){
    wx.config({
        debug: false,
        appId: data.appId,
        timestamp: data.timestamp, 
        nonceStr: data.nonceStr, 
        signature: data.signature,
        jsApiList: [
            'onMenuShareTimeline',
            'onMenuShareAppMessage',
            'onMenuShareQQ',
            'onMenuShareWeibo',
            'onMenuShareQZone'
        ]
    });

    var data = {
        title: 'title', // 分享标题
        desc: 'desc', // 分享描述
        link: 'link', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: 'imgUrl', // 分享图标
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    };
    wx.ready(function(){
        wx.onMenuShareTimeline(data);
        wx.onMenuShareAppMessage(data);
        wx.onMenuShareQQ(data);
        wx.onMenuShareWeibo(data);
        wx.onMenuShareQZone(data);
    });
});