title:“小程序分享至群群消息小结(包括分享到App)”date:2018-09-1522:05:28tags:以下是18年3月底在公司内部的分享,虽然小程序对于分享回调有所限制(下文会说明),但是整体方案依然是可行的1.去年做过小程序群成员相关的信息展示需求,后续常有同事来问细节。因此把去年做完后的梳理的小结发出来供参考。微信文档现在相较去年也有所更新完善,但大致流程不变。
小程序分享获得群信息小结官方文档有,但是较分散,所以对这块知识作一个小结,能快速了解小程序分享至群获得群信息的流程。包括前后端需要做的事情(并不是前端直接获取群信息的)无法直接获取群内成员信息,小程序只能通过用户发起分享或点击分享,自行收集用户与群之间的关系网最终目的2.获取用户分享相关的群信息,与用户id进行绑定。三种途径:
用户分享至群获取群信息群成员点击分享信息时,获取对应群信息app分享到微信,点开至小程序(18.03.29补充)整体流程图3.
用户分享至群获取转发对象4.最近,微信小程序已经无法正常获取成功or失败的回调,这对此功能的影响是无法在用户分享成功的第一时间建立群关系
5.但是,整体上的群关系依然是能建立的,只是时间滞后了。
6.path:参数带上分享用户的uid,当点击用户进入后,即可获取两个用户id,一并建立群关系。(18.09.15补充)
Page中目前已无法获取成功失败回调//在转发成功回调中获取onShareAppMessage:function(res){return{title:'这是一个测试分享',path:'/pages/redPacket/index/index?index=1&hello=hello',success:function(res){wx.getShareInfo({shareTicket:res.shareTickets[0],success(resShare){console.log(resShare);},fail(resShare){console.log(resShare);},});},fail:function(res){//分享失败}}},7.设置当前页面的转发配置,使其在分享的时候带上shareTicket
wx.showShareMenu({withShareTicket:true})获取转发对象shareTicket8.在onShareAppMessagesuccess的回调中可以拿到shareTickets,一个数组,其对应一个shareTicket
9.shareTicket:转发对象
获取群相关敏感信息的加密数据虽然,看起来好像很简单,拿到两个数据解密,就能得到最终的。然而,最终获取还是需要一定的过程。解密10.官方说明中的解密算法:(解密示例代码可直接在官方文档搜索:加密数据解密算法)目标密文encryptedData,和解密算法初始向量iv已经在getShareInfo的成功回调中获取
11.还缺一个密钥session_keysession_key是本次登陆的会话密钥
session_key这是微信官方给出的`登陆时序图`,获得`session_key`,需要获取三个信息`appid+appsecret+code`前两者可以在公众号平台中查看。code:登陆凭证12.可以通过wx:login(OBJECT)接口获得,用于换取用户登录态信息,包括用户的唯一标志openid及本次登陆的会话密钥session_key
注意:如登陆时序图所展示,前端获取code之后,传给后端,解密的工作应在后端进行。session_key不可作为数据在前后端进行传输code有效期5min。换取session_key。session_key生命周期到下一次调用login,引发登录态刷新时。获得session_key13.后端通过以下接口获得
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_codeappid小程序唯一标识secret小程序的appsecretjs_code登录时获取的codegrant_type填写为authorization_code回参:openid、session_key14.至此,解密需要的所有信息都已获取。解密算法较常见,在此不累述。
解密获得的信息15.群id:openGId,以及时间戳都已有其他参数什么意思,可以参考官方文档,本文不再累述
群成员点击分享信息前者需要前端进行的工作,都可以在当前Page内完成而,群成员点击分享信息,shareTicket的获取,在App级别在App()的onLaunch(),和onShow()里面获取。获取转发对象App({onLaunch:function(options){if(options&&options.shareTicket){//获取shareTicket}},onShow:function(options){if(options&&options.shareTicket){//获取shareTicket}},});onLaunch全局只调一次,所以写在onShow里面最好将option中获得的shareTicket,存cache(可以用其他方式),后续在对应页面获得,处理App分享至微信,点开到小程序获取群信息16.微信文档说明地址
17.https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317340&token=&lang=zh_CN
18.Native的同学需要设置的东西
19.客户端按照文档的说明,发起分享。最后解析流程是一样的。
小程序后端20.由于appsecret,是可以重新生成的,如果变动影响较大。因此,咱们登陆后端已经对从code获取session_key的流程,进行了处理。
21.后续,如果有需求需要涉及这方面,可以直接找登录业务的同事。
22.登录时获取的session_key可以从xxx-api(公司内部服务)服务中获取
不要在群里发小程序-小程序分享至群群消息小结(包括分享到App)-微信群小程序
浏览量:3244
时间:
来源:Zsk_Zane
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。












