在微信小程序中获取微信群在微信小程序中获取微信群 ID
来自公众号:知晓程序
两种读取方式
根据官方文档,我们可以通过以下两个方式,读取到微信群 ID 的信息:
当用户成功地将小程序页面分享到微信群后,小程序的回调结果中可以获取该微信群的群 ID。
当用户从微信群中的分享入口进入小程序时,小程序可以获取当前微信群的群 ID。
首先,我们来聊聊用户成功地将小程序页面分享到微信群的情况下,如何读取目标微信群的 ID。
此次接口更新,控制小程序页面右上角菜单中的「分享」按钮显示与消失,不再完全依赖页面逻辑文件中是否拥
有 onShareAppMessage 函数。
现在有两个新的接口,可以决定小程序是否显示分享菜单:wx.showShareMenu(显示分享菜单)和 wx.hideShareMenu(隐
藏分享菜单)。
在 wx.showShareMenu 接口中,设定 withShareTicket: true,即可在用户分享时,获取到shareTickets。
同时,在此次接口更新中,微信为小程序更新了 onShareAppMessage 接口。
原本这个接口的 return 只能接受 title、path 等控制分享卡片内容的参数。在此次更新后,return 可以在分享成功、失败、完
成(成功和失败)下,执行特定的回调函数。
在回调函数中,我们可以插入参数,以便小程序将微信群信息传入。小程序在检测到用户分享动作之后,会将 shareTicket 带
入到这个参数中,并执行相应回调函数。
来看代码:
(此图片来源于网络,如有侵权,请联系删除! )
接下来,是通过微信群进入小程序情景下的微信群 ID 获取。
用户进入小程序时,小程序可以在 app 对象中的 onLaunch 生命周期函数中,获取到进入小程序的渠道(情景值)。
当情景值为 1044,即通过带 shareTicket 的微信群分享卡片进入小程序,小程序就可以额外获取到 shareTicket。
这一步的代码就比较简单了:
(此图片来源于网络,如有侵权,请联系删除! )
有了 shareTicket,我们就可以通过调用 wx.getShareInfo 函数,获取到目标微信群(加密过后的)ID 了。
(此图片来源于网络,如有侵权,请联系删除! )
需要注意的是,如果当前用户未登录(从未调用 wx.login 或 session 过期),这些接口都会出现调用失败的情况。
另外,当分享失败或数据获取失败,这些函数只会调用 fail(失败)和 complete(完成)回调,而不会调用 success(成功)
评论0