| | |
| | | import { useUserStore } from '@/stores/modules/user'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { object2query, LocationUtils } from '@12333/utils'; |
| | | import { |
| | | ParkOrHRStatus, |
| | | UserCertificationFrontStatus, |
| | | MatchMakingIdentityEnum, |
| | | } from '@12333/constants'; |
| | | import { ParkOrHRStatus, UserCertificationFrontStatus } from '@12333/constants'; |
| | | import * as userServices from '@12333/services/api/User'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { MaybeRef } from 'vue'; |
| | |
| | | export function useUser() { |
| | | const userStore = useUserStore(); |
| | | |
| | | const { userDetail, userInfo, matchMakingIdentity, isSetMatchMakingIdentity, locationCity } = |
| | | storeToRefs(userStore); |
| | | const { userDetail, userInfo, locationCity } = storeToRefs(userStore); |
| | | |
| | | function updateUserInfo() { |
| | | return userStore.getCurrentUserInfo(); |
| | |
| | | isCompletePersonalInfo, |
| | | isCompanyAudited, |
| | | isCertified, |
| | | matchMakingIdentity, |
| | | isSetMatchMakingIdentity, |
| | | locationCity, |
| | | }; |
| | | } |
| | |
| | | return { |
| | | goLoginFn, |
| | | }; |
| | | } |
| | | |
| | | type UseUserTotalInfoOptions = { |
| | | userId: MaybeRef<string>; |
| | | enabled?: MaybeRef<boolean>; |
| | | }; |
| | | |
| | | export function useUserTotalInfo({ userId, enabled = true }: UseUserTotalInfoOptions) { |
| | | const { data, refetch } = useQuery({ |
| | | queryKey: ['userServices/getUserTotalInfo', userId], |
| | | queryFn: async () => { |
| | | return await userServices.getUserTotalInfo( |
| | | { |
| | | userId: unref(userId), |
| | | }, |
| | | { showLoading: false } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.GetUserTotalInfoOutput), |
| | | enabled: computed(() => unref(enabled) && !!unref(userId)), |
| | | }); |
| | | |
| | | useRefeshDidShow({ queryKey: ['userServices/getUserTotalInfo', userId] }); |
| | | |
| | | return { |
| | | userTotalInfo: data, |
| | | refetch, |
| | | }; |
| | | } |
| | | |
| | | export function useUserSimpleInfo({ userId }: UseUserTotalInfoOptions) { |
| | | const { data, refetch } = useQuery({ |
| | | queryKey: ['userServices/getUserSimpleInfo', userId], |
| | | queryFn: async () => { |
| | | return await userServices.getUserSimpleInfo( |
| | | { |
| | | userId: unref(userId), |
| | | }, |
| | | { showLoading: false } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.UserSimpleInfo), |
| | | enabled: computed(() => !!unref(userId)), |
| | | }); |
| | | |
| | | return { |
| | | userSimpleInfo: data, |
| | | }; |
| | | } |
| | | |
| | | type UseToggleMatchMakingIdentityOnLaunchOptions = { |
| | | matchMakingIdentity: MatchMakingIdentityEnum; |
| | | }; |
| | | |
| | | export function useToggleMatchMakingIdentityOnLaunch({ |
| | | matchMakingIdentity, |
| | | }: UseToggleMatchMakingIdentityOnLaunchOptions) { |
| | | const launchOptions = Taro.getEnterOptionsSync(); |
| | | console.log('launchOptions: ', launchOptions); |
| | | |
| | | const userStore = useUserStore(); |
| | | const { userDetail } = useUser(); |
| | | |
| | | onMounted(async () => { |
| | | try { |
| | | if (launchOptions.scene === 1037) { |
| | | await userStore.setMatchMakingIdentity({ |
| | | matchMakingIdentity: matchMakingIdentity, |
| | | userId: userDetail.value?.userId, |
| | | }); |
| | | } |
| | | } catch (error) {} |
| | | }); |
| | | } |