React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能

zzzerttt 2017-05-26

废话不多说了,直接给大家贴代码了,具体代码如下所示:

/**
 * Created by wuyakun on 2017/5/23.
 */let wxUtils = {};
/**
 * 是否开启右上角Menu
 * @param open
 */
wxUtils.optionMenu = function (open = true) {
 if (open) {
  openOptionMenu();
 } else {
  disabledOptionMenu();
 }
};
/**
 * 是否禁用右上角
 */
function disabledOptionMenu() {
 if (typeof WeixinJSBridge === "undefined") {
  if (document.addEventListener) {
   document.addEventListener('WeixinJSBridgeReady', onBridgeReady(true), false);
  } else if (document.attachEvent) {
   document.attachEvent('WeixinJSBridgeReady', onBridgeReady(true));
   document.attachEvent('onWeixinJSBridgeReady', onBridgeReady(true));
  }
 } else {
  onBridgeReady(true);
 }
}
/**
 * 开启menu
 */
function openOptionMenu() {
 if (typeof WeixinJSBridge === "undefined") {
  if (document.addEventListener) {
   document.addEventListener('WeixinJSBridgeReady', onBridgeReady(false), false);
  } else if (document.attachEvent) {
   document.attachEvent('WeixinJSBridgeReady', onBridgeReady(false));
   document.attachEvent('onWeixinJSBridgeReady', onBridgeReady(false));
  }
 } else {
  onBridgeReady(false);
 }
}
function onBridgeReady(disable = true) {
 if (typeof WeixinJSBridge !== "undefined") WeixinJSBridge.call(disable ? 'hideOptionMenu' : 'showOptionMenu');
}
/**
 * 隐藏微信网页底部的导航栏
 * @param disable
 */
wxUtils.disabledToolbar = function (disable = true) {
 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
  // 通过下面这个API隐藏底部导航栏
  WeixinJSBridge.call(disable ? 'hideToolbar' : 'showToolbar');
 });
};
/**
 * 获取网络类型
 */
wxUtils.getNetworkType = function () {
 //network_type:wifi wifi网络 2 network_type:edge 非wifi,包含3G/2G 3 network_type:fail 网络断开连接 4 network_type:wwan 2g或者3g
 WeixinJSBridge.invoke('getNetworkType', {}, function (e) {
  // 在这里拿到e.err_msg,这里面就包含了所有的网络类型
  return e;
 });
};
export default wxUtils;

用法很简单:

export default class BaseComponent extends React.Component {
 componentDidMount() {
  try {
   //如果存在location说明是路由Component
   if (this.props.location) {
    // 全部禁用分享,想要分享自己开
    wxUtils.optionMenu(false);
   }
  } catch (e) {
   // console.log(e);
  }
 }
}

我写在了Base里面,主要是wxUtils.optionMenu(false);这一句

相关推荐

浪味仙 / 0评论 2019-11-01