初始化
This commit is contained in:
30
src/hooks/useOnline.ts
Normal file
30
src/hooks/useOnline.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { ref, onMounted, onUnmounted } 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 };
|
||||
}
|
||||
Reference in New Issue
Block a user