首頁 >微信小程式 >小程式開發 >微信小程式轉發好友的功能

微信小程式轉發好友的功能

hzc
hzc轉載
2020-06-28 10:03:033709瀏覽

今天簡單地說下微信小程式的轉發功能,為什麼要簡單的說下呢,因為主要講的就是轉發給好友或群組,還有一種是分享到朋友圈,這種就比較複雜一點了,先稍微透漏一點,分享到朋友圈主要是兩種方法,一種是後台直接生成海報圖,一種是前端透過canvas產生海報。以後有機會再詳細說,好了,言歸正傳繼續說我們的轉發好友。

首先介紹一個微信小程式的API:onShareAppMessage(options)

在 Page 定義 onShareAppMessage 函數,設定該頁面的轉送資訊。

  • 只有定義了此事件處理函數,右上角選單才會顯示「轉發」按鈕

  • 使用者點擊轉發按鈕的時候會調用

  • 此事件需要return 一個Object,用於自訂轉送內容

options 參數說明

##Object如果from值為button,則target 是觸發這次轉送事件的button,否則為undefined1.2.4
參數 類型 說明 最低版本
from String 轉送事件來源。 button:頁面內轉送按鈕;menu:右上角轉送選單 1.2.4
#target
自訂轉送欄位

#欄位說明預設值#最低版本##title轉送標題目前小程式名稱path轉送路徑目前頁面path ,必須是以/ 開頭的完整路徑imageUrl自訂圖片路徑,可以是本機檔案路徑、程式碼包檔案路徑或網路圖片路徑,支援PNG及JPG,不傳入imageUrl 則使用預設截圖。顯示圖片長寬比是5:41.5.0success轉送成功的回調函數1.1.0#fail轉送失敗的回呼函數





##1.1.0
complete 轉送結束的回呼函數(轉送成功、失敗都會執行
1.1.0

#還有一個值那就是shareTickets他是轉送成功回傳的,並且是個數組,每一項是一個shareTicket ,對應一個轉送物件

API先說到這,接下來就是轉送的實作

先看圖:

首先要在onLoad中設定wx.showShareMenu

  onLoad: function (e) {
    wx.showShareMenu({
      // 要求小程序返回分享目标信息
      withShareTicket: true
    }); 
  },

然後再設定onShareAppMessage

/* 转发*/
  onShareAppMessage: function (ops) {    if (ops.from === 'button') {
      // 来自页面内转发按钮
      console.log(ops.target)
    }    return {
      title: '转发dom',
      path: `pages/index/index`,
      success: function (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));
      }
    }
  },

我解釋一下wx.getShareInfo這個可以取得到取得轉送詳細資訊

完整js程式碼就是

//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
  },
  onLoad: function (e) {
    wx.showShareMenu({
      // 要求小程序返回分享目标信息
      withShareTicket: true
    }); 
  },
  /* 转发*/
  onShareAppMessage: function (ops) {    if (ops.from === 'button') {
      // 来自页面内转发按钮
      console.log(ops.target)
    }    return {
      title: '转发dom',
      path: `pages/index/index`,
      success: function (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));
      }
    }
  },
})

聰明的同學就該知道接下來該是wxml程式碼

<view class="container">
  <view class="userinfo">
   <button open-type="share">分享好友</button>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

友誼提示一下如果點擊按鈕分享的話,button一定要設定open-type= "share"否則不起作用。

如果覺得文章還不錯並對你有幫助的話,請分享給你的小伙伴,並點贊,有什麼不懂得可以在底下留言哦。

推薦教學:《微信小程式

以上是微信小程式轉發好友的功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除