wujingjing
2025-01-10 cb8d6096461752e321dda968d39999f3c2f81183
src/layout/component/header/Header.vue
@@ -1,29 +1,15 @@
<template>
   <div class="top_text flex justify-between px-6 items-center">
   <div class="top_text flex justify-between px-6 items-center" :class="sidebarIsShow ? 'px-6' : 'pl-[unset] pr-6'">
      <div class="flex-items-center">
         <div
            class="flex-items-center space-x-3 mr-4 pr-4 border border-solid border-r-1 border-l-0 border-y-0 border-gray-300"
            v-if="!sidebarIsShow"
         >
            <el-tooltip content="展开侧栏" placement="right" effect="dark">
               <span
                  class="ywifont ywicon-cebianlan text-gray-700 active:text-gray-800 !text-[20px] cursor-pointer"
                  @click="emit('toggleSidebar', true)"
               ></span>
            </el-tooltip>
            <!-- <div
               class="flex-items-center rounded-full border border-solid px-2 py-1 space-x-1 cursor-pointer border-blue-400 text-blue-500 hover:bg-blue-500 hover:text-white"
               @click="newChatClick"
            >
               <span class="ywifont ywicon-jia"></span>
               <span>新对话</span>
            </div> -->
         </div>
         ></div>
         <div v-if="routerMeta.showTitle" class="font-bold flex items-center">
            <span class="flex-center cursor-pointer" v-if="routerMeta.showBack" @click="goBack">
               <SvgIcon name="ele-ArrowLeft" />
            </span>
            <span class="text-sm">
            <span class="">
               {{ routerMeta.title }}
            </span>
         </div>
@@ -72,12 +58,14 @@
<script setup lang="ts">
import { onClickOutside } from '@vueuse/core';
import { computed, onMounted, onUnmounted, reactive, ref, triggerRef } from 'vue';
import { computed, onMounted, onUnmounted, reactive, ref } from 'vue';
import { systemNotifyList } from '/@/api/ai/chat';
import router from '/@/router';
import { isSharePage, newChatRoomClick } from '/@/stores/chatRoom';
import emitter from '/@/utils/mitt';
const emit = defineEmits(['toggleSidebar']);
import { storeToRefs } from 'pinia';
import pinia from '/@/stores';
import { useThemeConfig } from '/@/stores/themeConfig';
const props = defineProps(['sidebarIsShow']);
let state = reactive({
   isShowAnnouncement: false,
@@ -95,10 +83,15 @@
   state.announcementList = res.messages?.sort(sortData).slice(0, 5) ?? [];
};
const routerMeta = computed(() => router.currentRoute.value.meta);
const stores = useThemeConfig(pinia);
const { themeConfig } = storeToRefs(stores);
const globalTitle = computed(() => themeConfig.value.globalTitle);
const setHeaderTitle = (title: string) => {
   routerMeta.value.title = title;
   triggerRef(routerMeta);
   // routerMeta.value.title = title;
   // triggerRef(routerMeta);
   document.title = `${title} - ${globalTitle.value}`;
};
const handleAnnouncementClick = () => {