vue實戰(zhàn)(8)——微信二次分享及自定義菜單隱藏設置

一、引入js文件

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

二、微信二次分享(SDK1.2.0)

mounted () {
    this.shareWechat();
},
methods () {
    shareWechat() {
        let self = this,
            url_temp = window.location.href.split("#")[0];
        axios.post(global.api + "business-service/wechat/sign",{webUrl: url_temp}).then(function(response) {
            if(response.data.code == 1){
                let data = response.data.data
                let nonceStr = data.noncestr  // 必填,生成簽名的隨機串
                let timestamp = data.timestamp  //生成簽名的時間戳
                wx.config({
                    debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
                    appId: data.appId, // 必填,服務號
                    timestamp: data.timestamp, // 必填,生成簽名的時間戳
                    nonceStr: data.noncestr, // 必填,生成簽名的隨機串
                    signature: data.sign, // 必填,簽名,見附錄1
                    jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone']
                });
                wx.ready(function () { 
                    var shareData = { 
                        title: self.queryData.title, 
                        desc: '吃茶去喊你一起搞事情~你來還是來還是來?', 
                        link: window.location.href,
                         imgUrl: self.queryData.bannerImage,
                     }; 
                     wx.onMenuShareAppMessage(shareData); // 分享給朋友
                     wx.onMenuShareTimeline(shareData); // 分享到朋友圈
                     wx.onMenuShareQQ(shareData);  // 分享到QQ
                     wx.onMenuShareWeibo(shareData); // 分享到騰訊微博
                     wx.onMenuShareQZone(shareData); // 分享到QQ空間
                }); 
             }
        })
        .catch(function(error) {
            console.log(error);
        });
    }
}

三、微信二次分享(SDK1.4.0)

說明:最新SDK文檔1.4.0版本中即將廢棄1.2.0版本的分享api,以上5中分享形式被如下2種方式取代:
引用http://res.wx.qq.com/open/js/jweixin-1.4.0.jshttp://res2.wx.qq.com/open/js/jweixin-1.4.0.js (支持https)

  1. 自定義“分享給朋友”及“分享到QQ”按鈕的分享內容(1.4.0)
wx.ready(function () {   //需在用戶可能點擊分享按鈕前就先調用
   wx.updateAppMessageShareData({ 
        title: '', // 分享標題
        desc: '', // 分享描述
        link: '', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
        imgUrl: '', // 分享圖標
  }, function(res) { 
    //這里是回調函數 
  }); 
});
  1. 自定義“分享到朋友圈”及“分享到QQ空間”按鈕的分享內容(1.4.0)
wx.ready(function () {      //需在用戶可能點擊分享按鈕前就先調用
    wx.updateTimelineShareData({ 
        title: '', // 分享標題
        link: '', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
        imgUrl: '', // 分享圖標
    }, function(res) { 
      //這里是回調函數 
    }); 
});

四、自定義菜單隱藏設置

mounted () {
    this.shareWechat();
},
methods () {
    shareWechat() {
        let self = this,
            url_temp = window.location.href.split("#")[0];
        axios.post(global.api + "business-service/wechat/sign",{webUrl: url_temp}).then(function(response) {
            if(response.data.code == 1){
                let data = response.data.data
                let nonceStr = data.noncestr  // 必填,生成簽名的隨機串
                let timestamp = data.timestamp  //生成簽名的時間戳
                wx.config({
                    debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
                    appId: data.appId, // 必填,服務號
                    timestamp: data.timestamp, // 必填,生成簽名的時間戳
                    nonceStr: data.noncestr, // 必填,生成簽名的隨機串
                    signature: data.sign, // 必填,簽名,見附錄1
                    jsApiList: ['hideMenuItems','hideAllNonBaseMenuItem']
                });
                wx.ready(function () { 
                  //隱藏所有按鈕(“傳播類”和“保護類")
                  wx.hideAllNonBaseMenuItem();
                  //隱藏所有按鈕(“傳播類”和“保護類")
                  //以下隱藏部分按鈕,分別為: 發(fā)送給朋友,分享到朋友圈,分享到QQ,分享到Weibo,收藏,分享到FB,分享到 QQ 空間,復制鏈接,閱讀模式
                  //wx.hideMenuItems({
                    // menuList: ['menuItem:share:appMessage','menuItem:share:timeline','menuItem:share:qq','menuItem:share:weiboApp','menuItem:favorite','menuItem:share:facebook','menuItem:share:QZone','menuItem:copyUrl','menuItem:readMode'] // 要隱藏的菜單項,只能隱藏“傳播類”和“保護類”按鈕,所有menu項見附錄3
                  //});
                }); 
             }
        })
        .catch(function(error) {
            console.log(error);
        });
    }
}
原始按鈕

隱藏所有按鈕
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,227評論 25 708
  • 06店
    06店閱讀 203評論 0 0
  • 在該折騰的年紀,怎么可以選擇安逸。雖然沒有詩與遠方,生活也少了風花雪月,可總有個念想。向往的生活,不曾一刻離開我...
    不愛笑的小鬧兒閱讀 162評論 0 0
  • 從寫公號至今,已有半年的時間了。剛開始是陸陸續(xù)續(xù)地發(fā),現在只要電腦在身邊,幾乎是一天一篇。 起先,我對公號并不甚了...
    小墨梅閱讀 381評論 1 3
  • >總體上分為三部分:1.前處理 2.計算 3.后處理 ##1.前處理 前處理中,網格化后,單元的個數,以及每個單元...
    番茄雞腿閱讀 2,237評論 0 1

友情鏈接更多精彩內容