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


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 相关文章推荐
Javascript的闭包
Dec 31 Javascript
jQuery筛选器children()案例详解(图文)
Feb 17 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
javascript+canvas制作九宫格小程序
Dec 28 Javascript
浅谈JavaScript事件的属性列表
Mar 01 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 Javascript
详解angularJS自定义指令间的相互交互
Jul 05 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
深入理解js A*寻路算法原理与具体实现过程
Dec 13 Javascript
Node.js API详解之 util模块用法实例分析
May 09 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
mysql5写入和读出乱码解决
2006/11/25 PHP
php自动适应范围的分页代码
2008/08/05 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
如何快速上手Vuex
2017/02/14 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
JavaScript使用localStorage存储数据
2019/09/25 Javascript
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
python处理html转义字符的方法详解
2016/07/01 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
神路信息Java面试题目
2013/03/31 面试题
有模特经验的简历自我评价
2013/09/19 职场文书
自荐信格式范文
2013/10/07 职场文书
项目投资合作意向书
2014/07/29 职场文书
药店营业员岗位职责
2015/04/14 职场文书
秋收起义观后感
2015/06/11 职场文书
Python requests用法和django后台处理详解
2022/03/19 Python