Commit 58343dae authored by chenqikuai's avatar chenqikuai

fix: 修复删除消息时的bug

parent 2ccd1b9e
......@@ -28,11 +28,37 @@ export default class ChatMessageDB extends MyAppDatabase {
})
}
deleteMsg({ uuid, logid }: { uuid?: string; logid?: string }) {
async deleteMsg({ uuid, logid }: { uuid?: string; logid?: string }) {
const updateChatList = async (masterId: string, target: string) => {
const latestedMsg = await this.chatMessage
.filter((i) => i.masterId === masterId && i.target == target)
.last()
if (latestedMsg) {
/* 如果和target还有聊天消息 */
// latestedMsg.content.content
this.chatListCard
.filter((i) => i.masterId === masterId && i.targetId === target)
.modify((i) => (i.content = latestedMsg.content.content as string))
} else {
/* 如果和target没有聊天消息 */
this.chatListCard
.filter((i) => i.masterId === masterId && i.targetId === target)
.modify((i) => (i.content = ''))
}
}
if (uuid) {
return this.chatMessage.where('uuid').equals(uuid).delete()
// console.log(uuid, 'uuid')
const item = await this.chatMessage.where('uuid').equals(uuid).first()
// console.log(item, 'delted msg')
await this.chatMessage.where('uuid').equals(uuid).delete()
item && updateChatList(item?.masterId, item?.target as string)
} else if (logid) {
return this.chatMessage.where('logid').equals(logid).delete()
// console.log(logid, 'logid')
const item = await this.chatMessage.where('logid').equals(logid).first()
await this.chatMessage.where('logid').equals(logid).delete()
item && updateChatList(item?.masterId, item?.target as string)
} else {
throw new Error('没有uuid或者logid')
}
......
......@@ -3,7 +3,7 @@ import { DisplayMessage } from '@/store/messagesStore'
import { iContact, iUserinfo } from '@/service/UserService/types'
export interface iChatMessage extends DisplayMessage {
masterId: string
masterId: string // 这条消息展示在谁的页面上
}
export interface iChatListCard {
......
......@@ -69,6 +69,8 @@ export default defineComponent({
const optionList = [
{ name: '常用问题', id: 1 },
{ name: '人工服务', id: 2 },
{ name: '电话咨询', id: 3 },
];
const setShowSentences = (show: boolean) =>
......@@ -92,6 +94,10 @@ export default defineComponent({
} else {
setShowSentences(false)
}
if (selectedChatOption.value === 3) {
}
})
const useSentence = (content: string) => {
......@@ -150,8 +156,6 @@ export default defineComponent({
})
return {
connectionState,
selected,
......
......@@ -157,7 +157,7 @@ export default defineComponent({
const textMsgActions = [
{
text: '删除', cb(data: { content: any, uuid: string, logid?: string }) {
text: '删除', cb(data: { content: any, uuid: string, logid?: string, }) {
ChatMessageDB.getInstance().deleteMsg({ uuid: data.uuid, logid: data.logid });
const index = messageStore.messages.findIndex(i => {
return i.uuid === data.uuid
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment