import { useRoute } from 'vue-router' import { onBeforeUnmount } from 'vue' const queens = new Map() // 需要校验弹窗次数的页面 const routesList = ['company'] /** * 限制一个页面最多弹窗,超出最大值不弹出 * @param max 弹窗最大个数,默认值5 * @returns */ export const useDialogNumber = (max = 5) => { const route = useRoute() onBeforeUnmount(() => { queens.set(route.path, 0) }) return { add() { if (!routesList.includes(route.path)) return true const curNum = queens.get(route.path) || 0 if (curNum >= max) return queens.set(route.path, curNum + 1) return true }, length: queens.get(route.path) } }