// 公告帮助工具类 // 用于登录后自动显示公告弹窗 export function initNoticePopupAfterLogin() { // 监听路由变化,在登录成功后显示公告 const token = localStorage.getItem('Admin-Token') || sessionStorage.getItem('Admin-Token') if (!token) return // 检查是否已经显示过公告 if (sessionStorage.getItem('notice_popup_shown')) return // 延迟执行,确保页面完全加载 setTimeout(() => { try { // 查找公告弹窗组件并触发显示 const noticeElements = document.querySelectorAll('[class*="notice-popup"]') if (noticeElements.length > 0) { // 触发点击事件或查找内部方法 const event = new CustomEvent('trigger-notice-popup', { detail: { autoShow: true } }) window.dispatchEvent(event) sessionStorage.setItem('notice_popup_shown', 'true') } } catch (error) { console.error('自动显示公告弹窗失败:', error) } }, 2000) } // 重置公告弹窗显示状态(用于测试) export function resetNoticePopupState() { sessionStorage.removeItem('notice_popup_shown') } // 手动触发公告弹窗 export function triggerNoticePopup() { const event = new CustomEvent('trigger-notice-popup', { detail: { autoShow: false } }) window.dispatchEvent(event) }