Files
pqs-9100_client/frontend/src/hooks/useOnline.ts
2024-08-22 11:27:06 +08:00

28 lines
758 B
TypeScript

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