From d0f4c2d4bb7a72b32fb9945de8908e1d4ab6509c Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期五, 06 六月 2025 14:13:58 +0800 Subject: [PATCH] 提交 --- management/src/components/RightContent/AvatarDropdown.tsx | 31 +++++++++++++++++++++++++------ 1 files changed, 25 insertions(+), 6 deletions(-) diff --git a/management/src/components/RightContent/AvatarDropdown.tsx b/management/src/components/RightContent/AvatarDropdown.tsx index 2d09633..5992bda 100644 --- a/management/src/components/RightContent/AvatarDropdown.tsx +++ b/management/src/components/RightContent/AvatarDropdown.tsx @@ -1,7 +1,8 @@ -import { outLogin } from './service'; +import { outLogin, getUnreadCount } from './service'; import { LogoutOutlined } from '@ant-design/icons'; import { useModel } from '@umijs/max'; -import React from 'react'; +import React, { useEffect, useState } from 'react'; +import { Access, history, useAccess } from 'umi'; import { flushSync } from 'react-dom'; import './style.less'; @@ -15,6 +16,7 @@ // const { currentUser } = initialState || {}; + console.log('currentUser currentUser currentUser currentUser',currentUser) return <span className="anticon">{currentUser?.userName || '超级管理员'}</span>; }; @@ -22,10 +24,23 @@ const { initialState, setInitialState } = useModel('@@initialState'); + const [unreadCount, setUnreadCount] = useState(0); + const { currentUser } = initialState || {}; + useEffect(() => { + // const timer = setInterval(() => { + // getUnreadCount().then((res: any) => { + // setUnreadCount(res.data || 0); + // }); + // }, 1000 * 5) + + // return () => clearInterval(timer); + }, []); + const onMenuClick = async () => { await outLogin(); localStorage.clear(); + history.push('/login'); flushSync(() => { setInitialState((s) => ({ ...s, currentUser: undefined })); }); @@ -33,10 +48,14 @@ } return <div style={{ display: 'flex', alignItems: 'center', color: '#000' }}> - <div className='unread' > - <div>未读提醒</div> - <div style={{ border: '1px solid red', borderRadius: '50%', width: '18px', lineHeight: '18px', marginLeft: '5px', textAlign: 'center', color: 'red' }}>1</div> - </div> + { + unreadCount > 0 && + <div className='unread' onClick={() => { history.push('/message-notification/list') }}> + <div>未读提醒</div> + <div style={{ border: '1px solid red', borderRadius: '50%', width: '18px', lineHeight: '16px', marginLeft: '5px', textAlign: 'center', color: 'red', flexShrink: 0 }}>{unreadCount}</div> + </div> + } + <div style={{ marginRight: '25px' }} >{currentUser?.userName || '超级管理员'}</div> <div className="logoOut" onClick={onMenuClick}>退出登录<LogoutOutlined style={{ marginLeft: '5px' }} /></div> </div> }; -- Gitblit v1.7.1