博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序中的分享事件
阅读量:6285 次
发布时间:2019-06-22

本文共 1590 字,大约阅读时间需要 5 分钟。

小程序的分享 onShareAppMessage(options)
 
在页面的js文件中定义了
onShareAppMessage 函数时,页面可以表示改页面可以转发。可以在函数中设置页面转发的信息。
1. 只有定义了该函数,小程序右上角的菜单中才会有转发按钮
2. 用户点击转发按钮的时候回调用该函数
3. 该函数内需要 return 一个 Object,Object中包含转发的信息(可自定义转发的内容)
 
页面中有可以触发转发事件的地方有两个:
  一个是右上角菜单中的转发按钮
  另一个是页面中具有属性open-type且其值为share的button。(注:必须是button组件,其他组件中设置 open-type="share" 无效)
  即:<button data-name="shareBtn" open-type="share">转发</button>
  注意:实际开发中会发现这个 button 自带有样式,当背景颜色设置为白色的时候还有一个黑色的边框,刚开始那个边框怎么都去不掉,后来给button加了一个样式属性 plain="true" 以后,再在样式文件中控制样式 button[plain]{ border:0 } ,就可以比较随便的自定义样式了,比如说将分享按钮做成一个图标等
 
触发分享事件后调用的函数:
onShareAppMessage: function( options ){  var that = this;  // 设置菜单中的转发按钮触发转发事件时的转发内容  var shareObj = {    title: "转发的标题",        // 默认是小程序的名称(可以写slogan等)    path: '/pages/share/share',        // 默认是当前页面,必须是以‘/’开头的完整路径    imgUrl: '',     //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4    success: function(res){      // 转发成功之后的回调      if(res.errMsg == 'shareAppMessage:ok'){      }    },    fail: function(){      // 转发失败之后的回调      if(res.errMsg == 'shareAppMessage:fail cancel'){        // 用户取消转发      }else if(res.errMsg == 'shareAppMessage:fail'){        // 转发失败,其中 detail message 为详细失败信息      }    },    complete: function(){      // 转发结束之后的回调(转发成不成功都会执行)    }  };  // 来自页面内的按钮的转发  if( options.from == 'button' ){    var eData = options.target.dataset;    console.log( eData.name );     // shareBtn    // 此处可以修改 shareObj 中的内容    shareObj.path = '/pages/btnname/btnname?btn_name='+eData.name;  }  // 返回shareObj  return shareObj;}

  

转载于:https://www.cnblogs.com/alululu/p/9494709.html

你可能感兴趣的文章
资源文件夹res/raw和assets的使用
查看>>
UINode扩展
查看>>
LINUX常用命令
查看>>
百度云盘demo
查看>>
概率论与数理统计习题
查看>>
初学structs2,简单配置
查看>>
Laravel5.0学习--01 入门
查看>>
时间戳解读
查看>>
sbin/hadoop-daemon.sh: line 165: /tmp/hadoop-hxsyl-journalnode.pid: Permission denied
查看>>
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>
Google MapReduce到底解决什么问题?
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>