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