收藏
回答

调用jsdk的微信分享api,点击分享至朋友圈的图标不会改变?

尝试了微信bridge的1.2-1.6版本,安卓微信7.0.19,在调用微信分享的api时,初次赋值给imgUrl字段图片链接,分享至朋友圈及朋友图标显示正常。然后修改图标链接,重新调用微信分享的api,重新赋值,点击分享至朋友圈,图标未更新,见图

然后马上分享给朋友,图标已更新,见图

当我点击发表后,再次点击分享至朋友圈,图标就会更新。


代码如下

let jsApiList = [];
  if (/android/i.test(navigator.userAgent)) {
    jsApiList = ['onMenuShareAppMessage', 'onMenuShareTimeline']
  } else {
    jsApiList = ['updateTimelineShareData', 'updateAppMessageShareData']
  }
wx.config({
      debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
      // debug: false,
      appId: data.appId, // 必填,公众号的唯一标识
      timestamp: data.timestamp, // 必填,生成签名的时间戳
      nonceStr: data.nonceStr, // 必填,生成签名的随机串
      signature: data.signature, // 必填,签名
      jsApiList: jsApiList
      // ['updateTimelineShareData', 'updateAppMessageShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline'] // 必填,需要使用的JS接口列表
    })

wx.ready((data) => {
      wxShare.call(this, wx, param)
    })


wxShare = function (wx, param) {
  if (!/android/i.test(navigator.userAgent)) {
    // 分享朋友
    wx.updateAppMessageShareData({
      title: '这是我的名片,请惠存', // 分享标题
      desc: `姓名:${param.userName}`, // 分享描述
      link: param.shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: param.imgUrl, // 分享图标
      success: function () {
        // showToast('新')
        // 设置成功
      }
    })
    // 分享朋友圈
    wx.updateTimelineShareData({
      title: '这是我的名片,请惠存', // 分享标题
      link: param.shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: param.imgUrl, // 分享图标
      success: function () {
        // showToast('新')
        // 设置成功
      }
    })
  } else {
    wx.onMenuShareAppMessage({
      title: '这是我的名片,请惠存', // 分享标题
      desc: `姓名:${param.userName}`, // 分享描述
      link: param.shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: param.imgUrl, // 分享图标
      type: '', // 分享类型,music、video或link,不填默认为link
      dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
      success: function () {
        // showToast('旧')
        // 用户点击了分享后执行的回调函数
      }
    });
    wx.onMenuShareTimeline({
      title: '这是我的名片,请惠存', // 分享标题
      desc: `姓名:${param.userName}`, // 分享描述
      link: param.shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: param.imgUrl, // 分享图标
      success: function () {
        // showToast('旧')
        // 用户点击了分享后执行的回调函数
      }
    });
  }
}


如果只是单纯的调用updateTimelineShareData  和updateAppMessageShareData 不调用老方法,或者只调用老方法,依然会出现这个问题。
方法是调用成功了,我打开了微信提示模式,提示都是成功。

感谢回答。

最后一次编辑于  2020-10-27
回答关注问题邀请回答
收藏

2 个回答

  • 微信技术专员-Abe
    微信技术专员-Abe
    2020-10-27

    为啥要区分Android和非Android。。。在Android上调用老接口是有什么考虑吗?

    都使用updateTimelineShareData, updateAppMessageShareData试试

    2020-10-27
    有用
    回复 1
    • Popotam
      Popotam
      2020-10-27
      最开始只是调用updateTimelineShareData, updateAppMessageShareData 但是出现测试环境没问题,生产环境部分安卓机型(微信最新版7.0.19)出现朋友圈和分享给朋友图标不显示的情况。然后在网上找到一种方法,jsdk1.4 然后这样做判断,安卓用老接口,ios用新接口。 如果都使用updateTimelineShareData, updateAppMessageShareData依然会出现分享至朋友圈图标不更新。
      2020-10-27
      回复
  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2020-10-27

    你好,麻烦提供机型,微信版本号和复现链接

    2020-10-27
    有用
    回复 2
    • Popotam
      Popotam
      2020-10-27
      所有安卓机型,微信版本号7.0.19 复现连接https://lzccbdev.sinosun.com/static/BusinessCard/pages/openaccount.html?listType=3#/verifyCode   账号:17716869580 点击验证码 输入000000.
      操作步骤:进入到我的名片页面,点击分享至朋友圈,但是取消发表,然后点击编辑,上传头像,点击提交。再次分享至朋友圈,如果有变化,可以多试几次。但是每次分享至朋友都是有变化。
      2020-10-27
      回复
    • Tc
      Tc
      2021-04-10回复Popotam
      你好,我也遇到了一样的问题,请问后面有解决吗
      2021-04-10
      回复
登录 后发表内容
问题标签