|
|
@ -99,6 +99,8 @@ export const useChatStore = defineStore('chatStore', () => { |
|
|
|
// 定义消息发送、接受的状态用于控制滚动条的滚动
|
|
|
|
const messageSendStatus = ref(false) |
|
|
|
const messageReceiveStatus = ref(false) |
|
|
|
// 群成员列表抽屉是否显示
|
|
|
|
const groupMemberDrawerVisible = ref(false) |
|
|
|
|
|
|
|
// 群成员列表
|
|
|
|
const groupMemberList = ref<any[]>([]) |
|
|
@ -1260,43 +1262,66 @@ export const useChatStore = defineStore('chatStore', () => { |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// 清空聊天记录
|
|
|
|
// 清空聊天记录
|
|
|
|
const clearChatRecord = async () => { |
|
|
|
// 删除我发送给对方的记录
|
|
|
|
// 清空发送的聊天记录
|
|
|
|
const clearSentMessages = async () => { |
|
|
|
const whereObjSent = { |
|
|
|
toUserId: targetChatId.value, |
|
|
|
userId: userInfo.value.id |
|
|
|
}; |
|
|
|
const resSent = await db.deleteByWhere("workbenchChatRecord", whereObjSent); |
|
|
|
if (resSent >= 0) { |
|
|
|
// 更新chatList中的预览消息
|
|
|
|
chatList.value.forEach((item: any) => { |
|
|
|
if (item.chatId === targetChatId.value) { |
|
|
|
item.previewMessage = "快开始打招呼吧!"; |
|
|
|
} |
|
|
|
}); |
|
|
|
return true |
|
|
|
} else { |
|
|
|
return false |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
// 删除对方发送给我的记录
|
|
|
|
// 清空接收的聊天记录
|
|
|
|
const clearReceivedMessages = async () => { |
|
|
|
const whereObjReceived = { |
|
|
|
userId: targetChatId.value, |
|
|
|
toUserId: userInfo.value.id |
|
|
|
}; |
|
|
|
const resReceived = await db.deleteByWhere("workbenchChatRecord", whereObjReceived); |
|
|
|
if (resReceived >= 0) { |
|
|
|
|
|
|
|
// 检查两个删除操作是否都成功
|
|
|
|
if (resSent == 1 && resReceived == 1) { |
|
|
|
// 更新chatHistory,移除相关记录
|
|
|
|
chatHistory.value = chatHistory.value.filter((item: any) => |
|
|
|
!(item.toUserId === targetChatId.value && item.userId === userInfo.value.id) && |
|
|
|
!(item.userId === targetChatId.value && item.toUserId === userInfo.value.id) |
|
|
|
); |
|
|
|
// 更新chatList中的预览消息
|
|
|
|
chatList.value.forEach((item: any) => { |
|
|
|
if (item.chatId === targetChatId.value) { |
|
|
|
item.previewMessage = "快开始打招呼吧!"; |
|
|
|
} |
|
|
|
}); |
|
|
|
return true |
|
|
|
} else { |
|
|
|
return false |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
// 清空群消息
|
|
|
|
const clearGroupMessages = async () => { |
|
|
|
const res = await db.deleteByField("workbenchGroupChatRecord", "chatId", targetChatId.value); |
|
|
|
if (res >= 0) { |
|
|
|
// 还需要找到
|
|
|
|
getSessionInfo(targetChatId.value, "group") |
|
|
|
// 更新chatList中的预览消息
|
|
|
|
chatList.value.forEach((item: any) => { |
|
|
|
if (item.chatId === targetChatId.value) { |
|
|
|
item.previewMessage = "快开始打招呼吧!"; |
|
|
|
} |
|
|
|
}); |
|
|
|
notifySuccess("清空成功"); |
|
|
|
return; |
|
|
|
notifySuccess("删除成功"); |
|
|
|
} else { |
|
|
|
notifyError("删除失败"); |
|
|
|
} |
|
|
|
notifyError("清空失败"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return { |
|
|
|
emojiList, |
|
|
|
groupSystemMessage, |
|
|
@ -1334,6 +1359,7 @@ export const useChatStore = defineStore('chatStore', () => { |
|
|
|
messageSendStatus, |
|
|
|
messageReceiveStatus, |
|
|
|
groupMembers, |
|
|
|
groupMemberDrawerVisible, |
|
|
|
initChat, |
|
|
|
showContextMenu, |
|
|
|
setCurrentNavId, |
|
|
@ -1358,6 +1384,8 @@ export const useChatStore = defineStore('chatStore', () => { |
|
|
|
setScrollToBottom, |
|
|
|
getGroupMemberList, |
|
|
|
getInviteUserList, |
|
|
|
clearChatRecord, |
|
|
|
clearReceivedMessages, |
|
|
|
clearSentMessages, |
|
|
|
clearGroupMessages |
|
|
|
}; |
|
|
|
}); |