import { onMounted, onUnmounted } from 'vue' import { useRouter } from 'vue-router' import { isLoggedIn } from '@/utils/auth' import { useSettingsStore } from '@/store' let once = false const paths = ['/auth/login', '/auth/register', '/auth/forget'] export function useVisibilityChange() { onMounted(() => { document.addEventListener('visibilitychange', handle) }) onUnmounted(() => { document.removeEventListener('visibilitychange', handle) }) return {} } function handle() { useSettingsStore().isLeaveWeb = document.visibilityState === 'hidden' if (document.visibilityState === 'hidden') { return } if (isLoggedIn() || once) return if (paths.includes(useRouter().currentRoute.value.path)) return once = true // window['$dialog'].info({ // title: '友情提示', // content: '当前登录已失效,请重新登录?', // positiveText: '立即登录?', // maskClosable: false, // onPositiveClick: () => { // once = false // useRouter().push('/auth/login') // } // }) }