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


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 相关文章推荐
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
Nov 20 Javascript
JS控制一个DIV层在指定时间内消失的方法
Feb 17 Javascript
JS获取地址栏参数的两种方法(简单实用)
Jun 14 Javascript
JavaScript中闭包之浅析解读(必看篇)
Aug 25 Javascript
史上最全JavaScript常用的简写技巧(推荐)
Aug 17 Javascript
微信小程序使用request网络请求操作实例
Dec 15 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 Javascript
微信小程序本地存储实现每日签到、连续签到功能
Oct 09 Javascript
JavaScript实时更新当前的时间的示例代码
Jul 15 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
BBS(php & mysql)完整版(一)
2006/10/09 PHP
php实现的在线人员函数库
2008/04/09 PHP
php实现单链表的实例代码
2013/03/22 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
javascript 二分法(数组array)
2010/04/24 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
python中字典(Dictionary)用法实例详解
2015/05/30 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
通信工程专业毕业生推荐信
2013/12/25 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
中秋晚会活动方案
2014/08/31 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
工作失误检讨书范文
2015/01/26 职场文书
护士个人年度总结范文
2015/02/13 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
小学科学课教学反思
2016/02/23 职场文书