關於小程序的轉發:
最簡單的就是點擊小程序右上角菜單“轉發”按鈕直接分享,不過這種分享有點不太友好,實用性也不強。
當然,你可以自定義分享內容,包括標題,簡介,圖片及分享的小程序頁面路徑。
再高級一點,還可以對轉發出去的小程序被二次打開的時候獲取到一些信息。
一. 自定義轉發內容:
1. 監聽轉發按鈕(button open-type="share")或小程序右上角“轉發”按鈕的點擊行為;
2. 自定義轉發分享內容。
3. 還可以監聽這些信息:

示例代碼:
/** * 用戶分享自定義 */ onShareAppMessage: function(res) { return { title: '哈根達斯冰激凌5折特惠', path: '/pages/index/index?goods_id=' + wx.getStorageSync("goods_id"), imageUrl: 'http://static.e-mallchina.com/pic/product/brand/detail/hgds.jpg'//自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網絡圖片路徑。支持PNG及JPG。顯示圖片長寬比是 5:4。 } }
點擊右上角菜單中的“轉發”按鈕,分享效果如下:
二. 點擊頁面按鈕分享轉發:
<button>
組件設置 open-type="share"即可實現頁面內分享,點擊按鈕即可跟點擊右上角菜單中的轉發按鈕會有一樣的效果。
<button open-type='share' type='warn' size="mini" plain="true" id='btnShare0'>推薦給好友</button>
當然,跟右上角菜單中的轉發按鈕一樣,如果設置了自定義轉發內容,點擊分享按鈕也會展示自定義分享內容的。
三. 關閉分享功能:
wx.hideShareMenu(Object object):隱藏轉發按鈕,關閉轉發功能(不影響轉發按鈕的功能,只是右上角分享沒有了)。
/** * 生命周期函數--監聽頁面加載 */ onLoad: function(options) { wx.hideShareMenu() }, /** * 生命周期函數--監聽頁面顯示 */ onShow: function() { wx.hideShareMenu() },

四. 獲取更多轉發信息:
轉發出去的小程序被二次打開的時候能夠獲取到一些信息,例如群的標識。
大致流程:
1. 通過調用 wx.showShareMenu 並且設置 withShareTicket 為 true ;
2. 當用戶將小程序轉發到任一群聊之后, 此轉發卡片在群聊中被其他用戶打開時,可以在 App.onLaunch 或 App.onShow 獲取到一個 shareTicket;
3. 通過調用 wx.getShareInfo() 接口傳入此 shareTicket 可以獲取到轉發信息。
示例代碼:
//分享頁面設置開啟分享群信息 /** * 生命周期函數--監聽頁面加載 */ onLoad: function(options) { wx.showShareMenu({ withShareTicket: true }) }, /** * 生命周期函數--監聽頁面顯示 */ onShow: function() { wx.showShareMenu({ withShareTicket: true }) }
//app.js 獲取小程序名片頁附帶的分享信息 App({ onLaunch: function(ops) { //小程序在群里被打開后,獲取情景值和shareTicket console.log("ops:", ops) if (ops.scene==1044) { wx.getShareInfo({ shareTicket: ops.shareTicket, success:function(res) { console.log("wx.getShareInfo:::", res) } }) } } })
分享到群里之后,在群里打開小程序,獲取類似下面的數據:
如上圖,獲取的就是分享到的群聊的相關信息了,不過這個信息是加密的,需要像獲取手機號一樣再去后端解密才可以。
其中 encryptedData 解密后為以下 json 結構,詳見加密數據解密算法。其中 openGId 為當前群的唯一標識:
{ "openGId": "OPENGID" }
如需要展示群名稱,可以使用
開放數據組件。
經驗證,這個功能只有在分享到群聊中才會有效,也就是說只能區分小程序是在群中還是好友聊天窗口中打開的,所以這個功能是比較雞肋的。
五. 其他一些功能:
還有一個接口,就是更新轉發屬性的接口:wx.updateShareMenu(Object object),平常用的不多,感興趣的可以自行去官網研究。
來源地址:https://www.cnblogs.com/xyyt