今天簡單地說下微信小程式的轉發功能,為什麼要簡單的說下呢,因為主要講的就是轉發給好友或群組,還有一種是分享到朋友圈,這種就比較複雜一點了,先稍微透漏一點,分享到朋友圈主要是兩種方法,一種是後台直接生成海報圖,一種是前端透過canvas產生海報。以後有機會再詳細說,好了,言歸正傳繼續說我們的轉發好友。
首先介紹一個微信小程式的API:onShareAppMessage(options)
在 Page 定義 onShareAppMessage 函數,設定該頁面的轉送資訊。
只有定義了此事件處理函數,右上角選單才會顯示「轉發」按鈕
使用者點擊轉發按鈕的時候會調用
此事件需要return 一個Object,用於自訂轉送內容
options 參數說明
參數 | 類型 | 說明 | 最低版本 |
---|---|---|---|
from | String | 轉送事件來源。 button:頁面內轉送按鈕;menu:右上角轉送選單 | 1.2.4 |
#target | ##Object如果from值為button,則target 是觸發這次轉送事件的button,否則為undefined | 1.2.4 |
說明 | 預設值 | #最低版本 | |
---|---|---|---|
##title | 轉送標題 | 目前小程式名稱 | |
path | 轉送路徑 | 目前頁面path ,必須是以/ 開頭的完整路徑 | |
imageUrl | 自訂圖片路徑,可以是本機檔案路徑、程式碼包檔案路徑或網路圖片路徑,支援PNG及JPG,不傳入imageUrl 則使用預設截圖。顯示圖片長寬比是5:4 | 1.5.0 | |
success | 轉送成功的回調函數 | 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> <view> <button>分享好友</button> </view> <view> <text>{{motto}}</text> </view> </view>
友誼提示一下如果點擊按鈕分享的話,button一定要設定open-type= "share"否則不起作用。
如果覺得文章還不錯並對你有幫助的話,請分享給你的小伙伴,並點贊,有什麼不懂得可以在底下留言哦。
推薦教學:《微信小程式》
以上是微信小程式轉發好友的功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

Dreamweaver Mac版
視覺化網頁開發工具