微信小程序 转发功能的实现


Posted in Javascript onAugust 04, 2017

微信小程序 转发功能的实现

1.当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket

2.此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch() 或 App.onShow 获取到另一个 shareTicket

3.两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。

onShareAppMessage(options)函数设置该页面的转发信息。

options参数说明:

from:转发事件来源。button:页面内转发按钮;menu:右上角转发菜单;
target:如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined

自定义字段:

return {
  title: '转发', // 转发标题(默认:当前小程序名称)
  path: '/pages/index/index', // 转发路径(当前页面 path ),必须是以 / 开头的完整路径
  success(e) {
   // shareAppMessage: ok,
   // shareTickets 数组,每一项是一个 shareTicket ,对应一个转发对象
     // 需要在页面onLoad()事件中实现接口
     wx.showShareMenu({
      // 要求小程序返回分享目标信息
      withShareTicket: true 
     });
  },
  fail(e) {
   // shareAppMessage:fail cancel
   // shareAppMessage:fail(detail message) 
  },
  complete() { }
}

wx.showShareMenu(OBJECT) 带 shareTicket 的转发。

1.在SDK中与真机调试的过程中,都需要设withShareTicket为true,

2.否则在真机的调试过程中,即便选择了转发的群聊,也不会返回shareTicket

onLoad(e) {
  wx.showShareMenu({
   withShareTicket: true
  })
 }, onShow(e) {
  wx.showShareMenu({
   withShareTicket: true
  })
 },

wx.getShareInfo(OBJECT)获取转发详细信息

if (res.shareTickets) {
 // 获取转发详细信息
 wx.getShareInfo({
  shareTicket: res.shareTickets[0],
  success(res) {
   res.errMsg; // 错误信息
   res.encryptedData; // 解密后为一个 JSON 结构(openGId  群对当前小程序的唯一 ID)
   res.iv; // 加密算法的初始向量
  },
  fail() {},
  complete() {}
 });
}

小程序在群里被打开后,获取情景值和shareTicket

//app.js
App({
 onLaunch: function (ops) {
  if (ops.scene == 1044) {
   console.log(ops.shareTicket)
  }
 }
})

Bug & Tip

1.页面之间的参数传递,需要在onLoad()函数中接收,onShow()函数中无法接收。

2.获取群聊中被打开的小程序的shareTicket,需要在App.onLaunch() 或 App.onShow()。 页面的生命周期函数中是获取不到的。

3.将转发内容至单个用户时,是无法获取到shareTicket 。

以上就是微信小程序 转发功能 的实现,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
网上抓的一个特效
May 11 Javascript
css把超出的部分显示为省略号的方法兼容火狐
Jul 23 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
Jan 23 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
Mar 07 Javascript
JSON与XML的区别对比及案例应用
Nov 11 Javascript
jQuery插件Echarts实现的渐变色柱状图
Mar 23 jQuery
Vue实现双向绑定的原理以及响应式数据的方法
Jul 02 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
详解express使用vue-router的history踩坑
Jun 05 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
Oct 09 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
Vue计算属性的使用
Aug 04 #Javascript
JS+Ajax实现百度智能搜索框
Aug 04 #Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 #Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 #Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 #Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 #jQuery
vue修改vue项目运行端口号的方法
Aug 04 #Javascript
You might like
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
2017/01/05 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
Windows下安装python2和python3多版本教程
2017/03/30 Python
python实现单向链表详解
2018/02/08 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
python打包生成so文件的实现
2020/10/30 Python
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
法学院方阵解说词
2014/01/29 职场文书
高三毕业寄语
2014/04/10 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
干部理论学习心得体会
2016/01/21 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS