小程序自定義分享事件及回調函數

定義函數

在頁面的js文件中定義 onShareAppMessage 函數時,表示該頁面能夠進行轉發。能夠在函數中設置頁面轉發的信息。小程序

  1. 只有定義了該函數,小程序右上角的菜單中才會有轉發按鈕
  2. 用戶點擊轉發按鈕的時候回調用該函數
  3. 該函數內須要 return 一個 Object,Object中包含轉發的信息(可自定義轉發的內容)

觸發轉發的位置

頁面中能夠觸發轉發的地方有兩個:
  一個是右上角菜單中的轉發按鈕
  另外一個是頁面中具備屬性open-type且其值爲sharebutton。(注:必須是button組件,其餘組件中設置 open-type="share" 無效)
  即:<button data-name="shareBtn" open-type="share">轉發</button>
  注意:實際開發中會發現這個 button 自帶有樣式,當背景顏色設置爲白色的時候還有一個黑色的邊框,剛開始那個邊框怎麼都去不掉,後來給button加了一個樣式屬性 plain="true" 之後,再在樣式文件中控制樣式 button[plain]{ border:0 } ,就能夠比較隨便的自定義樣式了,好比說將分享按鈕作成一個圖標等函數

觸發分享事件函數

onShareAppMessage: function( options ){
  // 自定義分享內容
  var shareObj = {
    title: "轉發的標題",        // 小程序的名稱
    path: '/pages/share/share',        // 默認是當前頁面,必須是以‘/’開頭的完整路徑
    imgUrl: '',     //自定義圖片路徑,支持PNG及JPG,不傳入 imageUrl 則使用默認截圖。顯示圖片長寬比是 5:4
    success: function(res){
      // 轉發成功以後的回調
      if(res.errMsg == 'shareAppMessage:ok'){
      }
    },
    fail: function(){
      // 轉發失敗以後的回調
      if(res.errMsg == 'shareAppMessage:fail cancel'){
        // 用戶取消轉發
      }else if(res.errMsg == 'shareAppMessage:fail'){
        // 轉發失敗,其中 detail message 爲詳細失敗信息
      }
    },
    complete: fucntion(){
      // 轉發結束以後的回調(轉發成不成功都會執行)
    }
  };
  // 來自頁面內的按鈕的轉發
  if( options.from == 'button' ){
    console.log("來源於button");
    // 此處能夠修改 shareObj 中的內容
    shareObj.path = '/pages/btnname/btnname?btn_name='+eData.name;
  }
  // 返回shareObj
  return shareObj;
}
相關文章
相關標籤/搜索