微信小程序提供了onShareAppMessage方法,專門用來監聽用戶點擊頁面內轉發按鈕(button 組件 open-type="share")或右上角菜單“轉發”按鈕的行為,并自定義轉發內容。
> 注意:只有定義了此事件處理函數,右上角菜單才會顯示“轉發”按鈕
參數 | 類型 | 說明 | 最低版本 |
---|---|---|---|
from | String | 轉發事件來源。?button :頁面內轉發按鈕;?menu :右上角轉發菜單 | 1.2.4 |
target | Object | 如果?from ?值是?button ,則?target ?是觸發這次轉發事件的?button ,否則為?undefined | 1.2.4 |
webViewUrl | String | 頁面中包含web-view組件時,返回當前web-view的url | 1.6.4 |
此事件處理函數需要 return 一個 Object,用于自定義轉發內容,返回內容如下:
自定義轉發內容?基礎庫?2.8.1?起,分享圖支持云圖片。
字段 | 說明 | 默認值 | 最低版本 |
---|---|---|---|
title | 轉發標題 | 當前小程序名稱 | |
path | 轉發路徑 | 當前頁面 path ,必須是以 / 開頭的完整路徑 | |
imageUrl | 自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網絡圖片路徑。支持PNG及JPG。顯示圖片長寬比是 5:4。 | 使用默認截圖 | 1.5.0 |
promise | 如果該參數存在,則以 resolve 結果為準,如果三秒內不 resolve,分享會使用上面傳入的默認參數 | 2.12.0 |
示例代碼
PS:卡片圖片imageUrl可以是本地的,也可以服務器上傳的url
onShareAppMessage() {return {title: '分享出去的卡片標題',path: '/index/index?id=123',imageUrl: '/img/bg.jpg'}
}
如果要禁止當前頁面的小程序卡片分享,則可以在onLoad中通過以下方式:
wx.hideShareMenu()