關於小程序的轉發:html
最簡單的就是點擊小程序右上角菜單「轉發」按鈕直接分享,不過這種分享有點不太友好,實用性也不強。算法
固然,你能夠自定義分享內容,包括標題,簡介,圖片及分享的小程序頁面路徑。json
再高級一點,還能夠對轉發出去的小程序被二次打開的時候獲取到一些信息。小程序
一. 自定義轉發內容:後端
/** * 用戶分享自定義 */ 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。 } }
點擊右上角菜單中的「轉發」按鈕,分享效果以下:網絡
二. 點擊頁面按鈕分享轉發:app
<button>
組件設置 open-type="share"便可實現頁面內分享,點擊按鈕便可跟點擊右上角菜單中的轉發按鈕會有同樣的效果。
ide
<button open-type='share' type='warn' size="mini" plain="true" id='btnShare0'>推薦給好友</button>
固然,跟右上角菜單中的轉發按鈕同樣,若是設置了自定義轉發內容,點擊分享按鈕也會展現自定義分享內容的。函數
三. 關閉分享功能:
/** * 生命週期函數--監聽頁面加載 */ onLoad: function(options) { wx.hideShareMenu() }, /** * 生命週期函數--監聽頁面顯示 */ onShow: function() { wx.hideShareMenu() },
四. 獲取更多轉發信息:
轉發出去的小程序被二次打開的時候可以獲取到一些信息,例如羣的標識。
大體流程:
示例代碼:
//分享頁面設置開啓分享羣信息 /** * 生命週期函數--監聽頁面加載 */ 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),日常用的很少,感興趣的能夠自行去官網研究。