小程序分享

文档地址:
微信官方文档 :https://developers.weixin.qq.com/miniprogram/dev/api/share.html#wxupdatesharemenuobject
微信小程序转发:https://blog.youkuaiyun.com/xiaochun365/article/details/76546585
                           http://news.ifeng.com/a/20170510/51071063_0.shtml


一。onShareAppMessage(options)函数设置该页面的转发信息。
options参数说明: 
 自定义字段:
  return {
    title: '转发',  // 转发标题(默认:当前小程序名称)
    path: '/pages/index/index', // 转发路径(当前页面 path ),必须是以 / 开头的完整路径,path后可以接参数,形式为__=__形式。
    success(e) {
        // shareAppMessage: ok,
        // shareTickets 数组,每一项是一个 shareTicket ,对应一个转发对象
        // 需要在页面onLoad()事件中实现接口
          wx.showShareMenu({
             // 要求小程序返回分享目标信息
             withShareTicket: true 
            });
    },
      fail(e) {
        // shareAppMessage:fail cancel
        // shareAppMessage:fail(detail message) 
      },
}
二。wx.showShareMenu(OBJECT)
此接口功能:1.显示当前页面的转发按钮
            2.在onshareappmessage()的返回值里包括sharetickets,现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ,当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket,此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch() 或 App.onShow 获取到另一个 shareTicket。这两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。


三。wx.hideShareMenu(OBJECT)此接口用来隐藏转发按钮,


四。wx.getShareInfo(OBJECT)获取转发的详细信息,此接口在分享后的回调函数中使用,
如:  onShareAppMessage:function(e){
    
return {
title: "转发的标题",  // 默认小程序的名称
    path: '/pages/share/share', // 默认是当前页面,必须是以‘/’开头的完整路径(可以写其它页面的地址,)
    imgUrl: '',   //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4   
   success(e){
    if (res.shareTickets) { 
      wx.getShareInfo({
       shareTicket: e.shareTickets[0],//shareticket参数是上边函数成功回调返回的
       success:function(e){
             e.errMsg; // 错误信息
             e.encryptedData;  //  解密后为一个 JSON 结构(openGId    群对当前小程序的唯一 ID)
             e.iv; // 加密算法的初始向量
         console.log("return outcome",e)
      }   
    })
   }
  }
 }
}


注意:
1.当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket(使用wx.showShareMenu(OBJECT){ withShareTicket:true  }) 
2.此转发卡片在群聊中被其他用户打开时,可在 App.onLaunch() 或 App.onShow() 获取到另一个 shareTicket 
3.两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。
4.如果要使用button按钮分享的话,必须先要在页面的js文件中定义onshareappmessage()函数。
5.通常我们分享时会加一些参数,在用户点击的时候获取到,
方法:在return对象的path参数后边加上?参数名=参数值&参数名=参数值
6.使页面具有分享功能有两个办法:
 一,自定义分享按钮,<button type="primary" open-type='share' bindtap="nnn" id="nihao" data-ind="ind">点我分享</button>(1.必须是button标签2.open-type='share')
二,在页面的js文件中写上onshareappmessage()方法。
这两种都可以触发onshareappmessage()方法执行。
只是返回的参数不同:
1.from:转发事件来源。button:页面内转发按钮(值为button);menu:右上角转发菜单(值为menu); 
2.target:如果from是button,则 target 是触发这次转发事件的 button(值为:{id: "nihao", dataset: {…}, offsetTop: 534, offsetLeft: 0}),否则为 undefined
7.return对象的path可以写其它页面的路径,用户点开后显示的是path写的路径,比如在index页面定义的return对象是logs的页面,而且加的参数是id=3,所以在用户点开的是logs页面,可以在logs页面js文件的onload(options)方法options参数中可以接收到页面分享时填写的参数值。
8,去掉button按钮的黑色边框1.后来给button加了一个样式属性 plain="true" 以后,2.在样式文件中控制样式 button[plain]{ border:0 } 


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值