Commit 58343dae authored by chenqikuai's avatar chenqikuai

fix: 修复删除消息时的bug

parent 2ccd1b9e
...@@ -28,11 +28,37 @@ export default class ChatMessageDB extends MyAppDatabase { ...@@ -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) { 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) { } 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 { } else {
throw new Error('没有uuid或者logid') throw new Error('没有uuid或者logid')
} }
......
...@@ -3,7 +3,7 @@ import { DisplayMessage } from '@/store/messagesStore' ...@@ -3,7 +3,7 @@ import { DisplayMessage } from '@/store/messagesStore'
import { iContact, iUserinfo } from '@/service/UserService/types' import { iContact, iUserinfo } from '@/service/UserService/types'
export interface iChatMessage extends DisplayMessage { export interface iChatMessage extends DisplayMessage {
masterId: string masterId: string // 这条消息展示在谁的页面上
} }
export interface iChatListCard { export interface iChatListCard {
......
...@@ -69,6 +69,8 @@ export default defineComponent({ ...@@ -69,6 +69,8 @@ export default defineComponent({
const optionList = [ const optionList = [
{ name: '常用问题', id: 1 }, { name: '常用问题', id: 1 },
{ name: '人工服务', id: 2 },
{ name: '电话咨询', id: 3 },
]; ];
const setShowSentences = (show: boolean) => const setShowSentences = (show: boolean) =>
...@@ -92,6 +94,10 @@ export default defineComponent({ ...@@ -92,6 +94,10 @@ export default defineComponent({
} else { } else {
setShowSentences(false) setShowSentences(false)
} }
if (selectedChatOption.value === 3) {
}
}) })
const useSentence = (content: string) => { const useSentence = (content: string) => {
...@@ -150,8 +156,6 @@ export default defineComponent({ ...@@ -150,8 +156,6 @@ export default defineComponent({
}) })
return { return {
connectionState, connectionState,
selected, selected,
......
...@@ -157,7 +157,7 @@ export default defineComponent({ ...@@ -157,7 +157,7 @@ export default defineComponent({
const textMsgActions = [ 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 }); ChatMessageDB.getInstance().deleteMsg({ uuid: data.uuid, logid: data.logid });
const index = messageStore.messages.findIndex(i => { const index = messageStore.messages.findIndex(i => {
return i.uuid === data.uuid 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