判断微信小程序转发是否成功

转自http://www.jb51.cc/weapp/3691.html

微信小程序小程序内转发的方式有两个,分别是 和页面右上角的转发,两种转发都会调用 Page.onShareAppMessage(options)。

要判断是否转发到群聊,需要使用用 wx.showShareMenu(OBJECT),并且参数withShareTicket为true。wx.showShareMenu({ withShareTicket: true})。转发成功后,Page.onShareAppMessage() 的回调会返回shareTickets,可以通过转发成功的回调判断是否转发到了群聊。 
如果需要获取转发的详细信息,可以使用 wx.getShareInfo(OBJECT),需要参数shareTicket,shareTicket 就是转发成功后的回调的 shareTicket 。wx.getShareInfo(OBJECT)的回调会返回errMsg(错误信息)、encryptedData(包括敏感数据在内的完整转发信息的加密数据)、iv(加密算法的初始向量)。

下面是是完整代码

 
  1. onShareAppMessage(res) {
  2.   //转发时携带 shareTicket才能在回调中获取到shareTickets
  3.   wx.showShareMenu({
  4.     withShareTicket: true
  5.   }) return {
  6.     title: '转发时显示的标题',
  7.     path: '转发的页面路径',
  8.     success: res = >{
  9.       console.log('--- 转发回调 ---', res);
  10.       //onShareAppMessage回调的shareTickets,如果没有,就说明不是转发到群聊的
  11.       console.log('--- shareTickets ---', res.shareTickets);
  12.       //转发到群里的才会有shareTickets
  13.       if (res.shareTickets && res.shareTickets[0]) {
  14.         //获取转发的详细信息
  15.         wx.getShareInfo({
  16.           shareTicket: res.shareTickets[0],
  17.           success: res = >{
  18.             console.log('--- 错误信息 ---', res.errMsg);
  19.             console.log('--- 包括敏感数据在内的完整转发信息的加密数据 ---', res.encryptedData);
  20.             console.log('--- 错误信息 ---', res.iv);
  21.           },
  22.           fail: error = >{
  23.             console.log('--- getShareInfo fail ---', error);
  24.           }
  25.         })
  26.       }
  27.     },
  28.     fail: () = >{
  29.       console.log('--- 转发失败 ---', path);
  30.     }
  31.   }
  32. }

下面是转发到个人和群聊的日志打印

转发给个人时的日志 可以看到,转发给个人时,转发的回调只有errMsg。

转发到群聊时的日志 转发到群聊时,转发的回调多了shareTickets。所以,可以通过是否有shareTickets来判断是转发给个人还是群聊。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值