转自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来判断是转发给个人还是群聊。

判断微信小程序转发是否成功相关推荐

  1. 微信小程序转发动态消息的问题

    最近项目中需要用到微信小程序转发动态消息的功能,遇到了一些坑,最终测试成功了,现在分享给大家. 微信官方的动态消息参考文档在这里:https://developers.weixin.qq.com/mi ...

  2. 微信小程序转发微信小程序转发

    微信小程序转发涉及以下4个方法: 1.Page.onShareAppMessage({}) 设置右上角"转发"配置,及转发后回调函数返回 shareTicket 票据 2.wx.s ...

  3. 微信小程序 转发

    微信小程序的转发分两张情况 1.自定义的转发按钮 2.小程序自带的右上角的转发按钮 小程序  API  https://developers.weixin.qq.com/miniprogram/dev ...

  4. (干货)微信小程序转发好友

    今天简单地说下微信小程序的转发功能,为什么要简单的说下呢,因为主要讲的就是转发给好友或者群组,还有一种是分享到朋友圈,这种就比较复杂一点了,先稍微透漏一点,分享到朋友圈主要是两种方法,一种是后台直接生 ...

  5. 微信小程序转发传值及自定义图片

    近日帮朋友做个微信小程序,不得不说小程序真的很便捷 今日做到关于转发分享部分,一不小心给自己挖了坑 需求:自定义一个按钮来实现转发功能,想使转发界面换成我自定义的图片而不是缩略图,并且转发时需要传一些 ...

  6. 微信小程序转发 分享 打电话功能,完整代码附效果图

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 正文: 按钮绑定在页面内发起转发事件onShareApp:(注意这里是button 并且给他设置了open-t ...

  7. 微信小程序转发自定义图片

    近日帮朋友做个微信小程序,不得不说小程序真的很便捷 今日做到关于转发分享部分,一不小心给自己挖了坑 需求:自定义一个按钮来实现转发功能,想使转发界面换成我自定义的图片而不是缩略图,并且转发时需要传一些 ...

  8. 微信小程序添加(成功失败)提示音

    例:答题成功后需要给一个正确的提示音 参考: BackgroundAudioManager | 微信开放文档 const music = wx.getBackgroundAudioManager(); ...

  9. unapp微信小程序转发分享、携带参数

    一.第一种方式: // 开启小程序原生右上角分享按钮uni.showShareMenu({// https://developers.weixin.qq.com/miniprogram/dev/fra ...

  10. 微信小程序 转发分享功能

    转发 获取更多转发信息 通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识.现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 t ...

最新文章

  1. Python3.8.5最新版安装教程(含老版本卸载教程)
  2. 游戏运维的最佳实践:搜狐畅游自动化运维之旅
  3. 网站排名优化需掌握四项基本要素
  4. Facebook首席工程负责人胡鲁辉:数字化2.0的理念、架构与业务模型丨鲸犀峰会
  5. mac 下homebrew 的安装和卸载
  6. 剑桥大学的下午茶,为何能喝出六十位诺贝尔奖获得者?
  7. skimage库需要依赖 numpy+mkl 和scipy
  8. CSU-1982 小M的移动硬盘
  9. excel批量更改超链接_批量新建Excel指定名称工作表并设置超链接!你,学会了吗?...
  10. 18 FI配置-财务会计-向计算程序分配国家
  11. 视觉SLAM笔记(4) SLAM的数学表述
  12. Java虚拟机(七)——本地方法接口与本地方法栈
  13. (HDU)1098 -- Ignatius's puzzle(Ignatius的困惑)
  14. python unique函数_每30秒学会一个Python小技巧,GitHub星数4600+
  15. 图片识别引擎-识图引擎搜集~
  16. 【视频学习笔记】(霹雳吧啦Wz)MobileNet 系列
  17. 随机游走模型 matlab,随机游走matlab程序
  18. Nginx源码安装及调优配置(二)
  19. ES6_1.块级作用域绑定_临时死区TDZ
  20. 巨头秀区块链肌肉 原生军机会何在?

热门文章

  1. mysql数据库事务模拟转账_mysql数据库事务阐发:实现银行转账功能的优化,附代码+实现过程...
  2. 省市县三级数据联动 -Java
  3. 豆瓣已玩烂,来爬点有逼格的 ——IMDB 电影提升你的品位
  4. ctype函数_Ctype函数简介
  5. 进击----Helix QAC自动化静态测试
  6. EMD EEMD CEEMD CEEMDAN IEEMDAN 附赠EEMD代码
  7. matlab ga 函数的最好适应度是什么
  8. 双目测距原理以及双目相机矫正
  9. 数据中心软件漏洞测试,数据中心威胁、漏洞和风险评估
  10. WPS mac怎么取消自动首字母大写