专栏首页疯狂的小程序分享:微信小程序中的分享事件
原创

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

小程序的分享 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 条评论
登录 后参与评论

相关文章

  • 微信小程序使用WebSokcet实现相关请求

    以前做小程序为了应急找了个插件去链接WebSokcet,文章传送门。

    疯狂的小程序
  • 微信小程序组件化编程和实践(下)

    现在我们已经可以做到了两个组件之间的数据传递,那么如何在多个组件间传递数据呢?

    疯狂的小程序
  • 防止小程序多次点击跳转解决方案

    在使用小程序的时候会出现这样一种情况:当网络条件差或卡顿的情况下,使用者会认为点击无效而进行多次点击,最后出现多次跳转页面的情况,就像下图(快速点击了两次):

    疯狂的小程序
  • 速读原著-TCP/IP(转发或不转发)

    前面我们已经提过几次,一般都假定主机不转发 I P数据报,除非对它们进行特殊配置而作为路由器使用。如何进行这样的配置呢?

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

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    菲宇
  • 新栏目上线啦!!!

    ? 欢迎转发~~

    腾讯大数据
  • AngularJS 知识点

    看完务必转发 ? ? ? ? ? ? ? ? ?

    前朝楚水
  • 转发的,你给我站住

    翻到末尾,你会看到,阅读数量10万+,点赞数量10万+,赞赏数量都超过了10000。

    王树义
  • 挖了一条网络隧道,差点被公司激活

    你是否常常遇到这些个麻烦,因为公司安全策略的问题,每次要通过跳板机而不能直接连开发环境,使用上面已经搭建好的数据库服务。为了方便发布,自己电脑上的服务别人,不能...

    机智的程序员小熊
  • firewall端口转发的设置

    用户2135432

扫码关注云+社区

领取腾讯云代金券