资讯专栏INFORMATION COLUMN

解决微信二次分享bug

adie / 674人阅读

摘要:对于用户触发时才调用的接口,则可以直接调用,不需要放在函数中。

微信分享网页后,再次点击微信分享的内部会自动在网址后拼接&from=来源,导致二次分享的图案文案失效,解决办法:

        function getQueryString(name) {//根据字段看网址是否拼接&字符串
          var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
          var r = window.location.search.substr(1).match(reg);
          if (r != null)
              return unescape(r[2]);
          return null;
        }
        var from = getQueryString("from");
        var appinstall = getQueryString("appinstall");
        var sec = getQueryString("sec");
        var timekey = getQueryString("timekey");
      
        if(from || appinstall || sec || timekey){//假如拼接上了
            window.location.href =重置网址
        }

在需要分享的网页里写入微信jssdk代码

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。打印标识config:
    appId: "", // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: "", // 必填,生成签名的随机串
    signature: "",// 必填,签名,见附录1
    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

wx.ready(function(){
    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
        wx.onMenuShareTimeline({
            title: "", // 分享标题
            link: "", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: "", // 分享图标
            success: function () {
            // 用户确认分享后执行的回调函数
            }
        });
});

wx.error(function(res){
    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});

微信开发文档

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92534.html

相关文章

  • 微信二次分享

    摘要:接下来通过详细的步骤介绍如何接入微信二次分享操作。不要尝试在中使用异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用的回包会还没有返回用户点击分享到朋友圈已分享已取消此时微信二次分享就已经大功告成了。 微信二次分享 效果演示 showImg(https://segmentfault.com/img/remote/1460000016895951); 如何运行项目 ...

    Betta 评论0 收藏0
  • 微信二次分享

    摘要:接下来通过详细的步骤介绍如何接入微信二次分享操作。不要尝试在中使用异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用的回包会还没有返回用户点击分享到朋友圈已分享已取消此时微信二次分享就已经大功告成了。 微信二次分享 效果演示 showImg(https://segmentfault.com/img/remote/1460000016895951); 如何运行项目 ...

    NusterCache 评论0 收藏0
  • 微信二次分享

    摘要:接下来通过详细的步骤介绍如何接入微信二次分享操作。不要尝试在中使用异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用的回包会还没有返回用户点击分享到朋友圈已分享已取消此时微信二次分享就已经大功告成了。 微信二次分享 效果演示 showImg(https://segmentfault.com/img/remote/1460000016895951); 如何运行项目 ...

    Kahn 评论0 收藏0
  • vue + 微信二次分享/自定义分享

    摘要:但是在本次开发中,我只使用了,,个别微信版本分享出来的还是没有图片和文案,的是没有问题,所以又加上了弃用的,之后,安卓机也可以正常分享。 微信二次分享/自定义分享 从App中使用App分享(一次分享) showImg(https://segmentfault.com/img/bVbp83T?w=593&h=278); 使用微信导航栏的分享(二次分享) --已做处理 showImg(...

    diabloneo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<