From 7886f260d492eec450589c382087663b801e1d0e Mon Sep 17 00:00:00 2001 From: yinkang Date: Fri, 27 Jun 2025 15:12:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E5=BC=95=E7=94=A8=E6=B6=88=E6=81=AF=E7=9A=84=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/inner/panel/PanelContent.vue | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/views/message/inner/panel/PanelContent.vue b/src/views/message/inner/panel/PanelContent.vue index df3e33e..ecf61f0 100644 --- a/src/views/message/inner/panel/PanelContent.vue +++ b/src/views/message/inner/panel/PanelContent.vue @@ -3,7 +3,7 @@ import { watch, onMounted, ref, nextTick, onUnmounted } from 'vue' import { NDropdown, NCheckbox, NPopover, NInfiniteScroll } from 'naive-ui' import { Loading, MoreThree, ToTop } from '@icon-park/vue-next' import { bus } from '@/utils/event-bus' -import { useDialogueStore } from '@/store' +import { useDialogueStore, useTalkStore } from '@/store' import { formatTime, parseTime } from '@/utils/datetime' import { clipboard, htmlDecode, clipboardImage } from '@/utils/common' import { downloadImage } from '@/utils/functions' @@ -19,8 +19,11 @@ import RevokeMessage from '@/components/talk/message/RevokeMessage.vue' import { voiceToText, ServeMessageReadDetail } from '@/api/chat.js' import { confirmBox } from '@/components/confirm-box/service.js' import ws from '@/connect' +import { useRouter } from 'vue-router' import avatarModule from '@/components/avatar-module/index.vue' +const router = useRouter() + // 定义消息已读状态接口 interface ReadStatus { msg_ids: string[] @@ -86,11 +89,28 @@ const { dropdown, showDropdownMenu, closeDropdownMenu, isOneMonthBefore } = useM const { showUserInfoModal } = useInject() const dialogueStore = useDialogueStore() const userStore = useUserStore() +const talkStore = useTalkStore() // const showUserInfoModal = (uid: number) => { // userStore.getUserInfo(uid) // } // 置底按钮 const skipBottom = ref(false) +const goToMessage = (result) => { + const talk_type = props.talk_type + const receiver_id = props.receiver_id + dialogueStore.specifiedMsg = encodeURIComponent( + JSON.stringify({ + talk_type, + receiver_id, + msg_id: result.msg_id, + cursor: result.sequence - 15 > 0 ? result.sequence - 15 : 0, + direction: 'down', + sort_sequence: 'asc', + create_time: result.created_at + }) + ) + talkStore.toTalk(talk_type, receiver_id, router) +} // 是否显示消息时间 const isShowTalkTime = (index: number, datetime: string) => { if (datetime == undefined) { @@ -908,11 +928,11 @@ const onCustomSkipBottomEvent = () => { --> - +
@@ -1057,6 +1077,7 @@ const onCustomSkipBottomEvent = () => { &.border { border-radius: 10px; border: 1px solid var(--im-primary-color); + background-color: red; } } -- 2.45.2