小程序模板網(wǎng)

微信小程序區(qū)分分享到群和好友

發(fā)布時間:2018-05-16 15:55 所屬欄目:小程序開發(fā)教程

需求

最近在做的微信小程序中,有這樣的需求,需要判斷用戶是分享到群還是好友。

方法

微信小程序官方提供了 onShareAppMessage(options) 函數(shù),可以設置頁面中的轉發(fā)信息,當然,里面也有轉發(fā)成功后的回調(diào),我們下面也是會用到這個轉發(fā)成功的回調(diào)函數(shù)。

在頁面的 Page 中定義這個函數(shù),參考代碼:

Page({
  onShareAppMessage: function (res) {
    if (res.from === 'button') {
      // 來自頁面內(nèi)轉發(fā)按鈕
      console.log(res.target)
    }
    return {
      title: '自定義轉發(fā)標題',
      path: '/page/user?id=123',
      success: function(res) {
        // 轉發(fā)成功
        // 如果這里有 shareTickets,則說明是分享到群的
        console.log(res.shareTickets)
      },
      fail: function(res) {
        // 轉發(fā)失敗
      }
    }
  }
})

如果 success 回調(diào)里有返回 shareTickets,則說明是分享到群的,如果沒有則是分享到好友。

坑來了,你如果沒有設置 wx.showShareMenu,是沒有任何 shareTickets 返回的。

尼瑪那時候試了老半天,結果就是沒有唉,一定要注意??!

而且這個一定要在頁面進來的最開始就執(zhí)行,放在 onLaunch 或者 onLoad 生命周期函數(shù)里

onLaunch: function (){
  wx.showShareMenu({
    withShareTicket: true
  })
}

這樣,當你分享到群的時候,就會有 shareTickets 了。

我們注意到 res.shareTickets 是個 Array ,因為分享給好友和群的時候,可以多選,最多選9項。

拿到 shareTickets 之后,可以調(diào)用 wx.getShareInfo ,獲取解密 gid 會用到的向量和加密值,傳給服務端進行解密(小程序中所有的解密操作,都放在服務端進行)。

wx.getShareInfo({
  shareTicket: shareTicket,
    complete(res){
      console.log(res)
    }
})


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/24434.html 復制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢