小程序生成分享鏈接怎么弄?微信小程序獲取分享鏈接流程
本文檔主要是調(diào)研小程序關(guān)于分享方面的玩法,目的是學(xué)習(xí)小程序在項(xiàng)目應(yīng)用以及玩法鏈上的擴(kuò)展。希望大家喜歡。
API層面
onShareAppMessage
小程序如果想對(duì)外分享,必須在 page 里面定義 onShareAppMessage 函數(shù),來(lái)配置頁(yè)面分享轉(zhuǎn)發(fā)相關(guān)的信息。
- 只有定義了此事件處理函數(shù),右上角菜單才會(huì)顯示 “轉(zhuǎn)發(fā)” 按鈕
- 用戶點(diǎn)擊轉(zhuǎn)發(fā)按鈕的時(shí)候會(huì)調(diào)用
- 此事件需要 return 一個(gè) Object,用于自定義轉(zhuǎn)發(fā)內(nèi)容
一個(gè)頁(yè)面可能會(huì)有多個(gè)分享,可以由插入的參數(shù)options來(lái)判斷具體是由哪個(gè)位置進(jìn)行分享,從而做不同的邏輯判斷。
return對(duì)象的返回函數(shù):
如果定義了該事件,又不想通過(guò)頁(yè)面menu轉(zhuǎn)發(fā),可以通過(guò) hideShareMenu來(lái)隱藏掉
注意事項(xiàng):
- 轉(zhuǎn)發(fā)后不添加imageUrl的話,將截圖作為轉(zhuǎn)發(fā)的默認(rèn)圖片。
- from 字段可以通過(guò)在轉(zhuǎn)發(fā)成功后調(diào)取的 success、complete 來(lái)進(jìn)行對(duì) menu 和 button 的不同操作
- 如果有攜帶 shareTicket 值,會(huì)在 success 回調(diào)產(chǎn)生,返回結(jié)果在 shareTickets 字段中,是一個(gè)數(shù)組,可以做一定處理
wx.showShareMenu
一般是用來(lái)配置相關(guān)的參數(shù),常見(jiàn)的如 withShareTicket ,用它來(lái)獲取群信息,群的相關(guān)標(biāo)示。
wx.showShareMenu({ withShareTicket: true }) 復(fù)制代碼
wx.hideShareMenu
隱藏menu級(jí)別的轉(zhuǎn)發(fā)功能,但是button中還存在著轉(zhuǎn)發(fā)。
如果先設(shè)置 showShareMenu ,并且配置了 withShareTicket,再用 hideShareMenu 方法,通過(guò)按鈕轉(zhuǎn)發(fā),照樣能獲取 shareTicket,如下:
wx.showShareMenu({ withShareTicket: true }) wx.hideShareMenu({ }) 復(fù)制代碼
wx.updateShareMenu
更新shareMenu信息需要用update操作哦,這里需要注意下,一般都是會(huì)更新 withShareTicket 屬性。
wx.getShareInfo
在拿到了shareTicket信息后,可以由此API獲取轉(zhuǎn)發(fā)詳細(xì)信息
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進(jìn)行解密,可以拿到openGId的值。為當(dāng)前群對(duì)當(dāng)前小程序的唯一值。額外還可以拿到群名稱等更多的開(kāi)放數(shù)據(jù)。
button轉(zhuǎn)發(fā)
頁(yè)面內(nèi)需要轉(zhuǎn)發(fā)時(shí),需要給 button 組件設(shè)置 open-type="share" ,并在觸發(fā)的地方判斷來(lái)源。
獲取分享鏈接流程
在小程序中,獲取openGId主要有兩種途徑,也一般圍繞著兩種途徑做分享相關(guān)的開(kāi)發(fā):
- 當(dāng)用戶打開(kāi) withShareTicket 的卡片時(shí),可以在onLauch或者 getShareInfo 中獲取加密信息,并且傳給服務(wù)端獲得openGId。
- 當(dāng)用戶分享成功后,會(huì)在回調(diào)里收到一個(gè) shareTicket ,然后通過(guò) getShareInfo 來(lái)獲得加密信息,獲得openGId。
拓展玩法
APP分享到小程序
- 第 1 頁(yè)【小程序開(kāi)發(fā)】小程序生成分享鏈接怎么弄?微信小程序獲取分享鏈接流程
- 第 2 頁(yè)【小程序分享功能】 app分享到微信小程序如何實(shí)現(xiàn)
- 第 3 頁(yè)【小程序分享功能】 小程序打開(kāi)APP如何實(shí)現(xiàn)