文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

微信小程序转发功能如何实现

2023-06-26 08:30

关注

这篇文章主要介绍“微信小程序转发功能如何实现”,在日常操作中,相信很多人在微信小程序转发功能如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序转发功能如何实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  微信小程序转发功能如何实现

  小程序转发功能是小程序最基本的功能,有四种方法可以实现这一效果。

  1、Page.onShareAppMessage({})

  设置右上角“转发”配置,及转发后回调函数返回 shareTicket 票据

  2、wx.showSahreMenu()

  用户点击右上角后,显示“转发”按钮

  3、wx.hideShareMenu()

  隐藏转发按钮,无视 Page.onShareAppMessage({})

  4、wx.getShareInfo({})

  根据 shareTicket 获取已加密的群信息

  把转发流程切分:转发前配置->转发时->转发到群组后打开->二次转发

  转发流程图:

微信小程序转发功能如何实现

  这里写图片描述

  U1: 用户

  T1,T2,T3:表示转发票据,即 shareTicket

  G1,G2,G3:群组

  1.转发前配置

  在页面 onLoad 方法添加

  1 wx.showShareMenu({

  2 withShareTicket: true

  3 })

  withShareTicket 为 true 时,表示允许转发时是否携带 shareTicket。

  shareTicket 是获取转发目标群信息的票据,只有拥有 shareTicket 才能拿到群信息,用户每次转发都会生成对应唯一的shareTicket 。

  shareTicket 有两个用途:

  用户主动转发后,获取转发到目标群群信息,对应上图UI。

  用户在群组中打开小程序,获取群组信息,对应上图 G1 群组中的用户。

  2.转发时获取群信息

  当某个小程序被转发到群组后,开发者想获取到转发目标群组信息,将用户和群组做某种绑定关系(openId + openGid)。

  1 onShareAppMessage: function () {

  2 return {

  3 title: '自定义转发',

  4 path: '/page/user?id=123',

  5 success: function(res) {

  6 var shareTickets = res.shareTickets;

  7 if (shareTickets.length == 0) {

  8 return false;

  9 }

  10 wx.getShareInfo({

  11 shareTicket: shareTickets[0],

  12 success: function(res){

  13 var encryptedData = res.encryptedData;

  14 var iv = res.iv;

  15 }

  16 })

  17 },

  18 fail: function(res) {

  19 // 转发失败

  20 }

  21 }

  22 }

  shareTickets 是一个数组,每一项是一个 shareTicket ,对应一个转发对象,转发给用户不会包含shareTicket。

  拿到 shareTicket 之后,使用 wx.getShareInfo({}) 方法传入 shareTicket 参数,wx.getShareInfo({}) 里回调函数中包含 已加密的群信息和 向量IV。

  3.转发到群组后打开

  用户将小程序转发到微信群组后,群成员打开小程序,通过 shareTicket,开发者就能将群成员和群组绑定起来(openId + openGid),基于群组关系,小程序有更多的应用场景,例如:王者荣耀群排行,摩拜单车。

  1 Page({

  2 onLoad: function(opt) {

  3

  4 if (opt.scene == 1044) {

  5 wx.getShareInfo({

  6 shareTicket: opt.shareTicket,

  7 success: function(res){

  8 var encryptedData = res.encryptedData;

  9 var iv = res.iv;

  10 }

  11 })

  12 }

  13 }

  14 })

  在群组中打开小程序,页面onLoad 或 onShow 方法包含 scene 和 shareTicket,需要判断 scene 是否为1044,如果不是则不包含 opt 中 shareTicket 参数。

  4.二次转发

  二次转发重复前3个步骤,没什么可说的,但是有一个方向值得探讨,可否把小程序转发路径比作转发链,进而生成转发树,用数据结构方法(树、马尔科夫链)处理发现群组与群组,群组与成员之间微妙关系。

  如开头那张图,我们很容易看出转发链和转发树。

  转发链:U1 > G1 > G2

  转发树:U1 > G1 > G2 & G3

到此,关于“微信小程序转发功能如何实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯