微信自定義分享功能,微信js-sdk使用總結

需求:vue項目移動端要求用戶在公衆號中分享出去的連接是圖片+文字+標題的形式。而不是默認的

要實現的效果如圖所示:

clipboard.png

不設置時,分享的默認效果,以下圖所示:

clipboard.png

幾個要注意的地方:

  1. wx.config 全部的配置項的數據都是後臺返回的
  2. wx.config配置項的參數大小寫必定要按照官網文檔來,區分大小寫,可是獲取到的後臺返回的字段能夠自由定義,這個時候要注意後臺返回的數據字段名稱是否和官網的一致,在這塊有個問題找了半天,結果最後發現wx.config配置項裏面後臺返回的res.data.noncestr中noncestr爲小寫,而本身沒有細看一直覺得也是nonceStr.致使config:fail.
  3. 分享時,請求的url不能帶有hash值等,因此要進行截取

具體參考代碼以下所示:

` wxShared() {vue

let newUrl = window.location.href.split("#")[0]; //    
  let url = newUrl;

  this.$store.dispatch("GetTicketJSAPI", url).then(res => {
    let params = {
      debug: false, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來
      appId: "wx3dab174110e5f840", // 必填,企業微信的corpID
      timestamp: res.data.timestamp, // 必填,生成簽名的時間戳***************
      nonceStr: res.data.noncestr, // 必填,生成簽名的隨機串 必填,生成簽名的隨機串***************
      signature: res.data.signature, // 必填,簽名***************
      jsApiList: ["onMenuShareAppMessage", "onMenuShareTimeline"]
    };
    wx.config(params); //經過config接口注入權限驗證配置
    wx.ready(function() {
      // config信息驗證成功後會執行ready方法
      //經過ready接口處理成功驗證
      wx.onMenuShareAppMessage({
        // 分享給朋友
        title: "聲動語商學苑", // 分享標題
        desc: "好語商引領自信人生 · 「一站式」專業青少兒語商培養教育品牌", // 分享描述
        link: res.data.str, // 分享連接
        imgUrl:
          "http://www.shengdongyushang.com/upload/asserts/sdys_logo1.png", // 分享圖標
        type: "", // 分享類型,music、video或link,不填默認爲link
        dataUrl: "", // 若是type是music或video,則要提供數據連接,默認爲空
        success: function(res) {
          // 用戶確認分享後執行的回調函數
        },
        cancel: function() {
          // 用戶取消分享後執行的回調函數
        }
      });
      wx.onMenuShareTimeline({
        //分享朋友圈
        title: "聲動語商學苑", // 分享標題
        desc: "好語商引領自信人生 · 「一站式」專業青少兒語商培養教育品牌",
        link: res.data.str,
        imgUrl:
          "https://qccdata.qichacha.com/AutoImage/052236e320f34be80991ce01fd8cd138.jpg?x-oss-process=image/resize,w_120", // 分享圖標
        success: function(res) {
          // 用戶確認分享後執行的回調函數
        },
        cancel: function() {
          // 用戶取消分享後執行的回調函數
        }
      });
    });
  });
},`

若是對你有所幫助,麻煩點個贊再走吧 ^_^api

相關文章
相關標籤/搜索