wupengfei
5 天以前 b89d6a0f58e3c4d7bd3704e007ea96c85a92d0a5
apps/cMiniApp/src/hooks/user.ts
@@ -2,15 +2,15 @@
import Taro from '@tarojs/taro';
import { object2query, LocationUtils } from '@12333/utils';
import { ParkOrHRStatus, UserCertificationFrontStatus } from '@12333/constants';
import * as userServices from '@12333/services/api/User';
import { useQuery } from '@tanstack/vue-query';
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import { MaybeRef } from 'vue';
import { useRefeshDidShow } from '@12333/hooks/infiniteLoading';
import * as userResumeServices from '@12333/services/apiV2/userResume';
export function useUser() {
  const userStore = useUserStore();
  const { userDetail, userInfo, locationCity } = storeToRefs(userStore);
  const { userDetail, userInfo, locationCity, userId } = storeToRefs(userStore);
  function updateUserInfo() {
    return userStore.getCurrentUserInfo();
@@ -43,6 +43,7 @@
    isCompanyAudited,
    isCertified,
    locationCity,
    userId,
  };
}
@@ -67,20 +68,8 @@
  const router = Taro.useRouter();
  Taro.useReady(async () => {
    let res;
    try {
      res = await LocationUtils.getLocation();
    } catch (error) {}
    if (isLogin.value && userStore.firstGetUserDetail) {
      userStore.firstGetUserDetail = false;
      if (LocationUtils.isProvinceChange(userStore.locationProvince)) {
        userStore.resetState();
      } else {
        userStore.getCurrentUserInfo();
      }
    }
    if (res?.result?.ad_info?.city && userStore.firstSetLocation) {
      userStore.setLocationCity(res.result.ad_info.city, res.result.ad_info.province);
      userStore.getCurrentUserInfo();
    }
    if (needAuth && !isLogin.value) {
      Taro.navigateTo({
@@ -105,3 +94,47 @@
    goLoginFn,
  };
}
export function useUserResume() {
  const { userId } = useUser();
  const { data, refetch } = useQuery({
    queryKey: ['userResumeServices/getUserResume', userId],
    queryFn: async () => {
      return await userResumeServices.getUserResume(
        { userId: userId.value },
        {
          showLoading: false,
        }
      );
    },
    placeholderData: () => ({} as API.GetUserResumeQueryResult),
    enabled: computed(() => !!userId.value),
  });
  return {
    userResumeInfo: data,
    refetch,
  };
}
export function useUpdateResume() {
  const queryClient = useQueryClient();
  const updateUserResumeCredentials = () => {
    return queryClient.invalidateQueries({
      queryKey: ['userResumeServices/getUserResumeCredentials'],
    });
  };
  const updateUserResume = () => {
    return queryClient.invalidateQueries({
      queryKey: ['userResumeServices/getUserResume'],
    });
  };
  return {
    updateUserResumeCredentials,
    updateUserResume,
  };
}