微信小程序 轉(zhuǎn)發(fā)功能的實(shí)現(xiàn)
1.當(dāng)用戶將小程序轉(zhuǎn)發(fā)到任一群聊之后,可以獲取到此次轉(zhuǎn)發(fā)的 shareTicket
2.此轉(zhuǎn)發(fā)卡片在群聊中被其他用戶打開(kāi)時(shí),可以在 App.onLaunch() 或 App.onShow 獲取到另一個(gè) shareTicket
3.兩步獲取到的 shareTicket 均可通過(guò) wx.getShareInfo() 接口可以獲取到相同的轉(zhuǎn)發(fā)信息。
onShareAppMessage(options)函數(shù)設(shè)置該頁(yè)面的轉(zhuǎn)發(fā)信息。
options參數(shù)說(shuō)明:
from:轉(zhuǎn)發(fā)事件來(lái)源。button:頁(yè)面內(nèi)轉(zhuǎn)發(fā)按鈕;menu:右上角轉(zhuǎn)發(fā)菜單;
target:如果 from 值是 button,則 target 是觸發(fā)這次轉(zhuǎn)發(fā)事件的 button,否則為 undefined
自定義字段:
return { title: '轉(zhuǎn)發(fā)', // 轉(zhuǎn)發(fā)標(biāo)題(默認(rèn):當(dāng)前小程序名稱) path: '/pages/index/index', // 轉(zhuǎn)發(fā)路徑(當(dāng)前頁(yè)面 path ),必須是以 / 開(kāi)頭的完整路徑 success(e) { // shareAppMessage: ok, // shareTickets 數(shù)組,每一項(xiàng)是一個(gè) shareTicket ,對(duì)應(yīng)一個(gè)轉(zhuǎn)發(fā)對(duì)象 // 需要在頁(yè)面onLoad()事件中實(shí)現(xiàn)接口 wx.showShareMenu({ // 要求小程序返回分享目標(biāo)信息 withShareTicket: true }); }, fail(e) { // shareAppMessage:fail cancel // shareAppMessage:fail(detail message) }, complete() { }}
wx.showShareMenu(OBJECT) 帶 shareTicket 的轉(zhuǎn)發(fā)。
1.在SDK中與真機(jī)調(diào)試的過(guò)程中,都需要設(shè)withShareTicket為true,
2.否則在真機(jī)的調(diào)試過(guò)程中,即便選擇了轉(zhuǎn)發(fā)的群聊,也不會(huì)返回shareTicket
onLoad(e) { wx.showShareMenu({ withShareTicket: true }) }, onShow(e) { wx.showShareMenu({ withShareTicket: true }) },
wx.getShareInfo(OBJECT)獲取轉(zhuǎn)發(fā)詳細(xì)信息
if (res.shareTickets) { // 獲取轉(zhuǎn)發(fā)詳細(xì)信息 wx.getShareInfo({ shareTicket: res.shareTickets[0], success(res) { res.errMsg; // 錯(cuò)誤信息 res.encryptedData; // 解密后為一個(gè) JSON 結(jié)構(gòu)(openGId 群對(duì)當(dāng)前小程序的唯一 ID) res.iv; // 加密算法的初始向量 }, fail() {}, complete() {} });}
小程序在群里被打開(kāi)后,獲取情景值和shareTicket
//app.jsApp({ onLaunch: function (ops) { if (ops.scene == 1044) { console.log(ops.shareTicket) } }})
Bug & Tip
1.頁(yè)面之間的參數(shù)傳遞,需要在onLoad()函數(shù)中接收,onShow()函數(shù)中無(wú)法接收。
2.獲取群聊中被打開(kāi)的小程序的shareTicket,需要在App.onLaunch() 或 App.onShow()。 頁(yè)面的生命周期函數(shù)中是獲取不到的。
3.將轉(zhuǎn)發(fā)內(nèi)容至單個(gè)用戶時(shí),是無(wú)法獲取到shareTicket 。
以上就是微信小程序 轉(zhuǎn)發(fā)功能 的實(shí)現(xiàn),如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注