From c110dc9ad6e7d5537e8b87489dc2f0dbeebbd0e2 Mon Sep 17 00:00:00 2001 From: yinkang Date: Wed, 25 Jun 2025 09:37:36 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env/.env.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/.env.test b/env/.env.test index 43930b6..0382513 100644 --- a/env/.env.test +++ b/env/.env.test @@ -7,6 +7,6 @@ VUE_APP_PREVIEW=false #VITE_SOCKET_API=ws://192.168.88.21:9504 VITE_BASE_API=http://114.218.158.24:8503 VITE_SOCKET_API=ws://114.218.158.24:8504 -VITE_EPR_BASEURL=http://114.218.158.24:9020 +VITE_EPR_BASEURL=http://172.16.100.93:8503 VITE_PAGE_URL=http://172.16.100.93:9032 VUE_APP_WEBSITE_NAME="" \ No newline at end of file From 24c94a04adcddbd01bd5c99a7256f51e2827c9fa Mon Sep 17 00:00:00 2001 From: yinkang Date: Wed, 25 Jun 2025 11:56:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/message/inner/IndexContent.vue | 4 ++-- src/views/message/inner/panel/PanelContent.vue | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/views/message/inner/IndexContent.vue b/src/views/message/inner/IndexContent.vue index 3836627..e2ad11e 100644 --- a/src/views/message/inner/IndexContent.vue +++ b/src/views/message/inner/IndexContent.vue @@ -146,7 +146,7 @@ watch( ServeCheckFriend({ receiver_id: newValue.receiver_id, talk_type: 1 }).then((res) => { if (res?.code === 200) { console.log(res, 'ress') - isFriend.value = !res.data.is_friend + isFriend.value = res.data.is_friend } }) } @@ -537,7 +537,7 @@ const clearSelectedDateTime = () => {
{ } const onRowClick = (item: ITalkRecord) => { - if (dialogueStore.isOpenMultiSelect && isOneMonthBefore(item.created_at.split(' ')[0])) { + if (dialogueStore.isOpenMultiSelect) { + if (!isOneMonthBefore(item.created_at.split(' ')[0])) { + return useMessage.info('只支持转发近一个月内的消息') + } console.log('item.msg_type', item.msg_type) if (ForwardableMessageType.includes(item.msg_type)) { item.isCheck = !item.isCheck } else { useMessage.info('此类消息不支持转发') } - } else { - useMessage.info('只支持转发近一个月内的消息') } } From 7886f260d492eec450589c382087663b801e1d0e Mon Sep 17 00:00:00 2001 From: yinkang Date: Fri, 27 Jun 2025 15:12:55 +0800 Subject: [PATCH 3/3] =?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; } }