微信小程序分享功能onShareAppMessage(options)用法分析


Posted in Javascript onApril 24, 2019

本文实例讲述了微信小程序分享功能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',    // 默认是当前页面,必须是以‘/'开头的完整路径
    imageUrl: '',   //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持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: fucntion(){
      // 转发结束之后的回调(转发成不成功都会执行)
    }
  };
  // 来自页面内的按钮的转发
  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;
}

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
JS面向对象编程之对象使用分析
Aug 19 Javascript
JSON辅助格式化处理方法
Mar 26 Javascript
jquery获取自定义属性(attr和prop)实例介绍
Apr 21 Javascript
JavaScript学习笔记之JS对象
Jan 22 Javascript
JavaScript学习笔记之JS事件对象
Jan 22 Javascript
javascript 实现map集合
Apr 03 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
Aug 29 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
Oct 30 Javascript
angularjs性能优化的方法
Sep 05 Javascript
微信小程序实现电子签名功能
Jul 29 Javascript
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
详解关于webpack多入口热加载很慢的原因
Apr 24 #Javascript
微信小程序实现的一键连接wifi功能示例
Apr 24 #Javascript
vue router 通过路由来实现切换头部标题功能
Apr 24 #Javascript
js实现全选反选不选功能代码详解
Apr 24 #Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
Apr 24 #Javascript
Vue源码解析之数据响应系统的使用
Apr 24 #Javascript
详解微信小程序文件下载--视频和图片
Apr 24 #Javascript
You might like
关于php内存不够用的快速解决方法
2013/10/26 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
Symfony查询方法实例小结
2017/06/28 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
vuex实现简易计数器
2016/10/27 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
js 奇葩技巧之隐藏代码
2017/08/11 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
从零学python系列之从文件读取和保存数据
2014/05/23 Python
python查看数据类型的方法
2019/10/12 Python
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
linux面试题参考答案(8)
2016/04/19 面试题
毕业生怎样写好自荐信
2013/11/11 职场文书
历史教育专业个人求职信
2013/12/13 职场文书
预备党员入党思想汇报
2014/01/04 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
个人授权委托书样本
2014/09/13 职场文书
施工安全协议书范本
2014/09/26 职场文书
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python
python热力图实现的完整实例
2022/06/25 Python