H5實現 微信分享功能


1丶首先需要獲取微信配置信息,需要調后端提供的接口數據

2丶然后調用 wx.config  配置你需要調用的的微信接口  jsApiList

3丶微信官方的jsAPI接口  只能在 wx.ready()這個函數中調用

   // 獲取微信配置信息
    setWxConfig() {
      // 進行簽名的時候  Android 不用使用之前的鏈接, ios 需要
      let signLink =
        navigator && navigator.userAgent && /(Android)/i.test(navigator.userAgent)
          ? location.href.split("#")[0]
          : window.entryUrl;
      getWxConfig(signLink).then((res) => {
        console.log("這里是wxconfig配置信息", res);
        var result = res.data;
        if (!wx) {
          alert("請升級當前微信版本!");
        }
        // eslint-disable-next-line
        wx.config({
          debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
          appId: result.appId, // 必填,公眾號的唯一標識
          timestamp: result.timestamp, // 必填,生成簽名的時間戳
          nonceStr: result.nonceStr, // 必填,生成簽名的隨機串
          signature: result.signature, // 必填,簽名
          jsApiList: [
            "onMenuShareAppMessage",
            "onMenuShareTimeline",
            "updateAppMessageShareData",
            "updateTimelineShareData",
          ], // 必填,需要使用的JS接口列表
        });
        // eslint-disable-next-line
        this.wxShare();
      });
    },
    wxShare() {
      //  wx分享
      let _this = this;
      window.wx.ready(function () {
        // 分享朋友圈
        window.wx.updateTimelineShareData({
          title: _this.articleTitle,// 分享標題
          link: _this.pageUrl,// 分享urk
          imgUrl: _this.articleImg, // 分享圖標
          success: function () {
            // 用戶確認分享后執行的回調函數
            // _this.$Toast("分享朋友圈成功");
          },
        });
        // 分享朋友
        window.wx.updateAppMessageShareData({
          title: _this.articleTitle,// 分享標題
          desc: _this.articleCount,// 分享urk
          link: _this.pageUrl,
          imgUrl: _this.articleImg, // 分享圖標
          type: "", // 分享類型,music、video或link,不填默認為link
          dataUrl: "", // 如果type是music或video,則要提供數據鏈接,默認為空
          success: function () {
            // 用戶確認分享后執行的回調函數
            // _this.$Toast("分享好友成功");
          },
        });
        window.wx.error(function (res) {
          // config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。
          console.log("errorMSG:" + res);
        });
      });
    },
  

 

 
         

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM