init
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import http from '@/pages/api/index.js'
|
||||
import api from '@/pages/api/api.js'
|
||||
|
||||
export function onNetworkStatusChange(onlineFun, offlineFun) {
|
||||
|
||||
//#ifdef H5
|
||||
function addHandler(element, type, handler) {
|
||||
if (element.addEventListener) {
|
||||
element.addEventListener(type, handler, false);
|
||||
} else if (element.attachEvent) {
|
||||
element.attachEvent("on" + type, handler);
|
||||
} else {
|
||||
element["on" + type] = handler;
|
||||
}
|
||||
}
|
||||
addHandler(window, 'online', () => {
|
||||
onlineFun()
|
||||
})
|
||||
addHandler(window, 'offline', () => {
|
||||
offlineFun()
|
||||
});
|
||||
//#endif
|
||||
//#ifdef APP-PLUS
|
||||
uni.onNetworkStatusChange(res => {
|
||||
if (res.networkType != 'none') {
|
||||
onlineFun(res);
|
||||
} else {
|
||||
offlineFun(res);
|
||||
}
|
||||
});
|
||||
//#endif
|
||||
|
||||
}
|
||||
|
||||
let NetWork = null;
|
||||
export function onNetworkStatusChangeV2(onlineFun, offlineFun) {
|
||||
|
||||
if (NetWork) {
|
||||
clearInterval(NetWork);
|
||||
NetWork = null;
|
||||
}
|
||||
let online = null,
|
||||
offline = null;
|
||||
NetWork = setInterval(() => {
|
||||
http(api.pingNetWork).then(() => {
|
||||
if (online === null) {
|
||||
onlineFun();
|
||||
online = true;
|
||||
}
|
||||
offline = null;
|
||||
}).catch(() => {
|
||||
if (offline === null) {
|
||||
offlineFun();
|
||||
offline = true;
|
||||
}
|
||||
online = null;
|
||||
})
|
||||
}, 1000);
|
||||
}
|
||||
Reference in New Issue
Block a user