提交 eea6f5d9 编写于 作者: DCloud_JSON's avatar DCloud_JSON

修复 用户自己给自己发消息,创建两条会话记录的问题

上级 7ae1ce1d
......@@ -459,11 +459,6 @@ async function _createOrUpdateConversation(conversation_id, msgData, chat_source
}
const clientInfo = this.getClientInfo()
if( conversation_grade === 300 && msgData.to_uid && clientInfo.source != 'function' && this.current_uid != 'system'){
// console.error('createOrUpdateConversation conversation_grade 300~~~~~',clientInfo.appVersionCode);
// TODO:用于向下兼容
if (clientInfo.appVersionCode < 24042501) {
throw new Error('你的客户端版本过旧,不能发起新会话。请刷新后重试')
}
// 仅限:系统管理员参与的 或 群成员向群管理员 发起私聊
let check = false
// 消息发送者是系统管理员
......@@ -547,22 +542,26 @@ async function _createOrUpdateConversation(conversation_id, msgData, chat_source
let {data:[groupInfo]} = await db.collection('uni-im-group')
.doc(msgData.group_id)
.field({
type: true,
type: true
})
.get()
senderConversation.group_type = groupInfo?.type
// 群聊只为当前用户创建会话
await dbUniImConversation.add(senderConversation)
} else {
// 2.消息接收者 会话数据
receiverConversation = {
...senderConversation,
unread_count: 1,
user_id: msgData.to_uid,
friend_uid: msgData.from_uid
const newConversation = [senderConversation]
// 如果不是:用户自己给自己发消息
if (msgData.to_uid != msgData.from_uid) {
// 2.消息接收者 会话数据
receiverConversation = {
...senderConversation,
unread_count: 1,
user_id: msgData.to_uid,
friend_uid: msgData.from_uid
}
newConversation.push(receiverConversation)
}
// 单聊,同时为收发双方创建此会话
await dbUniImConversation.add([senderConversation, receiverConversation])
await dbUniImConversation.add(newConversation)
}
} else {
// 会话已存在,更新相关内容
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册