欢迎光临,了解微信小程序开发,就上易用通!

微信小程序实时监测网络状态变化

发布:2021-06-23 14:44浏览: 来源:网络 作者:huan

全局监听
App({
  globalData: {
    nonetwork: false   //判断是否有网络
  },
  onShow() {
    this.onNetworkStatusChange()  //开启检测
  },
  onNetworkStatusChange() {
    var that = this
    //获取网络类型
    wx.getNetworkType({
      success: function (res) {
        const networkType = res.networkType
        //不为none代表有网络
        if ('none' != networkType) {
          that.globalData.nonetwork = true
          //网络状态变化事件的回调函数   开启网络监听,监听小程序的网络变化
          wx.onNetworkStatusChange(function (res) {
            if (res.isConnected) {
              //网络变为有网
              that.globalData.nonetwork = true
            } else {
              //网络变为无网
              that.globalData.nonetwork = false
            }
          })
        } else {
           //无网状态
          wx.onNetworkStatusChange(function (res) {
            if (res.isConnected) {
              that.globalData.nonetwork = true
            } else {
              that.globalData.nonetwork = false
            }
          })
        }
      },
    })
  }

})

app.js

页面使用
const app = getApp()
Page({
  data: {
    nonetwork: false
  },
  onLoad() {
     //判断是否网络
    if (app.globalData.nonetwork) {
      this.setData({
        nonetwork: true
      })
      //添加转圈
      wx.showLoading({
        title: "获取数据中!"
      });
    } else {
      this.setData({
        nonetwork: false
      })
      wx.showToast({
        title: '请连接网络',
        icon: 'none',
        duration: 2000
      })
    }
  },
  doRefresh() {
    //无网络的刷新
    this.onLoad()
  }
})

index.js

<view wx:if="{{nonetwork}}">
  内容
</view>
<view wx:else>
  <button bindtap="doRefresh">刷新</button>
</view>





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。