這篇文章給大家分享的是有關(guān)微信小程序怎樣實(shí)現(xiàn)轉(zhuǎn)發(fā)好友的功能的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)公司主營郾城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),郾城h5微信平臺小程序開發(fā)搭建,郾城網(wǎng)站營銷推廣歡迎郾城等地區(qū)企業(yè)咨詢
今天簡單地說下微信小程序的轉(zhuǎn)發(fā)功能,為什么要簡單的說下呢,因?yàn)橹饕v的就是轉(zhuǎn)發(fā)給好友或者群組,還有一種是分享到朋友圈,這種就比較復(fù)雜一點(diǎn)了,先稍微透漏一點(diǎn),分享到朋友圈主要是兩種方法,一種是后臺直接生成海報(bào)圖,一種是前端通過canvas生成海報(bào)。以后有機(jī)會再詳細(xì)說,好了,言歸正傳繼續(xù)說我們的轉(zhuǎn)發(fā)好友。
首先介紹一個(gè)微信小程序的API:onShareAppMessage(options)
在 Page 中定義 onShareAppMessage 函數(shù),設(shè)置該頁面的轉(zhuǎn)發(fā)信息。
只有定義了此事件處理函數(shù),右上角菜單才會顯示 “轉(zhuǎn)發(fā)” 按鈕
用戶點(diǎn)擊轉(zhuǎn)發(fā)按鈕的時(shí)候會調(diào)用
此事件需要 return 一個(gè) Object,用于自定義轉(zhuǎn)發(fā)內(nèi)容
options 參數(shù)說明
參數(shù) | 類型 | 說明 | 最低版本 |
---|---|---|---|
from | String | 轉(zhuǎn)發(fā)事件來源。button:頁面內(nèi)轉(zhuǎn)發(fā)按鈕;menu:右上角轉(zhuǎn)發(fā)菜單 | 1.2.4 |
target | Object | 如果 from 值是 button,則 target 是觸發(fā)這次轉(zhuǎn)發(fā)事件的 button,否則為 undefined | 1.2.4 |
自定義轉(zhuǎn)發(fā)字段
字段 | 說明 | 默認(rèn)值 | 最低版本 |
---|---|---|---|
title | 轉(zhuǎn)發(fā)標(biāo)題 | 當(dāng)前小程序名稱 | |
path | 轉(zhuǎn)發(fā)路徑 | 當(dāng)前頁面 path ,必須是以 / 開頭的完整路徑 | |
imageUrl | 自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑,支持PNG及JPG,不傳入 imageUrl 則使用默認(rèn)截圖。顯示圖片長寬比是 5:4 | 1.5.0 | |
success | 轉(zhuǎn)發(fā)成功的回調(diào)函數(shù) | 1.1.0 | |
fail | 轉(zhuǎn)發(fā)失敗的回調(diào)函數(shù) | 1.1.0 | |
complete | 轉(zhuǎn)發(fā)結(jié)束的回調(diào)函數(shù)(轉(zhuǎn)發(fā)成功、失敗都會執(zhí)行 | 1.1.0 |
還有一個(gè)值那就是shareTickets他是轉(zhuǎn)發(fā)成功返回的,并且是個(gè)數(shù)組,每一項(xiàng)是一個(gè) shareTicket ,對應(yīng)一個(gè)轉(zhuǎn)發(fā)對象
API先說到這,接下來就是轉(zhuǎn)發(fā)的實(shí)現(xiàn)
先看圖:
首先要在onLoad中配置wx.showShareMenu
onLoad: function (e) { wx.showShareMenu({ // 要求小程序返回分享目標(biāo)信息 withShareTicket: true }); },
然后再配置onShareAppMessage
/* 轉(zhuǎn)發(fā)*/ onShareAppMessage: function (ops) { if (ops.from === 'button') { // 來自頁面內(nèi)轉(zhuǎn)發(fā)按鈕 console.log(ops.target) } return { title: '轉(zhuǎn)發(fā)dom', path: `pages/index/index`, success: function (res) { // 轉(zhuǎn)發(fā)成功 console.log("轉(zhuǎn)發(fā)成功:" + 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) { // 轉(zhuǎn)發(fā)失敗 console.log("轉(zhuǎn)發(fā)失敗:" + JSON.stringify(res)); } } },
我解釋一下wx.getShareInfo這個(gè)可以獲取到獲取轉(zhuǎn)發(fā)詳細(xì)信息
完整js代碼就是
//index.js //獲取應(yīng)用實(shí)例 const app = getApp() Page({ data: { motto: 'Hello World', }, onLoad: function (e) { wx.showShareMenu({ // 要求小程序返回分享目標(biāo)信息 withShareTicket: true }); }, /* 轉(zhuǎn)發(fā)*/ onShareAppMessage: function (ops) { if (ops.from === 'button') { // 來自頁面內(nèi)轉(zhuǎn)發(fā)按鈕 console.log(ops.target) } return { title: '轉(zhuǎn)發(fā)dom', path: `pages/index/index`, success: function (res) { // 轉(zhuǎn)發(fā)成功 console.log("轉(zhuǎn)發(fā)成功:" + 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) { // 轉(zhuǎn)發(fā)失敗 console.log("轉(zhuǎn)發(fā)失敗:" + JSON.stringify(res)); } } }, })
聰明的同學(xué)就該知道接下來該是wxml代碼
{{motto}}
友情提示一下如果點(diǎn)擊按鈕分享的話,button一定要設(shè)置open-type="share"否則不起作用。
感謝各位的閱讀!關(guān)于“微信小程序怎樣實(shí)現(xiàn)轉(zhuǎn)發(fā)好友的功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!