| | |
| | | <template> |
| | | <PageLayoutWithBg class="mine-page-wrapper" title="我的" :need-auth="false"> |
| | | <PageLayoutWithBg class="mine-page-wrapper" :need-auth="false"> |
| | | <template #navigationBar> |
| | | <TransparentNavigationBar |
| | | title="个人中心" |
| | | :is-absolute="false" |
| | | mode="dark" |
| | | ></TransparentNavigationBar> |
| | | <TransparentNavigationBar :title="'个人中心'" :is-absolute="false"> |
| | | </TransparentNavigationBar> |
| | | </template> |
| | | <template #bg> |
| | | <img :src="OssAssets.mine.Bg" class="mine-page-bg" :style="{ height: `${bgHeight}px` }" /> |
| | | <img :src="OssAssets.common.MinePageBg" class="mine-page-bg" /> |
| | | </template> |
| | | <div class="mine-page-top-view" @click="goLogin"> |
| | | <img class="mine-avatar" :src="DefaultAvatar" alt="" /> |
| | | <div class="user-info"> |
| | | <div class="user-info-name" v-if="isLogin">{{ hiddenPhoneNumber(virtualPhoneNumber) }}</div> |
| | | <div class="user-info-name" v-if="isLogin"> |
| | | {{ hiddenPhoneNumber(virtualPhoneNumber) }} |
| | | </div> |
| | | <div class="mine-go-login" v-else>登录</div> |
| | | </div> |
| | | </div> |
| | | <ContentScrollView> |
| | | <ContentScrollView style="background-color: transparent"> |
| | | <List class="mine-list-wrapper"> |
| | | <ListItem title="订单管理" @click="goOrderManage"></ListItem> |
| | | <ListItem title="户号管理" @click="goUserAccountList"></ListItem> |
| | | <ListItem v-if="isLogin" title="退出登录" @click="goLogout"></ListItem> |
| | | <ListItemV2 :icon="IconMineOrder" title="订单管理" @click="goOrderManage"></ListItemV2> |
| | | <ListItemV2 :icon="IconMineUserId" title="户号管理" @click="goUserAccountList"></ListItemV2> |
| | | <template v-if="isChannelAccount"> |
| | | <ListItemV2 :icon="IconMineDataBoard" title="数据看板" @click="goDashboard"></ListItemV2> |
| | | <ListItemV2 |
| | | :icon="IconMinePromotion" |
| | | title="渠道二维码" |
| | | @click="goShareQrcode" |
| | | ></ListItemV2> |
| | | <ListItemV2 |
| | | :icon="IconMinePromotion" |
| | | title="推广二维码" |
| | | @click="goPromotionQrcode" |
| | | ></ListItemV2> |
| | | </template> |
| | | <ListItemV2 |
| | | :icon="IconMineCustomerService" |
| | | v-if="isWeb && !isInAlipay" |
| | | title="在线客服" |
| | | @click="handleChat" |
| | | ></ListItemV2> |
| | | <ListItemV2 |
| | | v-if="isLogin" |
| | | title="退出登录" |
| | | @click="goLogout" |
| | | :icon="IconMineExist" |
| | | ></ListItemV2> |
| | | </List> |
| | | </ContentScrollView> |
| | | </PageLayoutWithBg> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { TransparentNavigationBar, List, ListItem } from '@/components'; |
| | | import { useUser, useIsLogin, useGoLogin, useAccessLogin } from '@/hooks'; |
| | | import { TransparentNavigationBar, List, ListItemV2 } from '@/components'; |
| | | import { useUser, useIsLogin, useGoLogin, useAccessLogin, useOnlineService } from '@/hooks'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { RouterPath, OssAssets } from '@/constants'; |
| | | import DefaultAvatar from '@/assets/components/icon-default-avatar.png'; |
| | | import IconMineOrder from '@/assets/mine/icon-mine-order.png'; |
| | | import IconMineUserId from '@/assets/mine/icon-mine-userId.png'; |
| | | import IconMineDataBoard from '@/assets/mine/icon-mine-data-board.png'; |
| | | import IconMinePromotion from '@/assets/mine/icon-mine-promotion.png'; |
| | | import IconMineCustomerService from '@/assets/mine/icon-mine-customer-service.png'; |
| | | import IconMineExist from '@/assets/mine/icon-mine-exist.png'; |
| | | import { useSystemStore } from '@/stores/modules/system'; |
| | | import PageLayoutWithBg from '@/components/Layout/PageLayoutWithBg.vue'; |
| | | import { useUserStore } from '@/stores/modules/user'; |
| | | import { Message } from '@/utils'; |
| | | import { isWeb, isInAlipay } from '@/utils/env'; |
| | | import { useLifeRechargeContext } from '@life-payment/core-vue'; |
| | | import { hiddenPhoneNumber } from '@life-payment/utils'; |
| | | |
| | | const { userDetail, virtualPhoneNumber } = useUser(); |
| | | const { userDetail, virtualPhoneNumber, isChannelAccount } = useUser(); |
| | | |
| | | const isLogin = useIsLogin(); |
| | | const systemStore = useSystemStore(); |
| | | const userStore = useUserStore(); |
| | |
| | | } |
| | | |
| | | function goPage(routeName: string) { |
| | | Taro.navigateTo({ |
| | | RouteHelper.navigateTo({ |
| | | url: routeName, |
| | | }); |
| | | } |
| | |
| | | // Taro.showShareMenu({ |
| | | // showShareItems: ['shareAppMessage'], |
| | | // }); |
| | | Taro.useShareAppMessage((res) => { |
| | | return { |
| | | title: `${userDetail.value?.contacter}名片`, |
| | | // path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`, |
| | | imageUrl: userDetail.value?.avatarUrl, |
| | | }; |
| | | }); |
| | | // Taro.useShareAppMessage((res) => { |
| | | // return { |
| | | // title: `${userDetail.value?.contacter}名片`, |
| | | // // path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`, |
| | | // imageUrl: userDetail.value?.avatarUrl, |
| | | // }; |
| | | // }); |
| | | |
| | | const goOrderManage = useAccessLogin(() => goPage(RouterPath.order)); |
| | | const goUserAccountList = useAccessLogin(() => goPage(RouterPath.userAccountList)); |
| | | const goShareQrcode = useAccessLogin(() => goPage(RouterPath.shareQrcode)); |
| | | const goPromotionQrcode = useAccessLogin(() => goPage(RouterPath.promotionQrcode)); |
| | | const goDashboard = useAccessLogin(() => goPage(RouterPath.dashboard)); |
| | | |
| | | async function goLogout() { |
| | | try { |
| | |
| | | blLifeRecharge.loginout(); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { onlineServiceLink } = useOnlineService(); |
| | | |
| | | function handleChat() { |
| | | if (isWeb && onlineServiceLink.value) { |
| | | if (isInAlipay) { |
| | | Message.warning('请在微信中打开使用该功能'); |
| | | } else { |
| | | window.open(onlineServiceLink.value, '_blank'); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |