| | |
| | | <div class="mine-avatar-wrapper" @click="goLogin"> |
| | | <UserAvatar :size="52" class="mine-avatar" /> |
| | | <div class="user-info" v-if="isLogin"> |
| | | <div class="user-info-item">{{ detail?.name ?? '' }}</div> |
| | | <div class="user-info-item">{{ userDetail?.name ?? '' }}</div> |
| | | <div class="user-info-auth"> |
| | | <div class="user-info-auth-item"> |
| | | <div class="user-info-unCertified" v-if="isCertified"> |
| | | <img :src="IconAuth" class="user-info-unCertified-icon" /> |
| | | <div class="user-info-unCertified-text">已实名</div> |
| | | </div> |
| | | <div class="user-info-unCertified" v-else> |
| | | <div class="user-info-unCertified-text">未实名</div> |
| | | <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> |
| | | 立即实名 |
| | | <div class="user-info-unCertified"> |
| | | <div |
| | | class="user-info-unCertified-text" |
| | | v-if="userDetail.realStatus === EnumPersonalUserRealStatus.UnReal" |
| | | > |
| | | 未认证 |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="user-info-auth-item"> |
| | | <div class="user-info-unCertified" v-if="!isCertified"> |
| | | <div class="user-info-unCertified-text">未认证</div> |
| | | <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> |
| | | <div class="user-info-unCertified-text" v-else> |
| | | {{ EnumUserRealMethodText[userDetail?.realMethod] |
| | | }}{{ EnumPersonalUserRealStatusText[userDetail.realStatus] }} |
| | | </div> |
| | | <div |
| | | class="user-info-unCertified-btn" |
| | | @click.stop="goAuthentication" |
| | | v-if=" |
| | | userDetail.realStatus === EnumPersonalUserRealStatus.UnReal || |
| | | userDetail.realStatus === EnumPersonalUserRealStatus.Fail |
| | | " |
| | | > |
| | | 立即认证 |
| | | </div> |
| | | </div> |
| | | <div class="user-info-unCertified" v-else> |
| | | <!-- <div class="user-info-unCertified" v-else> |
| | | <img :src="IconAuth" class="user-info-unCertified-icon" /> |
| | | <div class="user-info-unCertified-text">已认证</div> |
| | | </div> |
| | | <div class="user-info-unCertified-text"> |
| | | {{ EnumUserRealMethodText[userDetail?.realMethod] }}{{ EnumPersonalUserRealStatusText[userDetail.realStatus] }} |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <ContentScrollView v-if="isLogin" class="mine-content-scroll-view"> |
| | | <List class="mine-list-wrapper mine-balance"> |
| | | <div class="mine-balance-title">我的余额</div> |
| | | <div class="mine-balance-money">¥{{ toThousand(0) }}</div> |
| | | <div class="mine-balance-money">¥{{ toThousand(userDetail?.balance) }}</div> |
| | | <div class="mine-balance-btn" @click="goMineWallet"> |
| | | 进入我的钱包 |
| | | <img :src="IconArrow" class="mine-balance-btn-icon" /> |
| | |
| | | <nut-badge |
| | | class="mine-order-list-item" |
| | | top="8" |
| | | :value="detail?.taskCount ?? 0" |
| | | :value="userDetail?.taskCount ?? 0" |
| | | @click="goMineSign" |
| | | > |
| | | <img :src="IconOrderSign" class="mine-order-list-icon" /> |
| | |
| | | <nut-badge |
| | | class="mine-order-list-item" |
| | | top="8" |
| | | :value="detail?.hirePassTaskCount ?? 0" |
| | | :value="userDetail?.hirePassTaskCount ?? 0" |
| | | @click="goMineHire" |
| | | > |
| | | <img :src="IconOrderHire" class="mine-order-list-icon" /> |
| | |
| | | <nut-badge |
| | | class="mine-order-list-item" |
| | | top="8" |
| | | :value="detail?.hireRefuseTaskCount ?? 0" |
| | | :value="userDetail?.hireRefuseTaskCount ?? 0" |
| | | @click="goMineCancel" |
| | | > |
| | | <img :src="IconOrderCancel" class="mine-order-list-icon" /> |
| | |
| | | import { useUser, useIsLogin, useGoLogin } from '@/hooks'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { RouterPath, OssAssets } from '@/constants'; |
| | | import { |
| | | EnumUserRealMethodText, |
| | | EnumPersonalUserRealStatusText, |
| | | EnumPersonalUserRealStatus, |
| | | } from '@12333/constants'; |
| | | import { List, ListItem } from '@12333/components'; |
| | | import { useSystemStore } from '@/stores/modules/system'; |
| | | import PageLayoutWithBg from '@/components/Layout/PageLayoutWithBg.vue'; |
| | | import { toThousand } from '@12333/utils'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import * as authServices from '@12333/services/apiV2/auth'; |
| | | |
| | | const { userDetail, isCertified } = useUser(); |
| | | console.log('isCertified: ', isCertified); |
| | | const { userDetail, isCertified, updateUserInfo } = useUser(); |
| | | const isLogin = useIsLogin(); |
| | | const systemStore = useSystemStore(); |
| | | |
| | | const { goLoginFn } = useGoLogin(); |
| | | const bgHeight = computed(() => 133 + systemStore.navHeight); |
| | | |
| | | const { |
| | | isLoading, |
| | | isError, |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['authServices/getPersonalLoginInfo'], |
| | | queryFn: async () => { |
| | | return await authServices.getPersonalLoginInfo( |
| | | {}, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.GetPersonalLoginInfoQueryResult), |
| | | enabled: isLogin, |
| | | }); |
| | | |
| | | Taro.useDidShow(() => { |
| | | refetch(); |
| | | Taro.useDidShow(({ scene }) => { |
| | | if (isLogin.value) { |
| | | setTimeout(() => { |
| | | updateUserInfo(); |
| | | }, 300); |
| | | } |
| | | }); |
| | | |
| | | function goLogin() { |