微信公众号开发之禁止分享

微信开发之禁止分享

既然是微信的分享功能,当然要用微信接口,微信接口在调用时有两种方式,但是前提是页面要引入微信的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'
        ]
});
//配置成功以后config:ok
wx.ready(function () {
     wx.checkJsApi({
         jsApiList: [ 'getLocation','hideOptionMenu'],
         success: function (res) {
        	 if (res.checkResult.getLocation == false){
        		 alert('你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!');
        		 return;
        	 }
         }
 	 }); 
    
    //隐藏右上角菜单接口
     wx.hideOptionMenu();
     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()
      } 
    },

猜你喜欢

转载自blog.csdn.net/rainbow8300/article/details/83147879
今日推荐