日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

微信小程序 转发 分享功能(二)

發(fā)布時(shí)間:2023/12/13 综合教程 44 生活家
生活随笔 收集整理的這篇文章主要介紹了 微信小程序 转发 分享功能(二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)于小程序的轉(zhuǎn)發(fā):

最簡(jiǎn)單的就是點(diǎn)擊小程序右上角菜單“轉(zhuǎn)發(fā)”按鈕直接分享,不過這種分享有點(diǎn)不太友好,實(shí)用性也不強(qiáng)。

當(dāng)然,你可以自定義分享內(nèi)容,包括標(biāo)題,簡(jiǎn)介,圖片及分享的小程序頁(yè)面路徑。

再高級(jí)一點(diǎn),還可以對(duì)轉(zhuǎn)發(fā)出去的小程序被二次打開的時(shí)候獲取到一些信息。

一. 自定義轉(zhuǎn)發(fā)內(nèi)容:

onShareAppMessage(Obj):

1. 監(jiān)聽轉(zhuǎn)發(fā)按鈕(button open-type="share")或小程序右上角“轉(zhuǎn)發(fā)”按鈕的點(diǎn)擊行為;

2. 自定義轉(zhuǎn)發(fā)分享內(nèi)容。
3. 還可以監(jiān)聽這些信息:


示例代碼:

  /**
   * 用戶分享自定義
   */
  onShareAppMessage: function(res) {
    return {
      title: '哈根達(dá)斯冰激凌5折特惠',
      path: '/pages/index/index?goods_id=' + wx.getStorageSync("goods_id"),
      imageUrl: 'http://static.e-mallchina.com/pic/product/brand/detail/hgds.jpg'//自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑。支持PNG及JPG。顯示圖片長(zhǎng)寬比是 5:4。
    }
  }

點(diǎn)擊右上角菜單中的“轉(zhuǎn)發(fā)”按鈕,分享效果如下:

二. 點(diǎn)擊頁(yè)面按鈕分享轉(zhuǎn)發(fā):

<button>組件設(shè)置open-type="share"即可實(shí)現(xiàn)頁(yè)面內(nèi)分享,點(diǎn)擊按鈕即可跟點(diǎn)擊右上角菜單中的轉(zhuǎn)發(fā)按鈕會(huì)有一樣的效果。

<button open-type='share' type='warn' size="mini" plain="true" id='btnShare0'>推薦給好友</button>

當(dāng)然,跟右上角菜單中的轉(zhuǎn)發(fā)按鈕一樣,如果設(shè)置了自定義轉(zhuǎn)發(fā)內(nèi)容,點(diǎn)擊分享按鈕也會(huì)展示自定義分享內(nèi)容的。

三. 關(guān)閉分享功能:

wx.hideShareMenu(Object object):隱藏轉(zhuǎn)發(fā)按鈕,關(guān)閉轉(zhuǎn)發(fā)功能(不影響轉(zhuǎn)發(fā)按鈕的功能,只是右上角分享沒有了)。

  /**
   * 生命周期函數(shù)--監(jiān)聽頁(yè)面加載
   */
  onLoad: function(options) {
    wx.hideShareMenu()
  },
  /**
   * 生命周期函數(shù)--監(jiān)聽頁(yè)面顯示
   */
  onShow: function() {
    wx.hideShareMenu()
  },

四. 獲取更多轉(zhuǎn)發(fā)信息:

轉(zhuǎn)發(fā)出去的小程序被二次打開的時(shí)候能夠獲取到一些信息,例如群的標(biāo)識(shí)。

大致流程:

1. 通過調(diào)用 wx.showShareMenu 并且設(shè)置 withShareTicket 為 true ;
2. 當(dāng)用戶將小程序轉(zhuǎn)發(fā)到任一群聊之后,此轉(zhuǎn)發(fā)卡片在群聊中被其他用戶打開時(shí),可以在 App.onLaunch 或 App.onShow 獲取到一個(gè) shareTicket;
3. 通過調(diào)用 wx.getShareInfo() 接口傳入此 shareTicket 可以獲取到轉(zhuǎn)發(fā)信息。

示例代碼:

  //分享頁(yè)面設(shè)置開啟分享群信息
  /**
   * 生命周期函數(shù)--監(jiān)聽頁(yè)面加載
   */
  onLoad: function(options) {
    wx.showShareMenu({
      withShareTicket: true
    })
  },
  /**
   * 生命周期函數(shù)--監(jiān)聽頁(yè)面顯示
   */
  onShow: function() {
    wx.showShareMenu({
      withShareTicket: true
    })
  }

//app.js 獲取小程序名片頁(yè)附帶的分享信息
App({
  onLaunch: function(ops) {
    //小程序在群里被打開后,獲取情景值和shareTicket
    console.log("ops:", ops)
    if (ops.scene==1044) {
      wx.getShareInfo({
        shareTicket: ops.shareTicket,
        success:function(res) {
          console.log("wx.getShareInfo:::", res)
        }
      })
    }
  }
})

分享到群里之后,在群里打開小程序,獲取類似下面的數(shù)據(jù):

如上圖,獲取的就是分享到的群聊的相關(guān)信息了,不過這個(gè)信息是加密的,需要像獲取手機(jī)號(hào)一樣再去后端解密才可以。

其中encryptedData解密后為以下 json 結(jié)構(gòu),詳見加密數(shù)據(jù)解密算法。其中 openGId 為當(dāng)前群的唯一標(biāo)識(shí):

{
"openGId": "OPENGID"
}

如需要展示群名稱,可以使用開放數(shù)據(jù)組件。

經(jīng)驗(yàn)證,這個(gè)功能只有在分享到群聊中才會(huì)有效,也就是說(shuō)只能區(qū)分小程序是在群中還是好友聊天窗口中打開的,所以這個(gè)功能是比較雞肋的。

五. 其他一些功能:

還有一個(gè)接口,就是更新轉(zhuǎn)發(fā)屬性的接口:wx.updateShareMenu(Object object),平常用的不多,感興趣的可以自行去官網(wǎng)研究。

來(lái)源地址:https://www.cnblogs.com/xyyt


總結(jié)

以上是生活随笔為你收集整理的微信小程序 转发 分享功能(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。