今天得到消息,微信小程序开放了更多分享到微信群的功能。恰巧前段时间比较忙,这一系列文章稍微拖延了一下。这段时间一直在想这一系列博客该怎么写。今天就先从这一篇开始吧。
首先,
小猪最常用的分享APP是可以让你骑完摩拜单车后,在支付页面分享使用体验,从而抢免费骑行日的APP。
其实公众号的分享在此之前就已经相当成熟了,用户按照指令分享自己独有的链接,分享者打开的链接中携带着分享者的信息。这样的页面按照程序逻辑可以做很多事情,比如为自己拉票、分享自己的经历等等。
但用户点击公众号的分享链接之后,程序会不知道用户是从哪里来的,是从聊天窗口还是朋友圈?是从群聊还是单聊?
小程序首先打开的是这个界面
正如官方解释所说:
当用户在群聊中点击小程序的分享卡片时,开发者可以获取群ID和群名称,以便更好地为群场景提供个性化服务。
正如官方文档所述:
通常开发者希望在第二次打开分享的小程序时,能够获取到一些信息,比如群聊名称或者群logo等,现在通过调用wx.并设置为true,当用户分享到小程序到任意群聊时,就能够获取到分享的信息。
官方文档地址:#
分享行动
在公众号页面,很久以前程序可以通过调用接口直接引导用户分享页面,后来腾讯对此进行了限制,只允许用户通过点击页面右上角的目录按钮进行分享。
这个限制同样适用于小程序,只有定义了Page对象的函数后,才会在右上角菜单中显示相应的“分享”按钮。
: () { {:'这是极智生活小程序',path:'/page//?id=123',:(res){.log(res)},fail:(res){.log(res)}}}
运行该程序的结果是:
定义返回:wx。

使用如下代码来定义回调中是否带参数。
wx.({:true,:(res){//分享成功.log(' ').log(res)},fail:(res){//分享失败.log(res)}})
如下所示,
可以看出来是一个数组,也就是该页面可以同时分享到多个群,每个群一个,可以使用wx.接口来获取本次的分享信息。
获取该分享的群信息:wx.
使用以下代码获取群组信息:
: () { {: '这是智慧生活小程序',path: '/page//?id=123',: (res) {.log(res.[0])// ..({:res.[0],:(res){.log(res)},fail:(res){.log(res)},:(res){.log(res)}})},fail: (res) {// 分享失败.log(res)}}}
运行程序,分享到一个测试群(使用完界面后,再次点击右上角的分享,微信网页开发者工具会创建若干个随机命名的群列表供我们测试),即可看到运行结果:
从上图中我们可以看到额外的数据:iv,,,,其中字段是共享组的名称。
如果想要获取群ID,可以通过之前小猪介绍的方法解密:关注小猪开发小程序-解密。
解密之后就可以看到之前存在的内容了。
任务完成。
在手机上运行看看效果: