import { ref, onMounted, onUnmounted } from "vue";
|
|
/**
|
* @description 网络是否可用
|
* */
|
export const useOnline = () => {
|
const online = ref(true);
|
const showStatus = (val: any) => {
|
online.value = typeof val == "boolean" ? val : val.target.online;
|
};
|
// 在页面加载后,设置正确的网络状态
|
navigator.onLine ? showStatus(true) : showStatus(false);
|
|
onMounted(() => {
|
// 开始监听网络状态的变化
|
window.addEventListener("online", showStatus);
|
window.addEventListener("offline", showStatus);
|
});
|
|
onUnmounted(() => {
|
// 移除监听网络状态的变化
|
window.removeEventListener("online", showStatus);
|
window.removeEventListener("offline", showStatus);
|
});
|
|
return { online };
|
};
|