杰克工作室 发表于 2023-2-23 20:23

使用微信公众号判断当前网络为2G还是4G

引入js文件:
<pre>
&lt;script type=&quot;text/javascript&quot; src=&quot;https://res.wx.qq.com/open/js/jweixin-1.2.0.js&quot;&gt;&lt;/script&gt;</pre>
判断网络状态:

<pre>
&lt;script&gt;
    function wx_share(){
      var apiWx_jssdk = &#39;https://api.xxx.com/index/wx_jssdk/getSign&#39;;//请看
      var _url = location.href.split(&#39;#&#39;);
      $.post(apiWx_jssdk, { url:_url }, function(data) {
            if(data.code != 200) {
                console.log(&#39;微信jssdk授权失败&#39;);
                return false;
            }
            wx.config({
                debug: false,//生产环境需要关闭debug模式
                appId: data.data.appId,//appId通过微信服务号后台查看
                timestamp: data.data.timestamp,//生成签名的时间戳
                nonceStr: data.data.nonceStr,//生成签名的随机字符串
                signature: data.data.signature,//签名
                jsApiList: [   // 所有要调用的 API 都要加到这个列表中
                  &#39;getNetworkType&#39;,
                ]
            });

            wx.ready(function() {
                //获取当前网络状态
                wx.getNetworkType({
                  success: function (res) {
                      var wifi = res.networkType;
                      if(wifi == &#39;wifi&#39;){
                        return false;
                      }
                      var msg = &#39;正在使用非WIFI网络,播放直播将产生流量费用&#39;;
                      if(/Android/i.test(navigator.userAgent)){
                        alert(msg);
                  }else{
                        alert(msg);
                  }
                  },
                  fail: function (res) {
                  alert(JSON.stringify(res));
                  }
                });
            });
            wx.error(function(res){
                console.log(&quot;好像出错了!!&quot;);
            });
      },&#39;json&#39;);
    }
    wx_share();
&lt;/script&gt;</pre>
注:https://api.xxx.com/index/wx_jssdk/getSign返回数据格式为:

<pre>
//以下为PHP代码:

$signPackage = array(
      &quot;appId&quot; =&gt; $this-&gt;appId,
      &quot;nonceStr&quot; =&gt; $nonceStr,
      &quot;timestamp&quot; =&gt; $timestamp,
      &quot;url&quot; =&gt; $url,
      &quot;signature&quot; =&gt; $signature,
      &quot;rawString&quot; =&gt; $string,
      &quot;ticket&quot; =&gt; $this-&gt;ticket,
      &quot;accessToken&quot; =&gt; $this-&gt;accessToken,
      &quot;ticketData&quot; =&gt; $this-&gt;ticketData,
      &quot;accessTokenData&quot; =&gt; $this-&gt;accessTokenData,
);
ajaxOut(200, $signPackage, &#39;ok&#39;);</pre>
页: [1]
查看完整版本: 使用微信公众号判断当前网络为2G还是4G