微信小程序分享功能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 日期常用的方法
Nov 11 Javascript
JavaScript实现简单的时钟实例代码
Nov 23 Javascript
jQuery的选择器中的通配符使用介绍
Mar 20 Javascript
JavaScript面向对象编程入门教程
Apr 16 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
JavaScript DOM事件(笔记)
Apr 08 Javascript
js实现的倒计时按钮实例
Jun 24 Javascript
13个PHP函数超实用
Oct 21 Javascript
jQuery限制图片大小的方法
May 25 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
Feb 27 Javascript
基于JavaScript实现抽奖系统
Jan 16 Javascript
Vue头像处理方案小结
Jul 26 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
跟我学Laravel之快速入门
2014/10/15 PHP
php实现复制移动文件的方法
2015/07/29 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
js删除所有的cookie的代码
2010/11/25 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
原生js实现水平方向无缝滚动
2017/01/10 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
javascript 数组(list)添加/删除的实现
2020/12/17 Javascript
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
python 实现按对象传值
2019/12/26 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
信息系统专业个人求职信范文
2013/12/07 职场文书
证券期货行业个人的自我评价
2013/12/26 职场文书
餐饮管理自我介绍信
2014/01/15 职场文书
回门宴父母答谢词
2014/01/26 职场文书
指导教师评语
2014/04/26 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年销售工作总结
2014/12/01 职场文书
煤矿安全保证书
2015/02/27 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
庆七一活动简报
2015/07/20 职场文书
JavaScript继承的三种方法实例
2021/05/12 Javascript