|  |  | 
 |  |  | <template> | 
 |  |  |   <PageLayout class="mine-page-wrapper" :need-auth="false"> | 
 |  |  |   <PageLayoutWithBg class="mine-page-wrapper" :need-auth="false"> | 
 |  |  |     <template #navigationBar> | 
 |  |  |       <TransparentNavigationBar | 
 |  |  |         title="个人中心" | 
 |  |  | 
 |  |  |       <img :src="OssAssets.mine.Bg" class="mine-page-bg" :style="{ height: `${bgHeight}px` }" /> | 
 |  |  |     </template> | 
 |  |  |     <ContentView> | 
 |  |  |       <UserHomeTopView :showUserHomePageBtn="false" :showOperation="isLogin"> | 
 |  |  |       <UserHomeTopView> | 
 |  |  |         <template #avatar> | 
 |  |  |           <div class="mine-avatar-wrapper" @click="goLogin"> | 
 |  |  |             <UserAvatar :size="60" class="mine-avatar" /> | 
 |  |  |             <div class="user-info" v-if="isLogin"> | 
 |  |  |               <div class="user-info-item">{{ userDetail?.userName ?? '' }}</div> | 
 |  |  |               <div class="user-info-item2" v-if="isCertified"> | 
 |  |  |                 {{ userDetail?.customerName ?? '' }} | 
 |  |  |               <div class="user-info-item"> | 
 |  |  |                 <div class="user-info-item-name">{{ userDetail?.name ?? '' }}</div> | 
 |  |  |               </div> | 
 |  |  |               <div class="user-info-unCertified" v-else @click.stop="goAuthentication"> | 
 |  |  |                 <img :src="IconUnCertified" class="user-info-unCertified-icon" /> | 
 |  |  |                 <div class="user-info-unCertified-text">未认证</div> | 
 |  |  |               <div class="user-info-item"> | 
 |  |  |                 <template v-if="isCertified"> | 
 |  |  |                   <div class="user-info-certified-text"> | 
 |  |  |                     {{ userDetail?.enterpriseName ?? '' }} | 
 |  |  |                   </div> | 
 |  |  |                   <div class="user-info-certified-btn">已认证</div> | 
 |  |  |                 </template> | 
 |  |  |                 <!-- <template v-else> | 
 |  |  |                   <div class="user-info-unCertified-text">未认证</div> | 
 |  |  |                   <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> | 
 |  |  |                     立即认证 | 
 |  |  |                   </div> | 
 |  |  |                 </template> --> | 
 |  |  |               </div> | 
 |  |  |             </div> | 
 |  |  |             <div class="mine-go-login" v-else>去登录</div> | 
 |  |  |           </div> | 
 |  |  |         </template> | 
 |  |  |         <div class="mine-business-card" v-if="isLogin"> | 
 |  |  |           <div class="mine-business-card-item" @click="goBusinessCard"> | 
 |  |  |             <img class="mine-business-card-item-icon" :src="IconBusinessCard" alt="" /> | 
 |  |  |             <div class="mine-business-card-item-text">我的电子名片</div> | 
 |  |  |           </div> | 
 |  |  |           <div class="mine-business-card-btn"> | 
 |  |  |             <nut-button type="info" @click="goBusinessCard">递名片</nut-button> | 
 |  |  |           </div> | 
 |  |  |         </div> | 
 |  |  |       </UserHomeTopView> | 
 |  |  |       <template v-if="isLogin"> | 
 |  |  |         <div class="mine-content-record"> | 
 |  |  |           <div class="mine-content-record-item" @click="goMineFavorites"> | 
 |  |  |             <img class="mine-content-record-item-icon" :src="IconCollect" alt="" /> | 
 |  |  |             <nut-badge top="0" right="0" :value="8" color="#FF7D00" hidden> | 
 |  |  |               <div class="mine-content-record-item-text">我的收藏</div> | 
 |  |  |             </nut-badge> | 
 |  |  |           </div> | 
 |  |  |           <div class="mine-content-record-item" @click="goMineContactRecord"> | 
 |  |  |             <img class="mine-content-record-item-icon" :src="IconRecord" alt="" /> | 
 |  |  |             <nut-badge top="0" right="0" :value="8" color="#FF7D00" hidden> | 
 |  |  |               <div class="mine-content-record-item-text">联系记录</div> | 
 |  |  |             </nut-badge> | 
 |  |  |           </div> | 
 |  |  |         </div> | 
 |  |  |         <Cell :title="'更多服务'" class="mine-content-service"> | 
 |  |  |           <div class="mine-content-service-list"> | 
 |  |  |             <TaskDetailWelfareItem | 
 |  |  |               :icon="IconFinance" | 
 |  |  |               text="财务管理" | 
 |  |  |               @click="goFinance" | 
 |  |  |             ></TaskDetailWelfareItem> | 
 |  |  |             <!-- <TaskDetailWelfareItem | 
 |  |  |               :icon="IconRealName" | 
 |  |  |               text="企业实名" | 
 |  |  |               @click.stop="goAuthentication" | 
 |  |  |             ></TaskDetailWelfareItem> --> | 
 |  |  |             <TaskDetailWelfareItem | 
 |  |  |               :icon="IconSetting" | 
 |  |  |               text="设置" | 
 |  |  |               @click="goSetting" | 
 |  |  |             ></TaskDetailWelfareItem> | 
 |  |  |           </div> | 
 |  |  |         </Cell> | 
 |  |  |         <nut-button type="info" class="mine-content-logout" @click="handleLoginout" | 
 |  |  |           >退出登录</nut-button | 
 |  |  |         > | 
 |  |  |       </template> | 
 |  |  |     </ContentView> | 
 |  |  |     <ContentScrollView v-if="isLogin" class="mine-content-scroll-view"> | 
 |  |  |       <div class="mine-id-menu-wrapper"> | 
 |  |  |         <img :src="IconLamp" class="mine-id-menu-icon" /> | 
 |  |  |       </div> | 
 |  |  |       <List class="mine-setting-list"> | 
 |  |  |         <ListItem :icon="IconSetting" title="设置" @click="goSetting"></ListItem> | 
 |  |  |       </List> | 
 |  |  |     </ContentScrollView> | 
 |  |  |   </PageLayout> | 
 |  |  |   </PageLayoutWithBg> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script setup lang="ts"> | 
 |  |  | import { | 
 |  |  |   PageLayout, | 
 |  |  |   TransparentNavigationBar, | 
 |  |  |   ContentScrollView, | 
 |  |  |   UserHomeTopView, | 
 |  |  | } from '@/components'; | 
 |  |  | import IconUnCertified from '@/assets/mine/icon-unCertified.png'; | 
 |  |  | import IconLamp from '@/assets/mine/icon-lamp.png'; | 
 |  |  | import IconMenuBusiness from '@/assets/mine/icon-menu-business.png'; | 
 |  |  | import IconMenuContact from '@/assets/mine/icon-menu-contact.png'; | 
 |  |  | import { PageLayoutWithBg, TransparentNavigationBar, UserHomeTopView } from '@/components'; | 
 |  |  | import IconBusinessCard from '@/assets/mine/icon-business-card.png'; | 
 |  |  | import IconCollect from '@/assets/mine/icon-collect.png'; | 
 |  |  | import IconRecord from '@/assets/mine/icon-record.png'; | 
 |  |  | import IconMale from '@/assets/mine/icon-male.png'; | 
 |  |  | import IconFemale from '@/assets/mine/icon-female.png'; | 
 |  |  | import IconFinance from '@/assets/mine/icon-finance.png'; | 
 |  |  | import IconRealName from '@/assets/mine/icon-realname.png'; | 
 |  |  | import IconSetting from '@/assets/mine/icon-setting.png'; | 
 |  |  | import IconMessage from '@/assets/mine/icon-message.png'; | 
 |  |  | import { useUser, useIsLogin, useGoLogin } from '@/hooks'; | 
 |  |  | import Taro from '@tarojs/taro'; | 
 |  |  | import { RouterPath, OssAssets } from '@/constants'; | 
 |  |  | import { List, ListItem } from '@12333/components'; | 
 |  |  | import { useSystemStore } from '@/stores/modules/system'; | 
 |  |  | import { Message } from '@12333/utils'; | 
 |  |  | import { useUserStore } from '@/stores/modules/user'; | 
 |  |  | import { useQueryClient } from '@tanstack/vue-query'; | 
 |  |  | import { TaskDetailWelfareItem } from '@12333/components'; | 
 |  |  | import { EnumUserGender } from '@12333/constants'; | 
 |  |  |  | 
 |  |  | const userStore = useUserStore(); | 
 |  |  | const queryClient = useQueryClient(); | 
 |  |  | const { userDetail, isCertified } = useUser(); | 
 |  |  | const isLogin = useIsLogin(); | 
 |  |  | const systemStore = useSystemStore(); | 
 |  |  | 
 |  |  | } | 
 |  |  |  | 
 |  |  | function goSetting() { | 
 |  |  |   // goPage(RouterPath.setting); | 
 |  |  |   goPage(RouterPath.setting); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | Taro.showShareMenu({ | 
 |  |  | 
 |  |  |  | 
 |  |  | Taro.useShareAppMessage((res) => { | 
 |  |  |   return { | 
 |  |  |     title: `${userDetail.value?.contacter}名片`, | 
 |  |  |     title: `${userDetail.value?.name}名片`, | 
 |  |  |     // path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`, | 
 |  |  |     imageUrl: userDetail.value?.avatarUrl, | 
 |  |  |     imageUrl: userDetail.value?.avatar, | 
 |  |  |   }; | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | function goAuthentication() { | 
 |  |  |   goPage(RouterPath.authenticationHome); | 
 |  |  | } | 
 |  |  | function goMineFavorites() { | 
 |  |  |   goPage(RouterPath.mineFavorites); | 
 |  |  | } | 
 |  |  | function goMineContactRecord() { | 
 |  |  |   goPage(RouterPath.mineContactRecord); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | function goBusinessCard() { | 
 |  |  |   goPage(RouterPath.businessCard); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | function goFinance() { | 
 |  |  |   goPage(RouterPath.mineFinanceManage); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | async function handleLoginout() { | 
 |  |  |   try { | 
 |  |  |     await Message.confirm({ | 
 |  |  |       message: '确定要退出登录吗?', | 
 |  |  |     }); | 
 |  |  |     userStore.logoutAndToHome(); | 
 |  |  |     queryClient.removeQueries({ | 
 |  |  |       predicate: (query) => !query.queryKey.includes('userResumeServices/getOpenUserResumes'), | 
 |  |  |     }); | 
 |  |  |   } catch (error) {} | 
 |  |  | } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style lang="scss"> |