import { isReactive, isRef, onMounted } from 'vue'; import { RouterView, useRoute, useRouter } from 'vue-router'; import { Searchs } from '@/utils/searchs'; function setLoading(loading: any, val: any) { if (loading != undefined && isRef(loading)) { loading.value = val; } else if (loading != undefined && isReactive(loading)) { loading.loading = val; } } export const useAsync = async ( func: Promise, loading: any ): Promise => { setLoading(loading, true); return await func.finally(() => setLoading(loading, false)); }; export const getTabsCache = (callBack: any) => { const route = useRoute(); const searchs = new Searchs(route.path); const active = searchs.get(route.path); onMounted(() => { callBack(active); }); }; export const setTabsCaches = (current: any, key = 'current', routes: any) => { const searchs = new Searchs(routes.path); searchs.update({ [key]: current }, undefined, 'form'); const active = searchs.get(routes.path); console.log(active, 'setTabsCaches'); };