小編給大家分享一下微信小程序怎樣實現轉發功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
微信小程序 轉發功能的實現
1.當用戶將小程序轉發到任一群聊之后,可以獲取到此次轉發的 shareTicket
2.此轉發卡片在群聊中被其他用戶打開時,可以在 App.onLaunch() 或 App.onShow 獲取到另一個 shareTicket
3.兩步獲取到的 shareTicket 均可通過 wx.getShareInfo() 接口可以獲取到相同的轉發信息。
onShareAppMessage(options)函數設置該頁面的轉發信息。
options參數說明:
from:轉發事件來源。button:頁面內轉發按鈕;menu:右上角轉發菜單;
target:如果 from 值是 button,則 target 是觸發這次轉發事件的 button,否則為 undefined
自定義字段:
return {
title: '轉發', // 轉發標題(默認:當前小程序名稱)
path: '/pages/index/index', // 轉發路徑(當前頁面 path ),必須是以 / 開頭的完整路徑
success(e) {
// shareAppMessage: ok,
// shareTickets 數組,每一項是一個 shareTicket ,對應一個轉發對象
// 需要在頁面onLoad()事件中實現接口
wx.showShareMenu({
// 要求小程序返回分享目標信息
withShareTicket: true
});
},
fail(e) {
// shareAppMessage:fail cancel
// shareAppMessage:fail(detail message)
},
complete() { }
}wx.showShareMenu(OBJECT) 帶 shareTicket 的轉發。
1.在SDK中與真機調試的過程中,都需要設withShareTicket為true,
2.否則在真機的調試過程中,即便選擇了轉發的群聊,也不會返回shareTicket
onLoad(e) {
wx.showShareMenu({
withShareTicket: true
})
}, onShow(e) {
wx.showShareMenu({
withShareTicket: true
})
},wx.getShareInfo(OBJECT)獲取轉發詳細信息
if (res.shareTickets) {
// 獲取轉發詳細信息
wx.getShareInfo({
shareTicket: res.shareTickets[0],
success(res) {
res.errMsg; // 錯誤信息
res.encryptedData; // 解密后為一個 JSON 結構(openGId 群對當前小程序的唯一 ID)
res.iv; // 加密算法的初始向量
},
fail() {},
complete() {}
});
}小程序在群里被打開后,獲取情景值和shareTicket
//app.js
App({
onLaunch: function (ops) {
if (ops.scene == 1044) {
console.log(ops.shareTicket)
}
}
})Bug & Tip
1.頁面之間的參數傳遞,需要在onLoad()函數中接收,onShow()函數中無法接收。
2.獲取群聊中被打開的小程序的shareTicket,需要在App.onLaunch() 或 App.onShow()。 頁面的生命周期函數中是獲取不到的。
3.將轉發內容至單個用戶時,是無法獲取到shareTicket 。
看完了這篇文章,相信你對“微信小程序怎樣實現轉發功能”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。