|
@@ -16,6 +16,7 @@ import { KeFuConversationRespVO } from '@/api/mall/promotion/kefu/conversation'
|
|
|
import { getRefreshToken } from '@/utils/auth'
|
|
|
import { useWebSocket } from '@vueuse/core'
|
|
|
import { useMallKefuStore } from '@/store/modules/mall/kefu'
|
|
|
+import { jsonParse } from '@/utils'
|
|
|
|
|
|
defineOptions({ name: 'KeFu' })
|
|
|
|
|
@@ -30,6 +31,7 @@ const server = ref(
|
|
|
) // WebSocket 服务地址
|
|
|
|
|
|
/** 发起 WebSocket 连接 */
|
|
|
+// TODO puhui999: websocket 连接有点问题收不到消息 🤣
|
|
|
const { data, close, open } = useWebSocket(server.value, {
|
|
|
autoReconnect: true,
|
|
|
heartbeat: true
|
|
@@ -45,9 +47,9 @@ watchEffect(() => {
|
|
|
if (data.value === 'pong') {
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
// 2.1 解析 type 消息类型
|
|
|
const jsonMessage = JSON.parse(data.value)
|
|
|
+ console.log(jsonMessage)
|
|
|
const type = jsonMessage.type
|
|
|
if (!type) {
|
|
|
message.error('未知的消息类型:' + data.value)
|
|
@@ -65,7 +67,7 @@ watchEffect(() => {
|
|
|
// 2.3 消息类型:KEFU_MESSAGE_ADMIN_READ
|
|
|
if (type === WebSocketMessageTypeConstants.KEFU_MESSAGE_ADMIN_READ) {
|
|
|
// 更新会话已读
|
|
|
- kefuStore.updateConversationStatus(JSON.parse(jsonMessage.content))
|
|
|
+ kefuStore.updateConversationStatus(jsonParse(jsonMessage.content))
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.error(error)
|