1. 程式人生 > >微信分享自定義

微信分享自定義

微信分享:分享給朋友,分享到朋友圈

  getQueryString:function(name) {
      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
      var r = window.location.search.substr(1).match(reg);
      if (r != null)
      return unescape(r[2]);
      return null;
  }, 
  var from=this.getQueryString('from')//區分是分享給朋友還是朋友圈
  $.ajax({
      type:"get",
      url:"http://.../api/weixin/201810/share?from="+from+"&isappinstalled=0",
      dataType:"json", 
      success:function(data){
        console.log("微信分享配置資訊返回",data)
        var data=data.data
        wx.config({
          debug: true, // 開啟除錯模式,呼叫的所有api的返回值會在客戶端alert出來,若要檢視傳入的引數,可以在pc端開啟,引數資訊會通過log打出,僅在pc端時才會列印。
          appId: data.appId, // 必填,公眾號的唯一標識
          timestamp: data.timestamp, // 必填,生成簽名的時間戳
          nonceStr: data.nonceStr, // 必填,生成簽名的隨機串
          signature: data.signature,// 必填,簽名
          jsApiList: ["onMenuShareTimeline","onMenuShareAppMessage"] // 必填,需要使用的JS介面列表
        });
        wx.ready(function(){
          //分享到朋友圈
          wx.onMenuShareTimeline({
              title: "...公司", // 分享標題
              link: data.shareUrl, // 分享連結,該連結域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
              imgUrl: "http://...logo.jpg", // 分享圖示
              success: function () {
                  // 使用者確認分享後執行的回撥函式
              },
              fail: function (res) {
              }
          });
          //分享給朋友
          wx.onMenuShareAppMessage({
              title: "...公司", // 分享標題
              desc: "哈哈哈", // 分享描述
              link: data.shareUrl, // 分享連結,該連結域名或路徑必須與當前頁面對應的公眾號JS安全域名一致location.href
              imgUrl: "http://...logo.jpg", // 分享圖示
              type: 'link', // 分享型別,music、video或link,不填預設為link
              success: function () {
                // 使用者確認分享後執行的回撥函式
                alert("分享成功")
              },
              cancel: function () {
                // 使用者取消分享後執行的回撥函式
                alert("分享失敗")
              },
              fail: function (res) {
              }
          });
       })
     }
  })