嗨,欢迎来到阿拉丁指数
  • 登录 注册
小程序
小程序码 扫码使用小程序
研究报告
行业活动
    【阿拉丁小教程】与小程序结合,教你把微信群玩起来
    2018-04-10 20:45 12306

    微信几乎占据了我们生活中的大部分时间,相信大多数人打开微信后,占据在前面的,总有那么几个微信群。在过去,微信群是我们聚众聊天的地方,缺少可「玩」性。但自从微信小程序推出群应用之后,微信群有了更多的「玩」法。


    来自微信官方的说法:“当用户在群聊中点击小程序的分享卡片,开发者可获取群ID和群名称,更好地针对群场景提供个性化服务。”通俗地理解,开发者可以获取到用户分享到群的基本信息,从而对不同群进行不同个性化推送服务。



    微信小程序群接口可以实现什么功能

     

    1. 群留言板

    陌陌群里有个留言板,只有群里的会员能够看到,微信群一直没有这个功能,现在小程序开放了这个接口,那我们就可以做一个群留言板,分享到群中,只有群里的用户可以看到,在不同的群里点开这个留言板,看到内容是不一样的。

     

    2.群相册

    朋友圈有相册,微信群里却没有,我们可以开发一个群相册,让群里的朋友把照片都上传上来,群内可见,这样,你就知道你的群友都长什么样子了。

     

    3. 群动态(群朋友圈)

    群动态就是群朋友圈了,微信的朋友圈只有好友之间才能看到,我们可以做一个对群内朋友可见的群朋友圈,看看群里的朋友每天都在干什么

     

    4.群文档

    微信对于协同办公的支持不太多,这导致长时间以来,微信只能作为交友的地方,现在有了群接口,我们就可以开发一个群文档,让同一个群里的用户可以共享文档。

     

    5.群百科

    我们可以在群里做一个百科全书,让群里的人共同来编辑,这样就可以在群内实现知识共享了。

     

    6. 群活动

    只要在群里做个小程序就可以把活动报名、评论、照片分享全部都实现了

     

    7. 群收款(群众筹)

    在群里发起AA制收款了,众筹商品了,这些将会更加的方便

     

    8.群办公

    在群里可以实现协同办公了,是不是以后用微信群就可以实现钉钉的好多功能了。


    接下来我们以群留言板为例,介绍一下微信小程序在群应用方面的具体实现。那么我们要怎么对不同群进行不同个性化的推送呢?最关键的是我们需要获取群ID。

     

    1、获取群ID

    首先我们需要将小程序转发到群里,获取到对应群的群 ID。在 Page 中定义 onShareAppMessage 函数,设置该页面的转发信息。

     

            只有定义了此事件处理函数,右上角菜单才会显示 “转发” 按钮。

            用户点击转发按钮的时候会调用

            此事件需要 return 一个 Object,用于自定义转发内容

     

    在代码里面添加 onShareAppMessage 方法,转发成功后,拿到 ShareTicket,再调用 wx.getShareInfo 获取转发目标的信息。代码如下:


    未标题-1.jpg

    其中转发函数的参数res有如下说明

    参数

    类型

    说明

    from

    String

    转发事件来源。button:页面内转发按钮;menu:右上角转发菜单

    target

    Object

    如果 from 值是 button,则   target 是触发这次转发事件的 button,否则为 undefined


    转发字段

    字段

    说明

    title转发标题

    当前小程序名称

    path转发路径

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

    imageUrl      

    自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG

    success

    转发成功的回调函数

    fail

    转发失败的回调函数

    complete

    转发结束的回调函数(转发成功、失败都会执行)


    页面转发成功后,会回调success函数

    参数

    类型

    说明

    shareTickets

    StringArray

    shareTicket 数组,每一项是一个 shareTicket ,对应一个转发对象


    为了保证用户隐私安全,微信特意将微信群 ID 进行了非常复杂的加密。当加密数据直接发到服务器后,服务器还需要再进行一步解码,才能正常使用微信群信息。解密后的格式如下:


    2.png


    openGId 就是我们要的群 ID 了,把它保存下来。

     

    2、判断用户是否为该群成员

    用户进入小程序时,小程序可以在 app 对象中的 onLaunch 生命周期函数中,获取到进入小程序的渠道(情景值)。

     

    当情景值为 1044,即通过带 shareTicket 的微信群分享卡片进入小程序,小程序就可以额外获取到 shareTicket。


    未标题-3.jpg

    如果当前用户未登录(从未调用 wx.login 或 session 过期),这些接口都会出现调用失败的情况。我们可以保存全局变量,或者写入本地缓存,在相应的page.js里面去做判断,如果是群成员,就可以确定是否为用户提供当前群应用的服务了。

     

    3、留言板相关功能

    这里只提供简单的增删改的功能,用户认证成功之后进入留言板页面,认证失败则跳转错误页面。


    未标题-5.jpg


    至此,整个群应用的小程序设计完成,文章只提供了业务的简单的逻辑,后续开发可以增加一些功能,并对页面进行一些美化。

    THE END

    本文章仅代表作者观点,不代表阿拉丁官方立场,本文系作者授权 阿拉丁指数平台( aldzs.com)、阿拉丁指数公众号发表,未经许可,不得转载。

    上升最快
    新进榜单
      跌出榜单
        • 阿拉丁服务顾问

        • 阿拉丁数据助手

        • 体验指数小程序