perf: useNetwork

This commit is contained in:
kailong321200875 2023-09-27 10:59:19 +08:00
parent 1db22482b4
commit 88be3eea10
4 changed files with 50 additions and 0 deletions

View File

@ -369,6 +369,14 @@ const adminList = [
meta: {
title: 'useClipboard'
}
},
{
path: 'useNetwork',
component: 'views/hooks/useNetwork',
name: 'UseNetwork',
meta: {
title: 'useNetwork'
}
}
]
},
@ -635,6 +643,7 @@ const testList: string[] = [
'/hooks/useValidator',
'/hooks/useCrudSchemas',
'/hooks/useClipboard',
'/hooks/useNetwork',
'/level',
'/level/menu1',
'/level/menu1/menu1-1',

View File

@ -0,0 +1,21 @@
import { ref, onBeforeUnmount } from 'vue'
const useNetwork = () => {
const online = ref(true)
const updateNetwork = () => {
online.value = navigator.onLine
}
window.addEventListener('online', updateNetwork)
window.addEventListener('offline', updateNetwork)
onBeforeUnmount(() => {
window.removeEventListener('online', updateNetwork)
window.removeEventListener('offline', updateNetwork)
})
return { online }
}
export { useNetwork }

View File

@ -411,6 +411,14 @@ export const asyncRouterMap: AppRouteRecordRaw[] = [
meta: {
title: 'useClipboard'
}
},
{
path: 'useNetwork',
component: () => import('@/views/hooks/useNetwork.vue'),
name: 'UseNetwork',
meta: {
title: 'useNetwork'
}
}
]
},

View File

@ -0,0 +1,12 @@
<script setup lang="ts">
import { ContentWrap } from '@/components/ContentWrap'
import { useNetwork } from '@/hooks/web/useNetwork'
const { online } = useNetwork()
</script>
<template>
<ContentWrap title="useNetwork">
当前网络状态: <code>{{ online ? '已连接' : '已断开' }}</code>
</ContentWrap>
</template>