重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关微信小程序如何实现转发功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为浦江企业提供专业的网站设计制作、成都做网站,浦江网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。微信小程序 转发功能的实现
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 。
关于“微信小程序如何实现转发功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。