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> |