微信小程式關於分享一些簡單總結

weixin_34236869發表於2018-10-09

關於小程式的分享轉發,官網上已描述的很清楚。
詳情可見:
1:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html

2: https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#

以下是我自己簡單一些總結:

1:如果需要獲取到分享到群的一些群資訊的話,需要設定: wx.showShareMenu,且

 onLoad: function (e) {
    wx.showShareMenu({
      // 要求小程式返回分享目標資訊
      withShareTicket: true,
      success: function (res) {
        // 分享成功
        console.log('shareMenu share success')
        console.log('分享成功' , res)
      },
      fail: function (res) {
        // 分享失敗
        console.log('分享失敗' + res)
        console.log(res)
      }
    });
  },

2:如果需要測試帶引數傳入測試頁面,可以新建一個編譯模板
1)點選新增編譯模式


1789550-908e45ac39502215.png
image.png

2)按需填入相關資訊


1789550-dd72e81542067c7a.png
image.png

3)選擇編譯


1789550-eebed5f301f4c054.png
image.png

4)觀察你分析的頁面的路徑及接收的相關引數資訊
示例:


1789550-2d38d894df3e9b26.png
image.png

對應的頁面js:


1789550-6a66236bc61d2304.png
image.png

3:關於分享方式
1:第一種是點選頂部的膠囊按鈕,然後選擇轉發

說明:如果想隱藏上面的膠囊的地方的轉發按鈕,僅限頁面內點選轉發按鈕轉發,可以隱藏:

wx.hideShareMenu();

2:使用按鈕進行轉發
使用按鈕轉發話可以使用ops.target來獲取點選了哪個分享的按鈕

if (ops.from === 'button') {
      // 來自頁面內轉發按鈕
      console.log(ops.target)
    }


3: 關於分享結果的回撥
注意事項點
1)目前開發者工具暫時不支援回撥處理,需要在真機上測試
2)回撥攜帶的shareTickets值資訊只在分享到群之後才回有回撥,分享到好友不返回shareTickets值資訊

// pages/sharetest/sharetest.js
//index.js
//獲取應用例項
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
  },
  onLoad: function (e) {
    wx.showShareMenu({
      // 要求小程式返回分享目標資訊
      withShareTicket: true,
      success: function (res) {
        // 分享成功
        console.log('shareMenu share success')
        console.log('分享成功' , res)
      },
      fail: function (res) {
        // 分享失敗
        console.log('分享失敗' + res)
        console.log(res)
      }
    });
  },
  /* 轉發*/
  onShareAppMessage: function (ops) {
    if (ops.from === 'button') {
      // 來自頁面內轉發按鈕
      console.log(ops.target)
    }
    return {
      title: '轉發dom',
      path: `/pages/index/index?jump=是的好的話是的000000000000000000`,
      success: function (res) {
        // 轉發成功
        console.log("轉發成功:",res);
        console.log("轉發成功:" + JSON.stringify(res));
        var shareTickets = res.shareTickets;
        // if (shareTickets.length == 0) {
        //   return false;
        // }
        // //可以獲取群組資訊
        // wx.getShareInfo({
        //   shareTicket: shareTickets[0],
        //   success: function (res) {
        //     console.log(res)
        //   }
        // })
      },
      fail: function (res) {
        // 轉發失敗
        console.log("轉發失敗:" + JSON.stringify(res));
      }
    }
  },
})

1789550-d97a9d205f677af7.png
image.png

1789550-a08acac234def034.png
image.png

相關文章