微信公衆號開發之禁止分享

微信開發之禁止分享

既然是微信的分享功能,當然要用微信接口,微信接口在調用時有兩種方式,但是前提是頁面要引入微信的js-JDK

  1. 方法一:通過配置wx.config()config:ok後,會執行wx.ready(function(){}),把我們需要用到的接口,在ready()中調用即可。
//config的配置信息,需要後臺給你
wx.config({
        debug: false,
        appId: res.appid,// 必填,公衆號的唯一標識
        timestamp: res.timestamp,// 必填,生成簽名的時間戳
        nonceStr: res.nonceStr,// 必填,生成簽名的隨機串
        signature: res.signature,// 必填,簽名
        jsApiList: [//所有要調用的 API 都要加到這個列表中 必填,需要使用的JS接口列表
        	'getLocation',
        	'hideOptionMenu',
        	'hideAllNonBaseMenuItem'
        ]
});
//配置成功以後config:ok
wx.ready(function () {
     wx.checkJsApi({
         jsApiList: [ 'hideAllNonBaseMenuItem','getLocation','hideOptionMenu'],
         success: function (res) {
        	 if (res.checkResult.getLocation == false){
        		 alert('你的微信版本太低,不支持微信JS接口,請升級到最新的微信版本!');
        		 return;
        	 }
         }
 	 }); 
    
    //隱藏右上角菜單接口
     wx.hideOptionMenu();
     // 隱藏所有基礎類
     wx.hideAllNonBaseMenuItem();
     wx.error(function(res){
        	alert("接口調取失敗")
     });
})

效果如下:
在這裏插入圖片描述
2. 方法二 通過事件觸發 直接執行wx.接口名

	window.onload=function(){
            wx.hideOptionMenu()
        }
  		//如果通過第一種方式,前端需要先向後臺發送請求,並拿到數據,纔會執行到你要調用的微信接口AIP,
  		//這種方法不需要等待向後端發送請求獲取數據再配置的事件和麻煩
  		//效果同上

開發過程中遇到的問題,如果你有更好的方法,還請留言指教哦~~~

發現IOS系統無效,更改方法如下:

  // 禁止分享,微信開發者工具不支持以下方法,本地測試的時候,需要先註釋
		document.addEventListener('WeixinJSBridgeReady', function () {
				parent.WeixinJSBridge.call('hideOptionMenu')
		}, false)
		parent.WeixinJSBridge.call('hideOptionMenu')
		//別人家的方法
		//function onBridgeReady(){
		//	WeixinJSBridge.call('hideOptionMenu')
		//}
       // parent.WeixinJSBridge.call('hideOptionMenu')
       //if (typeof WeixinJSBridge == "undefined") {
       //     if (document.addEventListener) {
                //document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
       //     } else if (document.attachEvent) {
                //document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
                //document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
      //      }
       // } else {
       //     onBridgeReady();
      //  }

3 方法三

上述方法二隻能在內部不使用wx.config()時使用,否則,只要配置config,方法二,就會失效,其實方法三的原理就是監聽$route,如果$route有變化,就執行方法一。

	watch: {
      $route (to,from){
          this.getconfig()
      } 
    },
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章