小程序实例开发只显示群ID 不显示群名称怎么办
微信小程序开发实例讲解,微信小程序已经开放了群ID和群名称,但是很多人并不知道怎么获得群名称。现在,hi商学院终于有方法可以显示群名称啦!
前言
直到现在,网上还可以看到很多「开发者可以获取群名称」这样的新闻。在微信刚宣布的时候确实同时返回了群 ID 和 群名称,但随后就只能获取到群 ID 了。估计会有很多开发者跟我一样被文章误导了,还以为是自己代码有问题。
至于微信为什么这么做,官方也作出了解释:
这就导致了,目前很多和群关联的小程序,一进去就要设置群备注的尴尬现象。
为了保护用户的隐私,同时满足开发的需求,微信需要找到一种获取不到,但又允许展示的方法。
现在微信找到方法了。
下面我们看看如何在小程序里面显示群名称。
获取群 ID
显示群名的前提是,已经获取到了该群的群 ID。要是你之前已经对获取群 ID 有所了解,可以直接跳到后面看。
我们通过将小程序转发到群里,获取到对应群的群 ID。
首先,需要设置显示当前页面的转发按钮,转发后返回 ShareTicket,有了它才能去获取群 ID:
wx.showShareMenu({
withShareTicket: true
})
在代码里面添加 onShareAppMessage 方法,它是用来控制转发功能的。转发成功后,拿到 ShareTicket,再调用 wx.getShareInfo 获取转发目标的信息。代码如下:
onShareAppMessage: function () {
var that = this
return {
title: "转发标题",
path: '页面路径',
success(res) {
wx.getShareInfo({
shareTicket: res.shareTickets[0],
success(res) {
console.log(res.encryptedData)
console.log(res.iv)
// 后台解密,获取 openGId
}
})
}
}
}
和 wx.getUserInfo 一样,微信给了我们一段加密的数据,加密的方式也是一样的,后台可以用同一段代码进行解密。解密后的格式如下:
{
"openGId": "xxxxxxxx",
"watermark": {
"appid": "xxxxxxxx",
"timestamp": 1499841984
}
}
openGId 就是我们要的群 ID 了,把它保存下来。
显示群名
下面我们来到布局文件。
小程序刚更新,多了一个新组件 open-data:
用起来很简单,在要显示群名的地方,使用以下代码:
<open-data type="groupName" open-gid="{{openGId}}" />
将 openGId 传入,就会显示出群名称了。妥妥的。
但这个东西是基础库 1.4.0 才有的东西,最好还是用 wx.getSystemInfo 获取到当前客户端的基础库版本,做一下低版本兼容。
第二部分:如何开通一个小商店
1、本网站发布的该篇文章,目的在于分享电商知识及传递、交流相关电商信息,以便您学习或了解电商知识,请您不要用于其他用途;
2、该篇文章中所涉及的商标、标识的商品/服务并非来源于本网站,更非本网站提供,与本网站无关,系他人的商品或服务,本网站对于该类商标、标识不拥有任何权利;
3、本网站不对该篇文章中所涉及的商标、标识的商品/服务作任何明示或暗示的保证或担保;
4、本网站不对文章中所涉及的内容真实性、准确性、可靠性负责,仅系客观性描述,如您需要了解该类商品/服务详细的资讯,请您直接与该类商品/服务的提供者联系。