This commit is contained in:
oneao committed 2026-01-03 22:02:11 +08:00
1 parent c26d1b3c81
commit fac3206497
24 files changed
+364 -284

No files matched your search

@@ -14,7 +14,10 @@ import { generateUUID } from '@/utils/uuid'
const props = defineProps({
group: { type: Object as PropType<ImGroup>, required: true },
})
const emits = defineEmits<{
(e: 'avatarClick', id: number): void
(e: 'userClick', groupUser: ImGroupUser): void
}>()
// websocket
const websocket = useWebSocket()
@@ -270,6 +273,14 @@ async function sendMessage() {
await nextTick()
scrollToLatestMessage()
}
function handleClickAvatar(userId: number) {
emits('avatarClick', userId)
}
function handleClickGroupUser(groupUser: ImGroupUser) {
emits('userClick', groupUser)
}
</script>
<template>
@@ -293,7 +304,7 @@ async function sendMessage() {
? 'im__chat-message--from'
: 'im__chat-message--to'"
>
<div class="im__chat-message-avatar">
<div class="im__chat-message-avatar" @click="handleClickAvatar(item.senderId)">
<SafeImage :url="item.senderAvatar" :size="40" round />
</div>
<div class="im__chat-message-body">
@@ -363,7 +374,7 @@ async function sendMessage() {
</div>
<div class="im__group-section-body">
<div v-for="item in groupUsers" :key="item.userId" class="im__group-item">
<div v-for="item in groupUsers" :key="item.userId" class="im__group-item" @click="handleClickGroupUser(item)">
<el-badge
is-dot
:color="item.isOnline ? '#24e68a' : '#bfbfbf'"