| | |
| | | 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'; |
| | | |
| | |
| | | // |
| | | |
| | | const { currentUser } = initialState || {}; |
| | | console.log('currentUser currentUser currentUser currentUser',currentUser) |
| | | return <span className="anticon">{currentUser?.userName || '超级管理员'}</span>; |
| | | }; |
| | | |
| | |
| | | |
| | | 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 })); |
| | | }); |
| | |
| | | } |
| | | |
| | | 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> |
| | | }; |