小程序如何区分转发好友和转发群

知晓程序员,专注微信小程序开发的程序员!

前言:群内隔段时间就有同学问,小程序的转发,是否可以区分转发给好友,还是转发给微信群,今天给大家说说如何区分。顺便说一下限群成员可见功能如何实现~

这个问题,要区分一下分享之前和分享之后就好办了。

当小程序分享之前,小程序无法区分到底是分享给了好友,还是分享给了微信群。也就是说,你想在分享之前去做些事情,这是不可以的,做不到~

分享之后,有间接的办法来知道小程序卡片分享的是好友还是群,先看一下截图:

(重要通知小程序)

我们今天主要来说说,分享后是如何对好友卡片和群卡片的。实现思路:通过场景值来判断~

(小程序场景值)

小程序官方给的场景值,已经对单人聊天会话群聊天会话做了区分,如上图。

我们可以在app.js里面的onLaunch方法或者onShow方法获取到场景值:

拿到值之后,你可以保存全局变量,或者写入本地缓存,在相应的page.js里面去做判断,如果是群聊,显示群聊界面,如果是私聊,显示私聊界面。

上面只说了如何区分群聊还是私聊,那么仅限某个群可见这功能又如何实现呢?

思路:分享小程序卡片之后,获取到群id,当群用户点击群内小程序卡片时,也会获取一个群id,这两个群id相同,则表明是同一个群;没有获取到群id,表明不是从群聊中打开小程序卡片;两个群id不同,则表明不是同一个群~

上面已经说了,有两种场景可以获取群id

第一:小程序卡片分享到群聊中。分享完成之后,有个分享成功的回调方法,可以在此方法中获取到shareTickets

拿到shareTickets之后,可以调用wx.getShareInfo,获取解密gid会用到的向量和加密值,传给服务端进行解密(小程序中所有的解密操作,都放在服务端进行)。

注:上面成功回调时,res.shareTickets是个list,因为分享给好友和群的时候,可以多选,最多选9项~

第二:从群聊中打开小程序卡片时。从群中打开小程序卡片,会在app.js里面的onLaunch方法和onShow方法中获取到shareTickets

拿到shareTickets之后,去服务端解密~

相信大家也有看到过,有些小程序做了群排行榜功能吧。实现方式,也是同样的道理~

原文发布于微信公众号 - 知晓程序员(bainaweb)

原文发表时间:2018-03-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

CardView

在Google I/O 2014上,Google公布了Android L Preview版本,此版本的UI有了非常大的改变,很炫很给力!同时,Google也给...

1649
来自专栏古时的风筝

最简单的数据抓取教程,人人都用得上

Web Scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据。例如知乎回答列表、微...

4328
来自专栏Nian糕的私人厨房

WeChat 从一个简单的“Welcome”页面来开启小程序之旅吧

本次的系列博文的知识点讲解和代码,主要是来自于 七月老师 的书籍《微信小程序开发:入门与实践》,由个人总结并编写,关于更多微信小程序开发中的各项技能,以及常见问...

463
来自专栏phodal

我的职业是前端工程师【五】: 前端工程师必会的六个调试技能

我还是一个野生程序员的时候,不会 Debug,只会傻傻地写一句句 std::count。即使是在今天,有些时候我也会这样做:打一个 console.log,然后...

18110
来自专栏向治洪

android多屏幕分辨率适配

做android开发,开源嘛,满市场都是凌乱的机型,总少不了适配这样或那样的型号。在这里分享一下自己在开发中用到的方法。 首先要介绍一下drawable-md...

16810
来自专栏coding

使用sqltools让sublime text成为数据库的客户端

1293
来自专栏Alice

js跳转界面

js页面跳转大全 所谓的js页面跳转就是利用javesrcipt对打开的页面ULR进行跳转,如我们打开的是A页面,通过javsrcipt脚本就会跳转到B页面。 ...

3037
来自专栏云飞学编程

python简单应用,用python爬虫和GUI编程,做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬...

581
来自专栏ytkah

一个canonical标签解决site不在首页的问题

  前段时间因为竞价的同事为了方便查看转化路径,在每个关键词都设置了不同的url,具体是直接在标准网址后面加#和参数,例如www.abc.com/#defgh,...

2788
来自专栏DeveWork

WordPress 开发之使用WordPress 3.8+后台图标(dashicons)

伴随着WordPress 3.8 的新界面,WordPress 官方为后台UI 引进了目前贼流行的webfont(又称 icon font),官方独立项目名为d...

1728

扫描关注云+社区