微信小程序 - 分享功能

onShareAppMessage(Object object)
官网是这样说的

监听用户点击页面内转发按钮(button 组件 open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容。
注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮

(一)在我们自己的项目内,对应的js文件中这样写,一般在生成小程序文件的时候默认会显示这样的语句:

onShareAppMessage: function () {

}

那么,在我们小程序界面右上角菜单就会显示“转发”按钮:


转发

(二)除了默认的方法外,我们还可以自定义转发的标题与内容,此事件处理函数需要 return 一个 Object,用于自定义转发内容:

onShareAppMessage: function (res) {
    if (res.from === 'button') {
      // 来自页面内转发按钮
      console.log(res.target)
    }
    return {
      title: '自定义转发标题blabla',
      path: '/page/news-detail'
    }
  }

实现:

转发
字段

(三)一般为了引导用户的转发,我们还会在界面上设置转发按钮,比如“分享给好友”

转发

这时候按钮上的事情我们应该怎么写呢?其实也很简单,小程序官方提供的在button组件上的 open-type="share"


(按钮样式还是需要自己调整的)
这时候弹出的内容则跟我们右上角菜单的“转发”行为一致。

官方Tips
1.不自定义转发图片的情况下,默认会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为转发图片。
2.转发的调试支持请查看 普通转发的调试支持 和 带 shareTicket 的转发
3.只有转发到群聊中打开才可以获取到 shareTickets 返回值,单聊没有 shareTickets
4.shareTicket 仅在当前小程序生命周期内有效
5.由于策略变动,小程序群相关能力进行调整,开发者可先使用 wx.getShareInfo 接口中的群 ID 进行功能开发。
6.微信7.0.12开始,支持群主转发小程序时同时把消息设为该群的群待办消息,群待办消息会以气泡形式出现在聊天窗口底部。默认每次转发一个群待办消息,都会生成一个待办消息气泡。通过 wx.updateShareMenu 接口修改toDoActivityId属性可以把多个待办消息聚合为同一个,即转发相同toDoActivityId的群待办消息,只会出现一个待办消息气泡。toDoActivityId需要在转发前通过 updatableMessage.createActivityId 接口创建。

(四)另外关于转发,官方还提供了其他几个API方法:
1)wx.updateShareMenu(Object object):更新转发属性

    wx.updateShareMenu({
      withShareTicket: true,
      success () {
        console.log("updateShareMenu")
      }
    })
更新转发属性

2)wx.showShareMenu(Object object):显示当前页面的转发按钮

    wx.showShareMenu({
      withShareTicket: true,
      success () {
        console.log("showShareMenu")
      }
    })
显示当前页面的转发按钮

3)wx.hideShareMenu(Object object):隐藏转发按钮

    wx.hideShareMenu({
      success () {
        console.log("hideShareMenu")
      }
    })
隐藏转发按钮

4)wx.getShareInfo(Object object):获取转发详细信息
最后这一个还没有理清楚,目前测试报错,后期理清了再来更新。

你可能感兴趣的:(微信小程序 - 分享功能)