微信小程序實時監(jiān)測網(wǎng)絡狀態(tài)變化
全局監(jiān)聽
App({
globalData: {
nonetwork: false //判斷是否有網(wǎng)絡
},
onShow() {
this.onNetworkStatusChange() //開啟檢測
},
onNetworkStatusChange() {
var that = this
//獲取網(wǎng)絡類型
wx.getNetworkType({
success: function (res) {
const networkType = res.networkType
//不為none代表有網(wǎng)絡
if ('none' != networkType) {
that.globalData.nonetwork = true
//網(wǎng)絡狀態(tài)變化事件的回調函數(shù) 開啟網(wǎng)絡監(jiān)聽,監(jiān)聽小程序的網(wǎng)絡變化
wx.onNetworkStatusChange(function (res) {
if (res.isConnected) {
//網(wǎng)絡變?yōu)橛芯W(wǎng)
that.globalData.nonetwork = true
} else {
//網(wǎng)絡變?yōu)闊o網(wǎng)
that.globalData.nonetwork = false
}
})
} else {
//無網(wǎng)狀態(tài)
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() {
//判斷是否網(wǎng)絡
if (app.globalData.nonetwork) {
this.setData({
nonetwork: true
})
//添加轉圈
wx.showLoading({
title: "獲取數(shù)據(jù)中!"
});
} else {
this.setData({
nonetwork: false
})
wx.showToast({
title: '請連接網(wǎng)絡',
icon: 'none',
duration: 2000
})
}
},
doRefresh() {
//無網(wǎng)絡的刷新
this.onLoad()
}
})
index.js
<view wx:if="{{nonetwork}}">
內容
</view>
<view wx:else>
<button bindtap="doRefresh">刷新</button>
</view>
如果您的問題還未解決可以聯(lián)系站長付費協(xié)助。

有問題可以加入技術QQ群一起交流學習
本站vip會員 請加入無憂模板網(wǎng) VIP群(50604020) PS:加入時備注用戶名或昵稱
普通注冊會員或訪客 請加入無憂模板網(wǎng) 技術交流群(50604130)
客服微信號:15898888535
聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網(wǎng)絡資源。如若內容侵犯了原著者的合法權益,可聯(lián)系站長刪除。