微信小程序分享功能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 相关文章推荐
JavaScript Date对象使用总结
May 14 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
Javascript基础教程之定义和调用函数
Jan 18 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
Jun 14 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
Jan 28 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
Sep 28 Javascript
详解angularjs结合pagination插件实现分页功能
Feb 10 Javascript
Bootstrap面板(Panels)的简单实现代码
Mar 17 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
vue webpack重写cookie路径的方法
Jul 10 Javascript
jquery实现购物车基本功能
Oct 25 jQuery
使用kbone解决Vue项目同时支持小程序问题
Nov 08 Javascript
详解关于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方法调用模式与函数调用模式简例
2011/09/20 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
php银联网页支付实现方法
2015/03/04 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
Position属性之relative用法
2015/12/14 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python 多个参数不为空校验方法
2019/02/14 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
实践单位评语
2014/04/26 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
经典演讲稿开场白
2014/08/25 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
红色电影观后感
2015/06/18 职场文书
学子宴致辞大全
2015/07/27 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
python 使用pandas读取csv文件的方法
2022/12/24 Python