注冊

微信小程序API轉(zhuǎn)發(fā),小程序顯示當前頁面的轉(zhuǎn)發(fā)按鈕

2020-09-27
導讀:onShareAppMessage(options) 在 Page 中定義 onShareAppMessage 函數(shù),設(shè)置該頁面的轉(zhuǎn)發(fā)信息。 只有定義了此事件處理函數(shù),右上角菜單才會顯示“轉(zhuǎn)發(fā)”按鈕 用戶點擊轉(zhuǎn)發(fā)按鈕的時候會調(diào)用 此事件...

onShareAppMessage(options)


在 Page 中定義 onShareAppMessage 函數(shù),設(shè)置該頁面的轉(zhuǎn)發(fā)信息。

微信小程序API轉(zhuǎn)發(fā),小程序顯示當前頁面的轉(zhuǎn)發(fā)按鈕

  • 只有定義了此事件處理函數(shù),右上角菜單才會顯示“轉(zhuǎn)發(fā)”按鈕
  • 用戶點擊轉(zhuǎn)發(fā)按鈕的時候會調(diào)用
  • 此事件需要 return 一個 Object,用于自定義轉(zhuǎn)發(fā)內(nèi)容

options 參數(shù)說明

參數(shù) 類型 說明 最低版本
from String 轉(zhuǎn)發(fā)事件來源。button:頁面內(nèi)轉(zhuǎn)發(fā)按鈕;menu:右上角轉(zhuǎn)發(fā)菜單 1.2.4
target Object 如果 from 值是 button,則 target 是觸發(fā)這次轉(zhuǎn)發(fā)事件的 button,否則為 undefined 1.2.4
自定義轉(zhuǎn)發(fā)字段

 

字段 說明 默認值 最低版本
title 轉(zhuǎn)發(fā)標題 當前小程序名稱  
path 轉(zhuǎn)發(fā)路徑 當前頁面 path ,必須是以 / 開頭的完整路徑  
success 轉(zhuǎn)發(fā)成功的回調(diào)函數(shù)   1.1.0
fail 轉(zhuǎn)發(fā)失敗的回調(diào)函數(shù)   1.1.0
complete 轉(zhuǎn)發(fā)結(jié)束的回調(diào)函數(shù)(轉(zhuǎn)發(fā)成功、失敗都會執(zhí)行   1.1.0

 

回調(diào)結(jié)果:

 

回調(diào)類型 errMsg 說明
success shareAppMessage:ok 轉(zhuǎn)發(fā)成功
fail shareAppMessage:fail cancel 用戶取消轉(zhuǎn)發(fā)
fail shareAppMessage:fail (detail message) 轉(zhuǎn)發(fā)失敗,其中 detail message 為詳細失敗信息

 

success回調(diào)參數(shù)說明:

參數(shù) 類型 說明 最低版本
shareTickets StringArray shareTicket 數(shù)組,每一項是一個 shareTicket ,對應(yīng)一個轉(zhuǎn)發(fā)對象 1.1.0

示例代碼:

Page({
  onShareAppMessage: function (res) {
    if (res.from === 'button') {
      // 來自頁面內(nèi)轉(zhuǎn)發(fā)按鈕
      console.log(res.target)
    }
    return {
      title: '自定義轉(zhuǎn)發(fā)標題',
      path: '/page/user?id=123',
      success: function(res) {
        // 轉(zhuǎn)發(fā)成功
      },
      fail: function(res) {
        // 轉(zhuǎn)發(fā)失敗
      }
    }
  }
})

wx.showShareMenu(OBJECT)


基礎(chǔ)庫版本 1.1.0 開始支持,低版本需做兼容處理

顯示當前頁面的轉(zhuǎn)發(fā)按鈕

OBJECT參數(shù)說明:

 

參數(shù) 類型 必填 說明
withShareTicket Boolean 是否使用帶 shareTicket 的轉(zhuǎn)發(fā)詳情
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

 

示例代碼:

wx.showShareMenu({
  withShareTicket: true
})

wx.hideShareMenu(OBJECT)


基礎(chǔ)庫版本 1.1.0 開始支持,低版本需做兼容處理

隱藏轉(zhuǎn)發(fā)按鈕

OBJECT參數(shù)說明:

參數(shù) 類型 必填 說明
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

示例代碼:

wx.hideShareMenu()

 

wx.updateShareMenu(OBJECT)


基礎(chǔ)庫 1.2.0 開始支持,低版本需做兼容處理

 

更新轉(zhuǎn)發(fā)屬性

OBJECT參數(shù)說明:

參數(shù) 類型 必填 說明
withShareTicket Boolean 是否使用帶 shareTicket 的轉(zhuǎn)發(fā)詳情
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

示例代碼:

wx.updateShareMenu({
  withShareTicket: true,
  success() {
  }
})

wx.getShareInfo(OBJECT)


基礎(chǔ)庫 1.1.0 開始支持,低版本需做兼容處理

獲取轉(zhuǎn)發(fā)詳細信息

OBJECT參數(shù)說明:

參數(shù) 類型 必填 說明
shareTicket String shareTicket
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

CALLBACK 參數(shù)說明:

參數(shù) 類型 說明
errMsg String 錯誤信息
encryptedData String 包括敏感數(shù)據(jù)在內(nèi)的完整轉(zhuǎn)發(fā)信息的加密數(shù)據(jù),詳細見加密數(shù)據(jù)解密算法
iv String 加密算法的初始向量,詳細見加密數(shù)據(jù)解密算法

encryptedData 解密后為一個 JSON 結(jié)構(gòu),包含字段如下:

字段 說明
openGId 群對當前小程序的唯一 ID

Tip: 如需要展示群名稱,可以使用開放數(shù)據(jù)組件

獲取更多轉(zhuǎn)發(fā)信息


通常開發(fā)者希望轉(zhuǎn)發(fā)出去的小程序被二次打開的時候能夠獲取到一些信息,例如群的標識?,F(xiàn)在通過調(diào)用 wx.showShareMenu 并且設(shè)置 withShareTicket 為 true ,當用戶將小程序轉(zhuǎn)發(fā)到任一群聊之后,可以獲取到此次轉(zhuǎn)發(fā)的 shareTicket,此轉(zhuǎn)發(fā)卡片在群聊中被其他用戶打開時,可以在 App.onLaunch() 或 App.onShow 獲取到另一個 shareTicket。這兩步獲取到的 shareTicket 均可通過 wx.getShareInfo() 接口可以獲取到相同的轉(zhuǎn)發(fā)信息。

頁面內(nèi)發(fā)起轉(zhuǎn)發(fā)


基礎(chǔ)庫 1.2.0 開始支持,低版本需做兼容處理

通過給 button 組件設(shè)置屬性 open-type="share",可以在用戶點擊按鈕后觸發(fā) Page.onShareAppMessage() 事件,如果當前頁面沒有定義此事件,則點擊后無效果。相關(guān)組件:button

使用指引

轉(zhuǎn)發(fā)按鈕,旨在幫助用戶更流暢地與好友分享內(nèi)容和服務(wù)。轉(zhuǎn)發(fā),應(yīng)是用戶自發(fā)的行為,且在需要時觸手可及。開發(fā)者在使用時若遵從以下指引,會得到更佳的用戶體驗。

  1. 含義清晰:明確、一目了然的圖形按鈕,將為用戶減少理解的時間。在我們的資源下載中心,你可以找到這樣的按鈕素材并直接使用?;蛘吣憧梢愿鶕?jù)自己業(yè)務(wù)的設(shè)計風格,靈活設(shè)計含義清晰的按鈕的樣式。當然,你也可以直接使用帶文案的按鈕,“轉(zhuǎn)發(fā)給好友”,它也足夠明確。
  2. 方便點擊:按鈕點擊熱區(qū)不宜過小,亦不宜過大。同時,轉(zhuǎn)發(fā)按鈕與其他按鈕一樣,熱區(qū)也不宜過密,以免用戶誤操作。
  3. 按需出現(xiàn):并非所有頁面都適合放置轉(zhuǎn)發(fā)按鈕,涉及用戶隱私的非公開內(nèi)容,或可能打斷用戶完成當前操作體驗的場景,該功能并不推薦使用。同時,由于轉(zhuǎn)發(fā)過程中,我們將截取用戶屏幕圖像作為配圖,因此,需要注意幫助用戶屏蔽個人信息。
  4. 尊重意愿:理所當然,并非所有的用戶,都喜歡與朋友分享你的小程序。因此,它不應(yīng)該成為一個誘導或強制行為,如轉(zhuǎn)發(fā)后才能解鎖某項功能等。請注意,這類做法不僅不被推薦,還可能違反我們的《運營規(guī)范》,我們強烈建議你在使用前閱讀這部分內(nèi)容。

以上,我們陳列了最重要的幾點,如果你有時間,可以完整瀏覽《設(shè)計指南》,相信會有更多的收獲。

Bug & Tip

  1. tip: 轉(zhuǎn)發(fā)圖片不能自定義;會取當前頁面,從頂部開始,高度為 80% 屏幕寬度的圖像作為轉(zhuǎn)發(fā)圖片。
  2. tip: 轉(zhuǎn)發(fā)的調(diào)試支持請查看 普通轉(zhuǎn)發(fā)的調(diào)試支持 和 帶 shareTicket 的轉(zhuǎn)發(fā)
  3. tip: 只有轉(zhuǎn)發(fā)到群聊中打開才可以獲取到 shareTickets 返回值,單聊沒有 shareTickets
  4. tipshareTicket 僅在當前小程序生命周期內(nèi)有效
  5. tip: 由于策略變動,小程序群相關(guān)能力進行調(diào)整,開發(fā)者可先使用wx.getShareInfo接口中的群ID進行功能開發(fā)。

 

 


更多微信小程序開發(fā)教程,可以關(guān)注hi小程序。
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)