群用户通过微信小程序可以更好地协作了

  今天,小程序向开发者开放了群ID的接口能力。简单地说,就是当你把小程序分享在群聊中,被点击后开发者可获取群ID和群名称,也方便更好地针对群场景提供个性化服务。不同的群有各自的群ID,那么这个新能力开发者该怎么使用?

群用户间可以更好地协作 大家都知道,小程序可以方便地在群聊中分享,但开发者难以识别不同用户的点击路径。

现在,通过最新的接口能力,开发者可以通过群ID判断用户是否来自同一个微信群,同一个群内的用户之间可以更好地使用小程序进行协作,例如共同编辑文档、协同合作、共同点餐等等。 提供更个性化的服务 通过不同的群ID,开发者可以针对各个微信群提供更个性化的服务和内容,满足不同用户的多样需求。

onShareAppMessage

在 Page 中定义 onShareAppMessage 函数,设置该页面的分享信息。

  • 只有定义了此事件处理函数,右上角菜单才会显示 “分享” 按钮
  • 用户点击分享按钮的时候会调用
  • 此事件需要 return 一个 Object,用于自定义分享内容

自定义分享字段

字段

说明

默认值

最低版本

title

分享标题

当前小程序名称

path

分享路径

当前页面 path ,必须是以 / 开头的完整路径

success

分享成功的回调函数

1.1.0

fail

分享失败的回调函数

1.1.0

complete

分享结束的回调函数(分享成功、失败都会执行

1.1.0

回调结果:

回调类型

errMsg

说明

success

shareAppMessage:ok

分享成功

fail

shareAppMessage:fail cancel

用户取消分享

fail

shareAppMessage:fail (detail message)

分享失败,其中 detail message 为详细失败信息

success回调参数说明:

参数

类型

说明

最低版本

shareTickets

Array String

shareTicket 数组,每一项是一个 shareTicket ,对应一个分享对象

1.1.0

示例代码:

Page({
  onShareAppMessage: function () {
    return {
      title: '自定义分享标题',
      path: '/page/user?id=123',
      success: function(res) {
        // 分享成功
      },
      fail: function(res) {
        // 分享失败
      }
    }
  }
})

wx.showShareMenu(OBJECT)

基础库 1.1.0 开始支持,低版本需做兼容处理

显示当前页面的分享按钮

OBJECT参数说明:

参数

类型

必填

说明

withShareTicket

Boolean

是否使用带 shareTicket 的分享详情

success

Function

接口调用成功的回调函数

fail

Function

接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.showShareMenu({
  withShareTicket: true
})

wx.hideShareMenu(OBJECT)

基础库 1.1.0 开始支持,低版本需做兼容处理

隐藏分享按钮

OBJECT参数说明:

参数

类型

必填

说明

success

Function

接口调用成功的回调函数

fail

Function

接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.hideShareMenu()

wx.getShareInfo(OBJECT)

基础库 1.1.0 开始支持,低版本需做兼容处理

获取分享详细信息

OBJECT参数说明:

参数

类型

必填

说明

shareTicket

String

shareTicket

success

Function

接口调用成功的回调函数

fail

Function

接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

CALLBACK 参数说明:

参数

类型

说明

errMsg

String

错误信息

roomTopic

String

群名称

rawData

String

不包括敏感信息的原始数据字符串,用于计算签名。

signature

String

使用 sha1( rawData + sessionkey ) 得到字符串,用于校验分享信息,参考文档signature。

encryptedData

String

包括敏感数据在内的完整分享信息的加密数据,详细见加密数据解密算法

iv

String

加密算法的初始向量,详细见加密数据解密算法

encryptedData 解密后为一个 JSON 结构,包含字段如下:

字段

说明

openGId

群对当前小程序的唯一 ID

roomTopic

群名称

获取更多分享信息

通常开发者希望分享出去的小程序被二次打开的时候能够获取到一些信息,例如群聊名字或者是群的标识。现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ,当用户将小程序分享到任一群聊之后,可以获取到此次分享的 shareTicket,此分享卡片在群聊中被其他用户打开时,可以在 App.onLaunch() 获取到另一个shareTicket。这两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的分享信息。

Bug & Tip

  1. tip: 分享图片不能自定义;会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为分享图片。
  2. tip: 分享的调试支持请查看 普通分享的调试支持 和 带 shareTicket 的分享
  3. tip: 只有分享到群聊中打开才可以获取到 shareTickets 返回值,单聊没有 shareTickets
  4. tip: shareTicket 仅在当前小程序生命周期内有效

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏日常学python

数据抓取实践:对加密参数及压缩混淆 JS 的逆向分析

本文会介绍几种分析技巧,需要一点前端知识(总感觉在前端做防爬没什么意义,因为源码都是公开的)。文末附上爬虫 Demo 验证,虽然对于这个案例来说使用 Selen...

550
来自专栏BestSDK

反编译apk,让微信丢骰子永远只出“6”

准备工作 需要一台已经root并且安装了Hook神奇Xposed框架。在Hook过程中最重要的一点就是要找到Hook点这也是最难的部分。找到Hook点之后编写X...

4026
来自专栏向前进

【踩坑】angularJS 1.X版本中 ng-bind 指令多空格展示

做项目的时候遇到的问题 1、问题描述   用户在表单某个值输入多个空格,例如:A     B,保存至服务器   在列表查询页面中使用bg-bind的指令单向绑定...

3173
来自专栏玄魂工作室

看代码学PHP渗透(3) - 实例化任意对象漏洞

大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个PHP代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。...

791
来自专栏IMWeb前端团队

vim进阶技巧

本文作者:IMWeb 刘志龙 原文出处:IMWeb社区 未经同意,禁止转载 都说vim是编辑器之神。 但是往往武器重要,用的人能驾驭才能把它发挥到极致...

1855
来自专栏Golang语言社区

Go语言-base64使用

什么是base64? Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。...

42813
来自专栏腾讯云API

【转】腾讯云 TCCLI 实践分享

原文地址:https://cloud.tencent.com/developer/article/1158013

1293
来自专栏偏前端工程师的驿站

JS魔法堂:Data URI Scheme介绍

一、前言                                   上周五公司内部的Any Topic Conf.上我和同事们分享了这个主题,有同事说...

1867
来自专栏Vamei实验室

被解放的姜戈04 各取所需

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们在庄园疑云中讲到了服务器上的数据。当...

1815
来自专栏web前端教室

学东西要不断问为什么,要求“甚解”--本周日晚先行者课程简记

今天是周日,又到了每周日晚的先行者课程了。今天晚上的内容是“上传组件”,这个上传组件,其实更应该说是一个功能,上传功能。它几乎没有什么ui交互界面,顶多也就是一...

1707

扫描关注云+社区