mirror of https://github.com/msgbyte/tailchat
fix: 修复不支持Notification的浏览器会直接抛出异常的bug
parent
cd4844dbef
commit
7bf81152f5
@ -0,0 +1,38 @@
|
||||
import {
|
||||
regSocketEventListener,
|
||||
getGlobalState,
|
||||
getCachedUserInfo,
|
||||
} from '@capital/common';
|
||||
|
||||
export function initNotify() {
|
||||
if (Notification.permission === 'default') {
|
||||
Notification.requestPermission();
|
||||
}
|
||||
|
||||
regSocketEventListener({
|
||||
eventName: 'chat.message.add',
|
||||
eventFn: (message) => {
|
||||
const currentUserId = getGlobalState()?.user.info._id;
|
||||
if (currentUserId !== message.author) {
|
||||
// 创建通知
|
||||
|
||||
// TODO: 需要增加所在群组
|
||||
if (Notification.permission === 'granted') {
|
||||
Promise.all([getCachedUserInfo(currentUserId)]).then(([userInfo]) => {
|
||||
console.log(userInfo, message);
|
||||
const nickname = userInfo?.nickname ?? '';
|
||||
const icon = userInfo?.avatar ?? undefined;
|
||||
const content = message.content;
|
||||
|
||||
new Notification(`来自 ${nickname}`, {
|
||||
body: content,
|
||||
icon,
|
||||
tag: 'tailchat-message',
|
||||
renotify: true,
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue