页面刷新就会触发updateAppMessageShareData

问题描

微信公众号:ios手机进页面就会触发updateAppMessageShareDataupdateTimelineShareData方法,安卓手机偶尔进页面的时候会触发

问题出现的环境背景及自己尝试过哪些方法

服务号开发,查阅过文档,但是没有找到过解决办法

相关代码

$(function(){
    var script=document.createElement("script");
    script.type="text/javascript";
    script.src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js";
    document.getElementsByTagName('head')[0].appendChild(script);
    script.onload=function(){
        fetch('/api/we/chat/share','POST',{
            url:location.href.split('#')[0]
        }).then(res => {
            if(res.state == 200){
                console.log(res);
                wx.config({
                    debug: false,
                    appId: res.data.appid,
                    timestamp: res.data.timestamp,
                    nonceStr: res.data.nonceStr, 
                    signature: res.data.signature,
                    jsApiList: ['checkJsApi','onMenuShareTimeline','onMenuShareAppMessage','updateTimelineShareData','updateAppMessageShareData']
                });
                wx.ready(function () {
                    wx.onMenuShareTimeline({
                        title: '徐工铲运大课堂', // 分享标题
                        desc: '徐工铲车大课堂', // 分享描述
                        link: url_+'/xu-gong/html/into.html', 
                        imgUrl: getRootPath()+'xu-gong/img/logo.jpg', // 分享图标
                        success: function () {
                            shareEgg()
                        }
                    });
                    wx.onMenuShareAppMessage({
                        title: '徐工铲运大课堂', // 分享标题
                        desc: '徐工铲车大课堂', // 分享描述
                        link: url_+'/xu-gong/html/into.html',
                        imgUrl: getRootPath()+'xu-gong/img/logo.jpg', // 分享图标 
                        success: function () {
                            shareEgg()
                        }
                    });
                    
                });
                // alert(location.href.split('#')[0])
                wx.updateAppMessageShareData({ 
                    title: '徐工铲运大课堂', // 分享标题
                    desc: '徐工铲车大课堂', // 分享描述
                    link: url_+'/xu-gong/html/into.html', 
                    imgUrl: getRootPath()+'xu-gong/img/logo.jpg', // 分享图标
                    success: function () {
                        // 设置成功
                        shareEgg()
                    }
                });
                wx.updateTimelineShareData({ 
                    title: '徐工铲运大课堂', // 分享标题
                    desc: '徐工铲车大课堂', // 分享描述
                    link: url_+'/xu-gong/html/into.html', 
                    imgUrl: getRootPath()+'xu-gong/img/logo.jpg', // 分享图标
                    success: function () {
                        // 设置成功
                        shareEgg()
                    }
                });
            }else{
                layer.msg(res.message,{time:1500});
            }
        })
    }
});

你期待的结果是什么?实际看到的错误信息又是什么?

只有分享的时候才触发这两个事件

阅读 7.3k
4 个回答
新手上路,请多包涵

updateAppMessageShareData 和 updateTimelineShareData 的success是 设置成功 就触发了,也就是加载完如果配置是没问题的话就触发了
我想在这两个方法中分享成功后再做处理都不行了,目前不知道怎么办。。

在 onMenuShareAppMessage 的 success 中初始化 updateAppMessageShareData。

updateAppMessageShareData和updateTimelineShareData方法必须放在ready里面
另外,要尽量确保用户点击分享之前调用好分享的一系列方法

wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
    wx.updateAppMessageShareData({ 
        title: '', // 分享标题
        desc: '', // 分享描述
        link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: '', // 分享图标
        success: function () {
          // 设置成功
        }
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题