!675 fix: mall kefu

Merge pull request !675 from puhui999/devlop
pull/678/MERGE
芋道源码 2025-01-23 04:26:29 +00:00 committed by Gitee
commit 951ce1cf50
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 40 additions and 34 deletions

View File

@ -279,8 +279,9 @@ const handleSendMessage = async (event: any) => {
return
}
// 1.
if (isEmpty(unref(message.value))) {
if (isEmpty(unref(message.value)?.trim())) {
messageTool.notifyWarning('请输入消息后再发送哦!')
message.value = ''
return
}
// 2.

View File

@ -37,40 +37,45 @@ const { data, close, open } = useWebSocket(server.value, {
})
/** 监听 WebSocket 数据 */
watchEffect(() => {
if (!data.value) {
return
watch(
() => data.value,
(newData) => {
if (!newData) return
try {
// 1.
if (newData === 'pong') return
// 2.1 type
const jsonMessage = JSON.parse(newData)
const type = jsonMessage.type
if (!type) {
message.error('未知的消息类型:' + newData)
return
}
// 2.2 KEFU_MESSAGE_TYPE
if (type === WebSocketMessageTypeConstants.KEFU_MESSAGE_TYPE) {
const message = JSON.parse(jsonMessage.content)
//
kefuStore.updateConversation(message.conversationId)
//
keFuChatBoxRef.value?.refreshMessageList(message)
return
}
// 2.3 KEFU_MESSAGE_ADMIN_READ
if (type === WebSocketMessageTypeConstants.KEFU_MESSAGE_ADMIN_READ) {
//
kefuStore.updateConversationStatus(jsonParse(jsonMessage.content))
}
} catch (error) {
console.error(error)
}
},
{
immediate: false //
}
try {
// 1.
if (data.value === 'pong') {
return
}
// 2.1 type
const jsonMessage = JSON.parse(data.value)
const type = jsonMessage.type
if (!type) {
message.error('未知的消息类型:' + data.value)
return
}
// 2.2 KEFU_MESSAGE_TYPE
if (type === WebSocketMessageTypeConstants.KEFU_MESSAGE_TYPE) {
const message = JSON.parse(jsonMessage.content)
//
kefuStore.updateConversation(message.conversationId)
//
keFuChatBoxRef.value?.refreshMessageList(message)
return
}
// 2.3 KEFU_MESSAGE_ADMIN_READ
if (type === WebSocketMessageTypeConstants.KEFU_MESSAGE_ADMIN_READ) {
//
kefuStore.updateConversationStatus(jsonParse(jsonMessage.content))
}
} catch (error) {
console.error(error)
}
})
)
// ======================= WebSocket end =======================
/** 加载指定会话的消息列表 */