|  |  | 
 |  |  |           <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-auth"> | 
 |  |  |               <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"> | 
 |  |  |                     <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 class="user-info-unCertified" v-else> | 
 |  |  |                     <img :src="IconAuth" class="user-info-unCertified-icon" /> | 
 |  |  |                     <div class="user-info-unCertified-text">已实名</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> | 
 |  |  |             </div> | 
 |  |  |             <div class="mine-go-login" v-else>去登录</div> | 
 |  |  |           </div> | 
 |  |  | 
 |  |  |       </UserHomeTopView> | 
 |  |  |     </ContentView> | 
 |  |  |     <ContentScrollView v-if="isLogin" class="mine-content-scroll-view"> | 
 |  |  |       <!-- <List class="mine-list-wrapper mine-balance"> | 
 |  |  |       <List class="mine-list-wrapper mine-balance"> | 
 |  |  |         <div class="mine-balance-title">我的余额</div> | 
 |  |  |         <div class="mine-balance-money">¥{{ toThousand(100) }}</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" /> | 
 |  |  |         </div> | 
 |  |  |       </List> --> | 
 |  |  |       </List> | 
 |  |  |       <List class="mine-list-wrapper mine-order-list"> | 
 |  |  |         <div class="mine-order-list-title"> | 
 |  |  |           <div class="mine-order-list-title-text">我的订单</div> | 
 |  |  | 
 |  |  |           <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" /> | 
 |  |  |             <div class="mine-order-list-text">已录用</div> | 
 |  |  |             <div class="mine-order-list-text">已安排</div> | 
 |  |  |           </nut-badge> | 
 |  |  |           <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" /> | 
 |  |  | 
 |  |  |       </List> | 
 |  |  |       <List class="mine-list-wrapper mine-setting-list"> | 
 |  |  |         <ListItem :icon="IconCollect" title="我收藏的任务" @click="goMineCollectTask"></ListItem> | 
 |  |  |         <!-- <ListItem :icon="IconAgreement" title="协议签约" @click="goMineAgreementSign"></ListItem> --> | 
 |  |  |         <ListItem :icon="IconAgreement" title="协议签约" @click="goMineAgreementSign"></ListItem> | 
 |  |  |         <ListItem :icon="IconSetting" title="设置" @click="goSetting"></ListItem> | 
 |  |  |         <!-- <ListItem :icon="IconRecruit" title="我要招人/用人" @click="goSetting"></ListItem> --> | 
 |  |  |       </List> | 
 |  |  | 
 |  |  | 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(); | 
 |  |  | 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), | 
 |  |  | Taro.useDidShow(({ scene }) => { | 
 |  |  |   if (isLogin.value) { | 
 |  |  |     setTimeout(() => { | 
 |  |  |       updateUserInfo(); | 
 |  |  |     }, 300); | 
 |  |  |   } | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | function goLogin() { |