wupengfei
5 天以前 10089fbb4958ff4780c33bf2e51ec6f04024e2b6
apps/cMiniApp/src/pages/mine/index.vue
@@ -16,7 +16,7 @@
          <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">{{ userDetail?.userName ?? '' }}</div>
              <div class="user-info-item">{{ detail?.name ?? '' }}</div>
              <!-- <div class="user-info-auth">
                <div class="user-info-auth-item">
                  <div class="user-info-unCertified" v-if="isCertified">
@@ -64,15 +64,30 @@
          <img :src="IconArrow" class="mine-order-list-title-icon" />
        </div>
        <div class="mine-order-list-content">
          <nut-badge class="mine-order-list-item" top="8" :value="8" @click="goMineSign">
          <nut-badge
            class="mine-order-list-item"
            top="8"
            :value="detail?.taskCount ?? 0"
            @click="goMineSign"
          >
            <img :src="IconOrderSign" class="mine-order-list-icon" />
            <div class="mine-order-list-text">我的报名</div>
          </nut-badge>
          <nut-badge class="mine-order-list-item" top="8" :value="8" @click="goMineHire">
          <nut-badge
            class="mine-order-list-item"
            top="8"
            :value="detail?.hirePassTaskCount ?? 0"
            @click="goMineHire"
          >
            <img :src="IconOrderHire" class="mine-order-list-icon" />
            <div class="mine-order-list-text">已录用</div>
          </nut-badge>
          <nut-badge class="mine-order-list-item" top="8" :value="8" @click="goMineCancel">
          <nut-badge
            class="mine-order-list-item"
            top="8"
            :value="detail?.hireRefuseTaskCount ?? 0"
            @click="goMineCancel"
          >
            <img :src="IconOrderCancel" class="mine-order-list-icon" />
            <div class="mine-order-list-text">已取消</div>
          </nut-badge>
@@ -106,6 +121,8 @@
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 isLogin = useIsLogin();
@@ -114,6 +131,24 @@
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),
});
function goLogin() {
  if (!isLogin.value) {
    goLoginFn();