| | |
| | | <script lang="ts" setup> |
| | | import { Dropdown, Menu } from 'ant-design-vue'; |
| | | import type { MenuInfo } from 'ant-design-vue/lib/menu/src/interface'; |
| | | import { computed } from 'vue'; |
| | | import { computed, ref } from 'vue'; |
| | | import { DOC_URL } from '@/settings/siteSetting'; |
| | | import { useUserStore } from '@/store/modules/user'; |
| | | import { useHeaderSetting } from '@/hooks/setting/useHeaderSetting'; |
| | |
| | | import { propTypes } from '@/utils/propTypes'; |
| | | import { openWindow } from '@/utils'; |
| | | import { createAsyncComponent } from '@/utils/factory/createAsyncComponent'; |
| | | import { useGlobSetting } from '/@/hooks/setting'; |
| | | |
| | | type MenuEvent = 'logout' | 'doc' | 'lock' | 'api'; |
| | | |
| | |
| | | const { t } = useI18n(); |
| | | const { getShowDoc, getUseLockPage, getShowApi } = useHeaderSetting(); |
| | | const userStore = useUserStore(); |
| | | const { systemType, downloadUrl } = useGlobSetting(); |
| | | |
| | | const getUserInfo = computed(() => { |
| | | const { realName = '', avatar, desc } = userStore.getUserInfo || {}; |
| | | return { realName, avatar: avatar || headerImg, desc }; |
| | | return { realName, avatar: avatar || `${downloadUrl}\\${systemType}-header.jpg`, desc }; |
| | | }); |
| | | |
| | | const [register, { openModal }] = useModal(); |