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

 更新时间:2017年08月04日 15:06:33   投稿:lqh  
这篇文章主要介绍了微信小程序 转发功能的实现的相关资料,这里提供实现方法及实例帮助大家学习理解,需要的朋友可以参考下

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

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 。

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

相关文章

  • 一篇文章学会jsBridge的运行机制

    一篇文章学会jsBridge的运行机制

    JSBridge是一座用JavaScript搭建起来的桥,搭建这座桥的目的也很简单,让native可以调用web的js代码,让web可以 “调用” 原生的代码。本文主要通过分析源码讲解jsBridge的运行机制,感兴趣的朋友一起来看看吧
    2021-09-09
  • JSON与JS对象的区别与对比

    JSON与JS对象的区别与对比

    JSON是什么?JSON是JS的一种简单数据格式,JSON是JavaScript原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号
    2017-03-03
  • uniapp自定义相机实现示例详解

    uniapp自定义相机实现示例详解

    这篇文章主要为大家介绍了uniapp自定义相机实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Google 地图类型详解及示例代码

    Google 地图类型详解及示例代码

    本文主要介绍Google 地图类型,这里整理了Google 地图类型的基本知识资料,并附简单的示例代码便于大家学习参考,希望能帮助有需要的小伙伴
    2016-08-08
  • 3分钟精通高阶前端随手写TS插件

    3分钟精通高阶前端随手写TS插件

    这篇文章主要为大家介绍了3分钟精通高阶前端随手写TS插件的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 前端JavaScript中的class类

    前端JavaScript中的class类

    这篇文章主要介绍了前端JavaScript中的class,类是用于创建对象的模板,JavaScript中的Class更多的还是语法糖,本质上绕不开原型链,下面就来看看关于JavaScript class类的详细内容吧
    2021-10-10
  • 微信小程序 swiper制作tab切换实现附源码

    微信小程序 swiper制作tab切换实现附源码

    这篇文章主要介绍了微信小程序 swiper制作tab切换实现代码的相关资料,需要的朋友可以参考下
    2017-01-01
  • 微信小程序使用navigateTo数据传递的实例

    微信小程序使用navigateTo数据传递的实例

    这篇文章主要介绍了微信小程序使用navigateTo数据传递的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 微信小程序 使用picker封装省市区三级联动实例代码

    微信小程序 使用picker封装省市区三级联动实例代码

    这篇文章主要介绍了微信小程序 使用picker封装省市区三级联动实例代码的相关资料,需要的朋友可以参考下
    2016-10-10
  • 微信小程序 天气预报开发实例代码源码

    微信小程序 天气预报开发实例代码源码

    这篇文章主要介绍了微信小程序 天气预报开发实例代码源码的相关资料,这里含有源码,需要的朋友可以参考下
    2017-01-01

最新评论