千家信息网

微信小程序怎么实现转发功能

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"微信小程序怎么实现转发功能",在日常操作中,相信很多人在微信小程序怎么实现转发功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"微信小程序怎么实现转发
千家信息网最后更新 2025年01月21日微信小程序怎么实现转发功能

这篇文章主要介绍"微信小程序怎么实现转发功能",在日常操作中,相信很多人在微信小程序怎么实现转发功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"微信小程序怎么实现转发功能"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

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.jsApp({ onLaunch: function (ops) {  if (ops.scene == 1044) {   console.log(ops.shareTicket)  } }})

Bug & Tip

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

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

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

到此,关于"微信小程序怎么实现转发功能"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0