這篇文章主要介紹了微信小程式轉發功能的實現的相關資料,這裡提供實現方法及實例幫助大家學習理解,需要的朋友可以參考下
微信小程式轉發功能的實作
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) } } })
# & Tip
1.頁面之間的參數傳遞,需要在onLoad()函數中接收,onShow()函數中無法接收。
2.取得群組聊天中被開啟的小程式的shareTicket,需要在App.onLaunch() 或 App.onShow()。 頁面的生命週期函數中是獲得不到的。
3.將轉送內容至單一使用者時,是無法取得到shareTicket 。
以上是微信小程式實作轉發功能的實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!