隐藏微信网页右上角的按钮、在微信网页中获取用户的网络状态,支付等

1.隐藏微信网页右上角按钮
javascript 复制代码
<script type="text/javascript">
	document.addEventListener('WeixinJSBridgeReady',function onBridgeReady() {
    	// 通过下面这个API隐藏右上角按钮
    	WeixinJSBridge.call('hideOptionMenu');
});
	document.addEventListener('WeixinJSBridgeReady',function onBridgeReady() {
   		 // 通过下面这个API显示右上角按钮`
    	WeixinJSBridge.call('showOptionMenu');
});
</script>
2.在微信网页中获取用户的网络状态
javascript 复制代码
WeixinJSBridge.invoke('getNetworkType',{},function (e){
    // 在这里拿到e.err_msg,这里面就包含了所有的网络类型
    alert(e.err_msg);
});

//e.err_msg的取值如下所示:

//network_type:wifi         wifi网络
//network_type:edge      非wifi,包含3G/2G
//network_type:fail         网络断开连接
//network_type:wwan     2g或者3g
3.在微信网页中支付
javascript 复制代码
function onBridgeReady(orderId, response) {
      WeixinJSBridge.invoke(
        "getBrandWCPayRequest",
        {
          appId: response.appId, //公众号ID,由商户传入
          timeStamp: response.timeStamp, //时间戳,自1970年以来的秒数
          nonceStr: response.nonceStr, //随机串
          package: response.packageVal,
          signType: response.signType, //微信签名方式:
          paySign: response.paySign //微信签名
        },
        function (res) {
          // 使用以上方式判断前端返回,微信团队郑重提示:
          //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
          if (res.err_msg == "get_brand_wcpay_request:ok") {
            $api.pay_order(orderId).then(res => {
              if (res.code == 1) {
                state.assistOne = false;
                state.assistTwo = false;
                $Toast({
                  duration: 3000,
                  message: "支付成功!"
                });
                emit("get_brand_wcpay");
              }
            });
          }
          // 支付过程中用户取消
          if (res.err_msg == "get_brand_wcpay_request:cancel") {
          }
          // 支付失败
          if (res.err_msg == "get_brand_wcpay_request:fail") {
          }
          /**
           * 其它
           * 1、请检查预支付会话标识prepay_id是否已失效
           * 2、请求的appid与下单接口的appid是否一致
           * */
          if (res.err_msg == "调用支付JSAPI缺少参数:total_fee") {
          }
        }
      );
    }
    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();
    }
相关推荐
BruceGerGer11 天前
flutter开发实战-flutter web加载html及HtmlElementView的使用
flutter·1024程序员节
网络冒险家2 个月前
【软考】系统集成项目管理工程师【第二版】
职场和发展·软考·集成学习·1024程序员节·系统集成项目工程师
BruceGerGer2 个月前
flutter开发实战-AssetBundle读取指定packagename的文件
flutter·1024程序员节
sheng12345678rui2 个月前
最新缺失msvcp140.dll的多种解决方法,有效解决电脑dll问题
windows·microsoft·电脑·dll文件·1024程序员节
a5553338202 个月前
电脑显示mfc140u.dll丢失的修复方法,总结7种有效的方法
java·经验分享·dll·dll文件丢失·1024程序员节
行十万里人生2 个月前
C++ 智能指针
linux·c++·git·阿里云·容器·蓝桥杯·1024程序员节
a5553338202 个月前
启动鸣潮提示错误代码126:加载d3dcompiler_43.dll错误或缺失的7个解决方法
前端·经验分享·dll·dll文件丢失·1024程序员节
BruceGerGer2 个月前
flutter开发实战-Webview及dispose关闭背景音
flutter·1024程序员节
BruceGerGer3 个月前
flutter开发实战-ListWheelScrollView与自定义TimePicker时间选择器
flutter·1024程序员节
askah66443 个月前
电脑提示msvcr120.dll丢失怎样修复
经验分享·microsoft·dll修复·dll丢失·1024程序员节