forked from Gitlink/forgeplus-react
修改小铃铛
This commit is contained in:
parent
49fad4b8bc
commit
06314a51a6
|
@ -22,7 +22,6 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
|
||||||
const [atUnreadCount, setAtUnreadCount] = useState();//未读@我数量
|
const [atUnreadCount, setAtUnreadCount] = useState();//未读@我数量
|
||||||
const [atPage, setAtPage] = useState(0);
|
const [atPage, setAtPage] = useState(0);
|
||||||
const [atUnreadList, setAtUnreadList] = useState([]);//未读@我列表
|
const [atUnreadList, setAtUnreadList] = useState([]);//未读@我列表
|
||||||
const [reload, setReload] = useState(0);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const params = {
|
const params = {
|
||||||
|
@ -45,7 +44,7 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
|
||||||
params.type = "atme"
|
params.type = "atme"
|
||||||
}
|
}
|
||||||
visible && getMessageList(params);
|
visible && getMessageList(params);
|
||||||
}, [reload, visible]);
|
}, [visible]);
|
||||||
|
|
||||||
|
|
||||||
function getMessageList(params) {
|
function getMessageList(params) {
|
||||||
|
@ -87,14 +86,33 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
|
||||||
let data = response.data;
|
let data = response.data;
|
||||||
if (!data) return;
|
if (!data) return;
|
||||||
if (data.status === 0) {
|
if (data.status === 0) {
|
||||||
setReload(Math.random());
|
|
||||||
resetUserInfo();
|
resetUserInfo();
|
||||||
|
changeReadMarkAll(noticeType);
|
||||||
} else {
|
} else {
|
||||||
showNotification(data.message);
|
showNotification(data.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function changeReadMarkAll(noticeType) {
|
||||||
|
if (noticeType === "notification") {
|
||||||
|
let list = noticeUnreadList.slice();
|
||||||
|
list.forEach(item => {
|
||||||
|
item.status = 2;
|
||||||
|
})
|
||||||
|
setNoticeUnreadList(list);
|
||||||
|
setNoticeUnreadCount(0);
|
||||||
|
} else if (noticeType === "atme") {
|
||||||
|
let list = atUnreadList.slice();
|
||||||
|
list.forEach(item => {
|
||||||
|
item.status = 2;
|
||||||
|
})
|
||||||
|
setAtUnreadList(list);
|
||||||
|
setAtUnreadCount(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// const [letter_unread_list, setLetter_unread_list] = useState([
|
// const [letter_unread_list, setLetter_unread_list] = useState([
|
||||||
// {
|
// {
|
||||||
// id: 122,
|
// id: 122,
|
||||||
|
@ -123,6 +141,7 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function changeReadMark(item) {
|
function changeReadMark(item) {
|
||||||
if (item.type === "notification") {
|
if (item.type === "notification") {
|
||||||
let list = noticeUnreadList.slice();
|
let list = noticeUnreadList.slice();
|
||||||
|
@ -169,7 +188,7 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
|
||||||
<span style={{ visibility: item.status === 1 ? 'visible' : 'hidden' }}>
|
<span style={{ visibility: item.status === 1 ? 'visible' : 'hidden' }}>
|
||||||
<Badge color="#FA2020" />
|
<Badge color="#FA2020" />
|
||||||
</span>
|
</span>
|
||||||
<i className={"iconfont "+noticeSourceType[item.source]}></i>
|
<i className={"iconfont " + noticeSourceType[item.source]}></i>
|
||||||
<div className="noticeCont-text">
|
<div className="noticeCont-text">
|
||||||
<span className="content-span notice-cont-span" dangerouslySetInnerHTML={{ __html: item.content }}></span>
|
<span className="content-span notice-cont-span" dangerouslySetInnerHTML={{ __html: item.content }}></span>
|
||||||
<span className="timeSpan">{item.time_ago}</span>
|
<span className="timeSpan">{item.time_ago}</span>
|
||||||
|
@ -198,7 +217,7 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
|
||||||
<Badge color="#FA2020" />
|
<Badge color="#FA2020" />
|
||||||
</span>
|
</span>
|
||||||
<div className="noticeCont-text">
|
<div className="noticeCont-text">
|
||||||
<span className="content-span atme-cont-span" dangerouslySetInnerHTML={{ __html: "<b>" + item.sender.name +"</b> " + item.content +" 中@我"}}></span>
|
<span className="content-span atme-cont-span" dangerouslySetInnerHTML={{ __html: "<b>" + (item.sender ? item.sender.name : '') + "</b> " + item.content + " 中@我" }}></span>
|
||||||
<span className="timeSpan">{item.time_ago}</span>
|
<span className="timeSpan">{item.time_ago}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -226,7 +245,8 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
|
||||||
}) : "暂无数据" : ""} */}
|
}) : "暂无数据" : ""} */}
|
||||||
<div className="hoverNotice-buttom">
|
<div className="hoverNotice-buttom">
|
||||||
<Link to="/settings/notice">全部消息</Link>
|
<Link to="/settings/notice">全部消息</Link>
|
||||||
<a onClick={readAll}>所有{noticeType === "notification" ? "系统消息" : noticeType === "letter" ? "私信" : "@我"}一键已读</a>
|
{noticeUnreadCount > 0 && noticeType === "notification" && <a onClick={readAll}>所有系统消息一键已读</a>}
|
||||||
|
{atUnreadCount > 0 && noticeType === "atme" && <a onClick={readAll}>所有"@我"一键已读</a>}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue