微信小程序> 不要在群里发小程序-微信小程序——转发功能踩坑(辨别到群与个人、多个转发按钮、转发带参数)总结-微信群小程序

不要在群里发小程序-微信小程序——转发功能踩坑(辨别到群与个人、多个转发按钮、转发带参数)总结-微信群小程序

浏览量:6429 时间: 来源:鱼丸粗面不要香菜

1.小程序的转发功能已经封装好了,可以通过在Page中定义onShareAppMessage函数,设置该页面的转发信息。eg:wxml

buttonopen-type="share"转发/button

2.js

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

3.以上就是一个简单的转发按钮,触发后可以调用onShareAppMessage函数来进行转发,转发的小页面可以在函数中进行定义。这些在官方文档中都有而且很详细,但是我在开发的时候还是遇到了一些问题,下面来进行一些总结。

1、辨别转发到个人还是群

4.在做小程序的时候,产品有个需求是要判别是否转发到群,针对群和个人进行不同的反馈。想要获取到转发信息的话需要在js中写

wx.showShareMenu({withShareTicket:true})

5.开启了withShareTicket之后,如果转发在群里的话,在转发之后成功的回调函数中可以获取到shareTicketsshareTickets是一个数组,可以判断shareTickets的有无来判断是转发到群里还是个人

2、多个转发按钮

6.当一个页面中有多个转发的按钮的话,每个按钮的转发页面又有所不同的时候。就要在onShareAppMessage函数中进行单独的设置。onShareAppMessage函数中有options参数,options参数里面有这触发该函数的来源options中的from参数表示转发事件来源。button:页面内转发按钮;menu:右上角转发菜单。如果是button的话还可以通过button中的target参数来判断是哪一个button触发的,可以获取到button的id或者class。这样就可以对不同的按钮来设置不同的转发页面eg:

Page({onShareAppMessage:function(res){//button触发if(res.from==='button'){lettarget_id=res.target.id;//id为btn1的button触发if(target_id==="btn1"){return{title:'转发一',path:'/page/index',success:function(res){//转发成功},fail:function(res){//转发失败}}//id为btn2的button触发}elseif((target_id==="btn2")){return{title:'转发二',path:'/page/user',success:function(res){//转发成功},fail:function(res){//转发失败}}}//menu触发}elseif(res.from==='menu'){return{title:'menu转发',path:'/page/user',success:function(res){//转发成功},fail:function(res){//转发失败}}}}})

7.注:menu的转发要单独进行设置的

3、转发带参数

8.在转发的时候,如果需要在别的用户点击转发进入小程序的时候带有参数的话,可以通过在onShareAppMessage函数中带入所需的值,进行转发

Page({onShareAppMessage:function(res){letsendinfo={num:1,nickName:"jack",}letstr=JSON.stringify(sendinfo);return{title:nickName+'向你分享了小程序',path:'/page/user?sendinfo='+sendinfo,success:function(res){//转发成功},fail:function(res){//转发失败}}}})

9.现在点击这个转发卡片就后,在转发路径地址的页面中就可以获取到带入的值了

Page({data:{}onLoad:function(option){letsendinfo=option.sendinfo;}})

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎