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

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

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

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

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

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

(重要通知小程序)

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

(小程序场景值)

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

我们可以在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 条评论
登录 后参与评论

相关文章

来自专栏BeJavaGod

不能因为方便了自己而破坏软件设计的原则(字数很多,请耐心读完)

其实很多团队开发中很多人都是负责自己的模块,做完了事,自己做的尽量简单话能用就行,不需要考虑过的以后的事,反正是打工的,是拿死工资的,项目做得好不好,和自己无关...

38170
来自专栏编程

Go和Rust简单计算性能PK

作者:孙飞撩技术 链接:https://www.jianshu.com/p/003fc48cbf55 來源:简书 共3499字,阅读需9分钟 迁移自 CSDN:...

551100
来自专栏知晓程序

工作一团糟?快用这个小程序,好好整理你的任务

以前,我们通常把待办事项记录在便利贴上,来防止遗忘。可是,便利贴不能让我们随时随地查看,也不方便和其他人共享。

9320
来自专栏斑斓

处理遗留系统

处理遗留系统,几乎是每个程序员都不可能绕过的一件麻烦事儿。因为时间压力,技能不足以及功能复杂等诸多原因,常常使得遗留系统的代码变得糟糕混乱,可读性与维护性差,无...

29040
来自专栏媒矿工厂

编码,打包,CDN交付和视频播放器端的延迟优化

在本系列上一篇文章《定义和测量延迟》中,介绍了为什么延迟是OTT传输的一个问题以及如何测量端到端延迟中不同传输步骤所占的延迟比重。 本文接下来介绍可能的延迟优化...

44940
来自专栏phodal

使用 React Native 重写大型 Ionic 应用后,我们想分享一下这八个经验

本文的内容是关于 React Native 重写的经验分享,基于 React Native 重写 Ionic 应用Growth 过程中遇到的一些坑。 Growt...

29660
来自专栏安恒网络空间安全讲武堂

0CTF h4x0rs.club1/2 复现

周末肛了一下0ctf,发现自己依旧那么菜。一道题也没解出来,成功的再一次拖了队伍后退。 今天发现国外大佬们已经开始放wp了。于是自己学习一波,复现一下。 先吐槽...

41670
来自专栏我思故我在

ABP框架 - N层架构

17630
来自专栏即时通讯技术

腾讯技术分享:Android版手机QQ的缓存监控与优化实践

对于Android应用来说,内存向来是比较重要的性能指标。内存占用过高,会影响应用的流畅度,甚至引发OOM,非常影响用户体验。因此,内存优化也向来是行业内的重点...

21320
来自专栏编程微刊

2018前端越来越流行的的技术

16350

扫码关注云+社区

领取腾讯云代金券