首頁  >  文章  >  微信小程式  >  微信小程式實作轉發功能的實例分析

微信小程式實作轉發功能的實例分析

黄舟
黄舟原創
2017-09-13 09:06:583570瀏覽

這篇文章主要介紹了微信小程式轉發功能的實現的相關資料,這裡提供實現方法及實例幫助大家學習理解,需要的朋友可以參考下

微信小程式轉發功能的實作

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn