|
@@ -90,14 +90,14 @@ export const setMessageHook = (message, wsStore) => {
|
|
|
|
|
|
// 语音和视频挂断/拒接消息处理
|
|
|
if (Constant.MSG_AUDIO_GROUP.includes(message.contentType)) {
|
|
|
- let sender = wsStore.toUserInfo.sender || {
|
|
|
+ let sender = wsStore.toUserAudioInfo.sender || {
|
|
|
uuid: walletStore.account,
|
|
|
nickname: walletStore.username,
|
|
|
avatar: walletStore.avatar,
|
|
|
}
|
|
|
wsStore.pushMessage({
|
|
|
...message,
|
|
|
- align: sender.uuid != wsStore.toUserInfo.uuid ? 'right' : 'left',
|
|
|
+ align: sender.uuid == message.from ? 'right' : 'left',
|
|
|
fromAvatar: message.avatar,
|
|
|
toUuid: message.to,
|
|
|
fromUuid: message.from,
|
|
@@ -107,16 +107,18 @@ export const setMessageHook = (message, wsStore) => {
|
|
|
}
|
|
|
// 文本消息
|
|
|
if (message.contentType == MsgType.MSG_TYPE.TEXT) {
|
|
|
+ msg.isTemp=false;
|
|
|
wsStore.pushMessage(formatMessageExt({
|
|
|
...message,
|
|
|
align: 'right',
|
|
|
fromAvatar: message.avatar,
|
|
|
toUuid:message.to,
|
|
|
- fromUuid:message.from
|
|
|
+ fromUuid:message.from,
|
|
|
}, msg), message.to);
|
|
|
}
|
|
|
// 音频消息
|
|
|
if (message.contentType === MsgType.MSG_TYPE.AUDIO) {
|
|
|
+ msg.isTemp = false;
|
|
|
const blob = new Blob([message.file], { type: message.fileSuffix });
|
|
|
const url = URL.createObjectURL(blob);
|
|
|
wsStore.pushMessage(formatMessageExt({
|
|
@@ -192,7 +194,7 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
// 处理消息回执, 更新消息id
|
|
|
if (message.messageType === MsgType.MESSAGE_RECEIPT) {
|
|
|
// 检测是否在群内或是好友
|
|
|
- wsStore.modifyMessageId(message, msg)
|
|
|
+ wsStore.modifyMessageId(message, { id: msg.id, uniqueId: msg.uniqueId, msgId: msg.msgId }, message.from)
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -202,7 +204,7 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
wsStore.systemReceiptMessage(message, msg)
|
|
|
// 更新消息
|
|
|
if (msg && msg.isTemp) {
|
|
|
- wsStore.modifyMessageId({isTemp: true}, msg)
|
|
|
+ wsStore.modifyMessageId({isTemp: true}, msg,message.from)
|
|
|
} else {
|
|
|
wsStore.deleteMessage(message, msg.id);
|
|
|
}
|
|
@@ -277,7 +279,7 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
if (Constant.MSG_AUDIO_GROUP.includes(message.contentType)) {
|
|
|
// 消息送达回执发送
|
|
|
wsStore.systemReceiptMessage(message, msg)
|
|
|
- let sender = wsStore.toUserInfo.sender || {
|
|
|
+ let sender = wsStore.toUserAudioInfo.sender || {
|
|
|
uuid: walletStore.account,
|
|
|
nickname: walletStore.username,
|
|
|
avatar: walletStore.avatar,
|
|
@@ -285,9 +287,9 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
// 语音消息
|
|
|
wsStore.pushMessage({
|
|
|
...message,
|
|
|
- align: sender.uuid != wsStore.toUserInfo.uuid?'right':'left',
|
|
|
- toUuid: wsStore.toUserInfo.type == 'user' ? message.to : message.from,
|
|
|
- fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : message.to,
|
|
|
+ align: sender.uuid != message.from?'right':'left',
|
|
|
+ toUuid: wsStore.toUserAudioInfo.type == 'user' ? message.to : message.from,
|
|
|
+ fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : msg.fromUuid,
|
|
|
// fromUuids: msg?.fromUuid,
|
|
|
content: message.contentType === Constant.REJECT_AUDIO_ONLINE || message.contentType === Constant.REJECT_VIDEO_ONLINE ? '[对方拒绝]' : '[通话结束]',
|
|
|
sender,
|
|
@@ -302,7 +304,7 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
wsStore.pushMessage(formatMessageExt({
|
|
|
...message,
|
|
|
toUuid: wsStore.toUserInfo.type == 'user' ? message.to : message.from,
|
|
|
- fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : message.to,
|
|
|
+ fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : msg.fromUuid,
|
|
|
// fromUuids: msg?.fromUuid,
|
|
|
align: 'left',
|
|
|
fromAvatar: message.avatar,
|
|
@@ -323,7 +325,7 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
...message,
|
|
|
file: audioUrl,
|
|
|
toUuid: wsStore.toUserInfo.type == 'user' ? message.to : message.from,
|
|
|
- fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : message.to,
|
|
|
+ fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : msg.fromUuid,
|
|
|
// fromUuids: msg?.fromUuid,
|
|
|
align: 'left',
|
|
|
fromAvatar: message.avatar,
|
|
@@ -341,7 +343,7 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
...message,
|
|
|
file: url,
|
|
|
toUuid: wsStore.toUserInfo.type == 'user' ? message.to : message.from,
|
|
|
- fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : message.to,
|
|
|
+ fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : msg.fromUuid,
|
|
|
// fromUuids: msg?.fromUuid,
|
|
|
align: 'left',
|
|
|
fromAvatar: message.avatar,
|
|
@@ -359,7 +361,7 @@ export const handleMessageHook = async (payload, wsStore) => {
|
|
|
...message,
|
|
|
file: url,
|
|
|
toUuid: wsStore.toUserInfo.type == 'user' ? message.to : message.from,
|
|
|
- fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : message.to,
|
|
|
+ fromUuid: wsStore.toUserInfo.type == 'user' ? message.from : msg.fromUuid,
|
|
|
// fromUuids: msg?.fromUuid,
|
|
|
align: 'left',
|
|
|
fromAvatar: message.avatar,
|