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


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 相关文章推荐
让焦点自动跳转
Jul 01 Javascript
游戏人文件夹程序 ver 4.03
Jul 14 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
js控制分页打印、打印分页示例
Feb 08 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
分享12个实用的jQuery代码片段
Mar 09 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
Koa2微信公众号开发之消息管理
May 16 Javascript
ng-events类似ionic中Events的angular全局事件
Sep 05 Javascript
vue+eslint+vscode配置教程
Aug 09 Javascript
Vue混入mixins滚动触底的方法
Nov 22 Javascript
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
swfupload 多文件上传实现代码
2008/08/27 PHP
php短域名转换为实际域名函数
2011/01/17 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
JS模拟实现京东快递单号查询
2020/11/30 Javascript
Python中变量交换的例子
2014/08/25 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
婚礼新郎父母答谢词
2014/01/16 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python
使用Redis实现实时排行榜功能
2021/07/02 Redis
vue 自定义组件添加原生事件
2022/04/21 Vue.js
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python