小程序模板網(wǎng)

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

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

微信小程序在小程序內(nèi)轉(zhuǎn)發(fā)的方式有兩個(gè),分別是 和頁(yè)面右上角的轉(zhuǎn)發(fā),兩種轉(zhuǎn)發(fā)都會(huì)調(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)會(huì)返回shareTickets,可以通過轉(zhuǎn)發(fā)成功的回調(diào)判斷是否轉(zhuǎn)發(fā)到了群聊。 
如果需要獲取轉(zhuǎn)發(fā)的詳細(xì)信息,可以使用 wx.getShareInfo(OBJECT),需要參數(shù)shareTicket,shareTicket 就是轉(zhuǎn)發(fā)成功后的回調(diào)的 shareTicket 。wx.getShareInfo(OBJECT)的回調(diào)會(huì)返回errMsg(錯(cuò)誤信息)、encryptedData(包括敏感數(shù)據(jù)在內(nèi)的完整轉(zhuǎn)發(fā)信息的加密數(shù)據(jù))、iv(加密算法的初始向量)。

下面是是完整代碼

 

	
  1. onShareAppMessage(res) {
  2.  
  3.  
  4. //轉(zhuǎn)發(fā)時(shí)攜帶 shareTicket才能在回調(diào)中獲取到shareTickets
  5. wx.showShareMenu({
  6. withShareTicket: true
  7. })
  8.  
  9.  
  10. return {
  11. title: '轉(zhuǎn)發(fā)時(shí)顯示的標(biāo)題',
  12. path: '轉(zhuǎn)發(fā)的頁(yè)面路徑',
  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ā)到群里的才會(huì)有shareTickets
  21. if (res.shareTickets && res.shareTickets[0]) {
  22.  
  23. //獲取轉(zhuǎn)發(fā)的詳細(xì)信息
  24. wx.getShareInfo({
  25. shareTicket: res.shareTickets[0],
  26. success: res => {
  27. console.log('--- 錯(cuò)誤信息 ---', res.errMsg);
  28. console.log('--- 包括敏感數(shù)據(jù)在內(nèi)的完整轉(zhuǎn)發(fā)信息的加密數(shù)據(jù) ---', res.encryptedData);
  29. console.log('--- 錯(cuò)誤信息 ---', 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ā)到個(gè)人和群聊的日志打印

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

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


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉(cāng)庫(kù):starfork
本文地址:http://www.u-renovate.com/wxmini/doc/course/24374.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×