wupengfei
2025-02-14 b61e0dd54ca5adf96bea4fd1f92d498fe5245ff4
apps/bMiniApp/src/pages/mine/index.vue
@@ -52,39 +52,61 @@
          </div>
        </div> -->
      </UserHomeTopView>
      <div class="mine-content-record">
        <div class="mine-content-record-item">
          <img class="mine-content-record-item-icon" :src="IconCollect" alt="" />
          <div class="mine-content-record-item-text">我的收藏</div>
      <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">
              <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">
              <div class="mine-content-record-item-text">联系记录</div>
            </nut-badge>
          </div>
        </div>
        <div class="mine-content-record-item">
          <img class="mine-content-record-item-icon" :src="IconCollect" alt="" />
          <div class="mine-content-record-item-text">联系记录</div>
        </div>
      </div>
      <div class="mine-content"></div>
        <Cell :title="'更多服务'" class="mine-content-service">
          <div class="mine-content-service-list">
            <TaskDetailWelfareItem :icon="IconFinance" text="财务管理"></TaskDetailWelfareItem>
            <TaskDetailWelfareItem :icon="IconRealName" text="企业实名"></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"> </ContentScrollView>
  </PageLayoutWithBg>
</template>
<script setup lang="ts">
import {
  PageLayoutWithBg,
  TransparentNavigationBar,
  ContentScrollView,
  UserHomeTopView,
} from '@/components';
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 { useUser, useIsLogin, useGoLogin } from '@/hooks';
import Taro from '@tarojs/taro';
import { RouterPath, OssAssets } from '@/constants';
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';
const userStore = useUserStore();
const queryClient = useQueryClient();
const { userDetail, isCertified } = useUser();
const isLogin = useIsLogin();
const systemStore = useSystemStore();
@@ -105,7 +127,7 @@
}
function goSetting() {
  // goPage(RouterPath.setting);
  goPage(RouterPath.setting);
}
Taro.showShareMenu({
@@ -123,6 +145,22 @@
function goAuthentication() {
  goPage(RouterPath.authenticationHome);
}
function goMineFavorites() {
  goPage(RouterPath.mineFavorites);
}
function goMineContactRecord() {
  goPage(RouterPath.mineContactRecord);
}
async function handleLoginout() {
  try {
    await Message.confirm({
      message: '确定要退出登录吗?',
    });
    userStore.logoutAndToHome();
    queryClient.removeQueries();
  } catch (error) {}
}
</script>
<style lang="scss">