29 lines
836 B
TypeScript
29 lines
836 B
TypeScript
import { verifyApi } from '@/apis';
|
|
import { VERIFY_USER_QUERY_KEY } from '@/constants';
|
|
import { useSettingStore } from '@/stores';
|
|
import { useQuery, useQueryClient } from '@tanstack/vue-query';
|
|
import { storeToRefs } from 'pinia';
|
|
import { computed, watch } from 'vue';
|
|
|
|
export const useVerifyUserQuery = () => {
|
|
const queryClient = useQueryClient();
|
|
const settingStore = useSettingStore();
|
|
const { offlineDev } = storeToRefs(settingStore);
|
|
|
|
watch(offlineDev, (offline) => {
|
|
if (offline) {
|
|
queryClient.cancelQueries({ queryKey: [VERIFY_USER_QUERY_KEY] });
|
|
}
|
|
});
|
|
|
|
return useQuery({
|
|
queryKey: [VERIFY_USER_QUERY_KEY],
|
|
enabled: computed(() => !offlineDev.value),
|
|
refetchInterval: 10 * 1000,
|
|
queryFn: async ({ signal }) => {
|
|
await verifyApi({ signal });
|
|
return null;
|
|
},
|
|
});
|
|
};
|