mirror of
https://github.com/xiangshu233/vue3-vant4-mobile.git
synced 2025-04-06 03:57:47 +08:00
31 lines
744 B
TypeScript
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 }
|
|
}
|