分享:微信小程序中的分享事件

小程序的分享 onShareAppMessage(options)

在页面的js文件中定义了 onShareAppMessage 函数时,页面可以表示改页面可以转发。可以在函数中设置页面转发的信息。

  1. 只有定义了该函数,小程序右上角的菜单中才会有转发按钮
  2. 用户点击转发按钮的时候回调用该函数
  3. 该函数内需要 return 一个 Object,Object中包含转发的信息(可自定义转发的内容)

页面中有可以触发转发时间的地方有两个:

  一个是右上角菜单中的转发按钮

  另一个是页面中具有属性open-type且其值为share的button。(注:必须是button组件,其他组件中设置 open-type="share" 无效)

  即:转发

  注意:实际开发中会发现这个 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'){

// 用户取消转发

      }elseif(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;

}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏macOS 开发学习

一步一步,开始上手Mac 开发(二)

2.2 选中MasterViewController.xib 选中view,然后把它拖动的更宽更高,不必在意具体的尺寸细节,要能够放下新的控件就可以。

1332
来自专栏Hongten

pygame系列_mouse鼠标事件

E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

2653
来自专栏知无涯

移动端前端开发调试-将safari设置iPhone模拟器

1.1K11
来自专栏地方网络工作室的专栏

打造前端 Deepin Linux 工作环境——系统更新以及配置字体

打造前端 Deepin Linux 工作环境——系统更新以及配置字体 安装好编辑器,然后就准备码代码了,但是感觉字体不是很好看。所以决定配置一下字体。顺便把系统...

4496
来自专栏mySoul

微信小程序初步入坑指南

https://developers.weixin.qq.com/miniprogram/dev/devtools/beta.html

1474
来自专栏CDA数据分析师

让你效率提高300%的Excel键盘技巧

本文为简书作者傲看今朝原创,CDA数据分析师已获得授权 刚进惠普的时候,听说公司里的某个领导操作Excel从不用鼠标,感觉真是太牛逼了,满是崇拜的眼神。然而经过...

2148
来自专栏飞雪无情的博客

Ubuntu下使用搜狗拼音输入法

对于经常使用Ubuntu操作系统并且不会使用五笔输入法的屌丝来说,选择一种好的拼音输入法能让你事半功倍。在window下我们都知道搜狗的输入法比较好用,更有一些...

1523
来自专栏无所事事者爱嘲笑

vue中的v-cloak

2099
来自专栏Crossin的编程教室

在 Win 控制台中实现菜单

本教室的 hymyg 同学实现了两个控制台下的实用模块,发在了论坛上。我觉得挺不错的,于是分享其中的一个给大家。对项目感兴趣,想进一步了解细节的,可以在公众号里...

2875
来自专栏代码世界

表单提交中的input、button、submit的区别

1.input[type=submit] 我们直接来看例子: ? 代码如下: <form> <input name="name"> <input...

39110

扫码关注云+社区

领取腾讯云代金券