2024-02-17 13:52:03 +08:00

31 lines
744 B
TypeScript

import { onMounted, onUnmounted, ref } from 'vue'
/**
* @description 用户网络是否可用
*/
export function useOnline() {
const online = ref(true)
const showStatus = (val) => {
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 }
}