本文档主要是调研小程序关于分享方面的玩法,目的是学习小程序在项目应用以及玩法链上的扩展。希望大家喜欢。
小程序如果想对外分享,必须在 page 里面定义 onShareAppMessage 函数,来配置页面分享转发相关的信息。
一个页面可能会有多个分享,可以由插入的参数options来判断具体是由哪个位置进行分享,从而做不同的逻辑判断。
return对象的返回函数:
如果定义了该事件,又不想通过页面menu转发,可以通过 hideShareMenu来隐藏掉
注意事项:
一般是用来配置相关的参数,常见的如 withShareTicket ,用它来获取群信息,群的相关标示。
wx.showShareMenu({
withShareTicket: true
})
复制代码
隐藏menu级别的转发功能,但是button中还存在着转发。
如果先设置 showShareMenu ,并且配置了 withShareTicket,再用 hideShareMenu 方法,通过按钮转发,照样能获取 shareTicket,如下:
wx.showShareMenu({
withShareTicket: true
})
wx.hideShareMenu({
})
复制代码
更新shareMenu信息需要用update操作哦,这里需要注意下,一般都是会更新 withShareTicket 属性。
在拿到了shareTicket信息后,可以由此API获取转发详细信息
wx.getShareInfo({
shareTicket: res.shareTickets[0],
success: ...
fail: ...
})
复制代码
相关回调的参数
{
errMsg: "getShareInfo:ok",
iv: "gRHeFU+Nhr36RmladCXnRQ==",
encryptedData: "IQ/RwZLeQFUGuxv0bBfOrL/KLnXO+bxcyCBru5lB92FkHIg8ae…7TnHwU+rqgerFKvpvS5JbFyh+9liUqyb2bk6/LETYQ+h/FQ=="
}
复制代码
由iv和encryptedData进行解密,可以拿到openGId的值。为当前群对当前小程序的唯一值。额外还可以拿到群名称等更多的开放数据。
页面内需要转发时,需要给 button 组件设置 open-type="share" ,并在触发的地方判断来源。
在小程序中,获取openGId主要有两种途径,也一般围绕着两种途径做分享相关的开发: