站内消息支持三种类型,admin发送,mobile订阅
This commit is contained in:
@@ -132,6 +132,27 @@ export function setupMessageEvents({ socket , apiClient }:Variables) {
|
||||
|
||||
await apiClient.database.table('user_messages').insert(userMessages);
|
||||
|
||||
// 根据消息类型推送到不同频道
|
||||
const messageData = {
|
||||
id: messageId,
|
||||
title,
|
||||
content,
|
||||
type,
|
||||
sender_id: user.id,
|
||||
sender_name: user.username,
|
||||
created_at: new Date().toISOString()
|
||||
};
|
||||
|
||||
if (type === MessageType.SYSTEM) {
|
||||
socket.to('system').emit('message:received', messageData);
|
||||
} else if (type === MessageType.ANNOUNCE) {
|
||||
socket.to('announce').emit('message:received', messageData);
|
||||
} else if (type === MessageType.PRIVATE) {
|
||||
receiver_ids.forEach(userId => {
|
||||
socket.to(`user_${userId}`).emit('message:received', messageData);
|
||||
});
|
||||
}
|
||||
|
||||
socket.emit('message:sent', {
|
||||
message: '消息发送成功',
|
||||
data: { id: messageId }
|
||||
|
||||
Reference in New Issue
Block a user