移动端 禁止微信分享

1、创建mixin文件 文件内容如下

image

点击查看代码
// 隐藏微信分享
function onBridgeReady() {
  // eslint-disable-next-line
  WeixinJSBridge.call("hideOptionMenu");
}
const mixin = {
  data: function() {
    return {

    };
  },
  computed: {

  },
  methods: {
  },
  beforeCreate() {
    // eslint-disable-next-line
    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();
    }

  },

};
export default mixin;

2、需要使用的页面引入

import mixin from "@/mixin/mixin";
export default { mixins: [mixin], components: { pdf },

3、获取微信验签

具体可参考微信官方文档
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#1
mounted () { // 禁用分享 this.$nextTick(() => { this.verify() )} }

点击查看代码
verify(){
        let that = this
        setTimeout(() => {
          // 需要根据需求配置
		  // 通过调用后端接口获取需要的信息
        that.$axios.get('http://XXXXX',
        {
          headers:{
            token:this.token
          }
        }).then(res => {
          if (res.data.code == '0') {
            wx.config({
              debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
              appId: res.data.data.appId, // 必填,公众号的唯一标识
              timestamp: res.data.data.timestamp, // 必填,生成签名的时间戳
              nonceStr: res.data.data.nonceStr, // 必填,生成签名的随机串
              signature: res.data.data.signature, // 必填,签名,见附录1
              jsApiList: [
                "hideAllNonBaseMenuItem",
                "showMenuItems",
                // "onMenuShareAppMessage",
                // "onMenuShareTimeline",
                // "checkJsApi",
                // "wx-open-launch-weapp",
                'hideMenuItems'
              ], // 必填,需要使用的JS接口列表(根据需求配置)
              // openTagList: ["wx-open-launch-weapp"], //用于跳转到小程序
            });


            wx.ready(function(row){
                console.log('执行成功',row)
            });

            wx.error(function(err){
                console.log('错误',err)
              // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名
            });
          }
        })
        .catch(error =>
          //请求失败,触发catch中的函数 可省略
          console.log(error)
        )
    },1000)
posted @ 2023-02-22 11:22  你的眼里有星星  阅读(72)  评论(0编辑  收藏  举报