【微信小程序开发教程】如何显示群名称?
今年 5 月份的时候,微信宣布:「为了更好的针对群场景提供个性化服务,当用户在群聊中点击小程序分享卡片时,小程序支持开发者获取群 ID 和群名称」。但随后没多久,发现小程序只返回了群 ID,并没有给我们群名。现在,终于有方法可以显示群名称啦!
前言
直到现在,网上还可以看到很多「开发者可以获取群名称」这样的新闻。在微信刚宣布的时候确实同时返回了群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 获取到当前客户端的基础库版本,做一下低版本兼容。
【微信小程序开发教程】如何显示群名称?的更多相关文章
- 微信小程序开发教程目录
本系列教程是自己在工作中使用到而记录的,没有顺序之分 如有错误之处,请给与指正,也不希望误导了别人 微信小程序开发教程目录 微信小程序之注册和入门 微信小程序之HTTPS请求 微信小程序开发之选项卡 ...
- 微信小程序开发教程 #043 - 在小程序开发中使用 npm
本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...
- 微信小程序开发教程,大多数人都搞错的八个问题
小程序目前被炒得沸沸扬扬,无数媒体和企业借机获取阅读流量. 这再次证明一点,微信想让什么火,真的就能让什么火.这种能力真是全中国再也没有人有了,政府也没有. 但四处传的消息很多是失真的,废话不说,先列 ...
- 微信应用号来了,微信小程序开发教程!
关注,QQ群,微信应用号社区 511389428,511389428 微信应用开放的服务和组件包含如下: 视图容器:视图(View).滚动视图.Swiper 基础内容:图标.文本.进度条 表单组件:按 ...
- 微信小程序开发教程
9月21日晚发布的微信公众平台·小程序内侧邀请,微信应用号(小程序,「应用号」的新称呼)终于来了!目前还处于内测阶段,微信只邀请了部分企业参与封测.想必大家都关心应用号的最终形态到底是什么样子? 怎样 ...
- 微信小程序开发教程(七)逻辑层——.js详解
逻辑层,是事务逻辑处理的地方.对于小程序而言,逻辑层就是.js脚本文件的集合.逻辑层将数据进行处理后发送给视图层,同时接收视图层的事件反馈. 微信小程序开发框架的逻辑层是由JavaScript编写.在 ...
- 【重点突破】—— UniApp微信小程序开发教程学习Three
一.实战 HBuilderX:在微信小程序中运行页面,需要设置->安全 开启微信小程序服务端口,HBuilder工具->设置->配置程序路径 网络请求.模板语法.打开页面.页面传参 ...
- 微信小程序开发--背景图显示
这两天开发微信小程序,在设置背景图片时,发现在wxss里面设置 background-image:(url) 属性,不管是开发工具还是线上都无法显示.经过查资料发现,background-image ...
- 微信小程序开发教程(八)视图层——.wxml详解
框架的视图层由WXMKL(WeiXin Markup language)与WXSS(WeiXin Style Sheet)编写,由组件进行展示. 对于微信小程序而言,视图层就是所有.wxml文件与.w ...
随机推荐
- MYSQL和JAVA(课堂笔记)
MYSQL 数据库管理工具 JAVA 编程语言 数据库驱动(JAVA和MYSQL对接方式) 到官网上下载驱动 加载驱动 import java.sql.Connection;import java. ...
- 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
前面讨论了如何运行容器,本节学习容器的其他常用操作. stop/start/restart 容器 通过 docker stop 可以停止运行的容器. 容器在 docker host 中实际上是一个进程 ...
- C#实现谷歌翻译API
由于谷歌翻译官方API是付费版本,本着免费和开源的精神,分享一下用C#实现谷歌翻译API的代码.这个代码非常简单,主要分两块:通过WebRequest的方式请求内容:获取Get方式的请求参数(难点在于 ...
- 平时常用的一些java方法,请留意
平时常用的一些java方法,请留意. package com.util; import java.io.BufferedInputStream; import java.io.BufferedWrit ...
- 调试JDK源码时,不能查看变量的值
前几天本来想以debug模式看一下JDK的源码,进入调试模式时才发现,根本看不到方法里面变量值的情况.为什么呢?JDK现在的版本中,编译过后,去除了里面的调试信息.解决办法是,编译那些类,使其带有调试 ...
- shiro开发,shiro的环境配置(基于spring+springMVC+redis)
特别感谢lhacker分享的文章,对我帮助很大 http://www.aiuxian.com/article/p-1913280.html 基本的知识就不在这里讲了,在实战中体会shiro的整体设计理 ...
- iptables实用教程(一):基本概念和原理
概述 iptables是linux自带的防火墙软件,用于配置IPv4数据包过滤或NAT(IPv6用ip6tables). 在linux上,防火墙其实是系统内核的一部分,基于Netfilter构架,基本 ...
- DNS域名解析的过程
一.主机解析域名的顺序 1.找缓存 2.找本机的hosts文件 3.找DNS服务器 注意: 配置IP和主机名时,要记得修改/etc/hosts文件,因为有些应用程序在主机内的进程之间通信的时候,会本机 ...
- DOM事件类型总结大全
unload:事件在用户退出页面时发生 window.onload = function(){ return "页面关闭!"; }; onblur:失去焦点发生变化 window. ...
- 再谈AbstractQueuedSynchronizer:独占模式
关于AbstractQueuedSynchronizer JDK1.5之后引入了并发包java.util.concurrent,大大提高了Java程序的并发性能.关于java.util.concurr ...