小程序模板網(wǎng)

微信小程序判斷是否轉(zhuǎn)發(fā)到群聊

發(fā)布時間:2018-05-09 14:52 所屬欄目:小程序開發(fā)教程

微信小程序在小程序內(nèi)轉(zhuǎn)發(fā)的方式有兩個,分別是 和頁面右上角的轉(zhuǎn)發(fā),兩種轉(zhuǎn)發(fā)都會調(diào)用 Page.onShareAppMessage(options)。

要判斷是否轉(zhuǎn)發(fā)到群聊,需要使用用 wx.showShareMenu(OBJECT),并且參數(shù)withShareTicket為true。wx.showShareMenu({ withShareTicket: true})。轉(zhuǎn)發(fā)成功后,Page.onShareAppMessage() 的回調(diào)會返回shareTickets,可以通過轉(zhuǎn)發(fā)成功的回調(diào)判斷是否轉(zhuǎn)發(fā)到了群聊。 
如果需要獲取轉(zhuǎn)發(fā)的詳細信息,可以使用 wx.getShareInfo(OBJECT),需要參數(shù)shareTicket,shareTicket 就是轉(zhuǎn)發(fā)成功后的回調(diào)的 shareTicket 。wx.getShareInfo(OBJECT)的回調(diào)會返回errMsg(錯誤信息)、encryptedData(包括敏感數(shù)據(jù)在內(nèi)的完整轉(zhuǎn)發(fā)信息的加密數(shù)據(jù))、iv(加密算法的初始向量)。

下面是是完整代碼

 

	
  1. onShareAppMessage(res) {
  2.  
  3.  
  4. //轉(zhuǎn)發(fā)時攜帶 shareTicket才能在回調(diào)中獲取到shareTickets
  5. wx.showShareMenu({
  6. withShareTicket: true
  7. })
  8.  
  9.  
  10. return {
  11. title: '轉(zhuǎn)發(fā)時顯示的標題',
  12. path: '轉(zhuǎn)發(fā)的頁面路徑',
  13.  
  14. success: res => {
  15. console.log('--- 轉(zhuǎn)發(fā)回調(diào) ---', res);
  16.  
  17. //onShareAppMessage回調(diào)的shareTickets,如果沒有,就說明不是轉(zhuǎn)發(fā)到群聊的
  18. console.log('--- shareTickets ---', res.shareTickets);
  19.  
  20. //轉(zhuǎn)發(fā)到群里的才會有shareTickets
  21. if (res.shareTickets && res.shareTickets[0]) {
  22.  
  23. //獲取轉(zhuǎn)發(fā)的詳細信息
  24. wx.getShareInfo({
  25. shareTicket: res.shareTickets[0],
  26. success: res => {
  27. console.log('--- 錯誤信息 ---', res.errMsg);
  28. console.log('--- 包括敏感數(shù)據(jù)在內(nèi)的完整轉(zhuǎn)發(fā)信息的加密數(shù)據(jù) ---', res.encryptedData);
  29. console.log('--- 錯誤信息 ---', res.iv);
  30. },
  31. fail: error => {
  32. console.log('--- getShareInfo fail ---',error);
  33. }
  34. })
  35. }
  36. },
  37. fail: () => {
  38. console.log('--- 轉(zhuǎn)發(fā)失敗 ---', path);
  39. }
  40.  
  41. }
  42. }

下面是轉(zhuǎn)發(fā)到個人和群聊的日志打印

轉(zhuǎn)發(fā)給個人時的日志 可以看到,轉(zhuǎn)發(fā)給個人時,轉(zhuǎn)發(fā)的回調(diào)只有errMsg。

轉(zhuǎn)發(fā)到群聊時的日志 轉(zhuǎn)發(fā)到群聊時,轉(zhuǎn)發(fā)的回調(diào)多了shareTickets。所以,可以通過是否有shareTickets來判斷是轉(zhuǎn)發(fā)給個人還是群聊。


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/24374.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢