import { defineComponent, ref, onMounted, onBeforeMount, nextTick } from 'vue'; import styles from './index.module.less'; import { NImage, NBadge, NPopover, NIcon, NModal, NTooltip } from 'naive-ui'; import schoolIcon from './images/schoolIcon.png'; import teacherIcon from './images/teacherIcon.png'; import messageIcon from './images/messageIcon.png'; import closeIcon from './images/closeIcon.png'; import clockIcon from './images/clockIcon.png'; import schoolDot from './images/schoolDot.png'; import personIcon from './images/personIcon.png'; import { useUserStore } from '@/store/modules/users'; import { useRouter } from 'vue-router'; import { storeToRefs } from 'pinia'; import opinionIcon from './images/opinionIcon.png'; import 'animate.css'; import ForgotPassword from '/src/views/setting/modal/forgotPassword'; import ImGroup from './imGroup'; import SuggestionOption from './modals/suggestion-option'; export default defineComponent({ name: 'layoutTop', setup() { const router = useRouter(); const noReadCount = ref(0); // 未读数 const showHeadFlag = ref(false); const showImGroup = ref(false); const showImGroupLoading = ref(true); const showSuggestionViseble = ref(false); const users = useUserStore(); const showWord = ref(false); const { info } = storeToRefs(users); const gotoPerson = () => { router.push({ path: '/setting', query: { activeTab: 'person' } }); }; const gotoSchool = () => { router.push({ path: '/setting', query: { activeTab: 'school' } }); }; const resetPwd = () => { showWord.value = true; }; const body = document.querySelector('body'); if (body) { body.className = 'myBody body'; } onMounted(() => { window.addEventListener('message', onImMessage); showImGroup.value = true; nextTick(() => { setTimeout(() => { showImGroup.value = false; }, 50); setTimeout(() => { showImGroupLoading.value = false; if (body) { body.className = 'myBody'; } }, 1000); }); }); const onImMessage = (evt: MessageEvent) => { if (evt.data.api === 'onImClose') { showImGroup.value = false; } else if (evt.data.api === 'getNoReadMessageCount') { console.log(evt, 'onMessage'); noReadCount.value = evt.data.count || 0; } }; onBeforeMount(() => { window.removeEventListener('message', onImMessage); }); return () => ( <>
{/* {info.value.schoolInfos[0].tenantName} |{' '} */} {info.value?.schoolInfos[0]?.name || ''}
{info.value.nickname}
), default: () => info.value.nickname }}个人信息
学校信息
修改密码
退出登录