商城系統(tǒng) 注冊

小程序生成分享鏈接怎么弄?微信小程序獲取分享鏈接流程

2020-10-21|HiShop
導(dǎo)讀:最近在調(diào)研小程序的分享能力,本篇文檔主要是調(diào)研小程序關(guān)于分享方面的玩法,目的是學(xué)習(xí)小程序在項目應(yīng)用以及玩法鏈上的擴展。...

本文檔主要是調(diào)研小程序關(guān)于分享方面的玩法,目的是學(xué)習(xí)小程序在項目應(yīng)用以及玩法鏈上的擴展。希望大家喜歡。

小程序生成分享鏈接怎么弄?微信小程序獲取分享鏈接流程

API層面

onShareAppMessage

小程序如果想對外分享,必須在 page 里面定義 onShareAppMessage 函數(shù),來配置頁面分享轉(zhuǎn)發(fā)相關(guān)的信息。

  • 只有定義了此事件處理函數(shù),右上角菜單才會顯示 “轉(zhuǎn)發(fā)” 按鈕
  • 用戶點擊轉(zhuǎn)發(fā)按鈕的時候會調(diào)用
  • 此事件需要 return 一個 Object,用于自定義轉(zhuǎn)發(fā)內(nèi)容

一個頁面可能會有多個分享,可以由插入的參數(shù)options來判斷具體是由哪個位置進行分享,從而做不同的邏輯判斷。

return對象的返回函數(shù):

小程序生成分享鏈接怎么弄?微信小程序獲取分享鏈接流程

如果定義了該事件,又不想通過頁面menu轉(zhuǎn)發(fā),可以通過 hideShareMenu來隱藏掉

注意事項:

  • 轉(zhuǎn)發(fā)后不添加imageUrl的話,將截圖作為轉(zhuǎn)發(fā)的默認圖片。
  • from 字段可以通過在轉(zhuǎn)發(fā)成功后調(diào)取的 success、complete 來進行對 menu 和 button 的不同操作
  • 如果有攜帶 shareTicket 值,會在 success 回調(diào)產(chǎn)生,返回結(jié)果在 shareTickets 字段中,是一個數(shù)組,可以做一定處理

wx.showShareMenu

一般是用來配置相關(guān)的參數(shù),常見的如 withShareTicket ,用它來獲取群信息,群的相關(guān)標示。

wx.showShareMenu({
  withShareTicket: true
})
復(fù)制代碼

wx.hideShareMenu

隱藏menu級別的轉(zhuǎn)發(fā)功能,但是button中還存在著轉(zhuǎn)發(fā)。

如果先設(shè)置 showShareMenu ,并且配置了 withShareTicket,再用 hideShareMenu 方法,通過按鈕轉(zhuǎn)發(fā),照樣能獲取 shareTicket,如下:

wx.showShareMenu({
  withShareTicket: true
})
wx.hideShareMenu({
})
復(fù)制代碼

wx.updateShareMenu

更新shareMenu信息需要用update操作哦,這里需要注意下,一般都是會更新 withShareTicket 屬性。

wx.getShareInfo

在拿到了shareTicket信息后,可以由此API獲取轉(zhuǎn)發(fā)詳細信息

wx.getShareInfo({
    shareTicket: res.shareTickets[0],
    success: ...
    fail: ...
})
復(fù)制代碼

相關(guān)回調(diào)的參數(shù)

{
    errMsg: "getShareInfo:ok", 
    iv: "gRHeFU+Nhr36RmladCXnRQ==", 
    encryptedData: "IQ/RwZLeQFUGuxv0bBfOrL/KLnXO+bxcyCBru5lB92FkHIg8ae…7TnHwU+rqgerFKvpvS5JbFyh+9liUqyb2bk6/LETYQ+h/FQ=="
}
復(fù)制代碼

由iv和encryptedData進行解密,可以拿到openGId的值。為當(dāng)前群對當(dāng)前小程序的唯一值。額外還可以拿到群名稱等更多的開放數(shù)據(jù)。

button轉(zhuǎn)發(fā)

頁面內(nèi)需要轉(zhuǎn)發(fā)時,需要給 button 組件設(shè)置 open-type="share" ,并在觸發(fā)的地方判斷來源。

獲取分享鏈接流程

在小程序中,獲取openGId主要有兩種途徑,也一般圍繞著兩種途徑做分享相關(guān)的開發(fā):

  • 當(dāng)用戶打開 withShareTicket 的卡片時,可以在onLauch或者 getShareInfo 中獲取加密信息,并且傳給服務(wù)端獲得openGId。
  • 當(dāng)用戶分享成功后,會在回調(diào)里收到一個 shareTicket ,然后通過 getShareInfo 來獲得加密信息,獲得openGId。

拓展玩法

APP分享到小程序

電話咨詢 預(yù)約演示 0元開店